|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
Опции темы | Поиск в этой теме |
30.04.2009, 18:02 | #1 |
Регистрация: 29.04.2009
Сообщений: 7
|
проблеми з сортировкой помогите!!!
у миня задача создать программу для утчота учбових закладов з клавиатури вводица имя учириждения, факультет, дата прийома и проходной бал и ета все мает храница в одельном файле!!!! но проблема в том штоби посортувати ети заклади за прохидним балом!!! уминя никак не получаеця уже ниделю!!!! помогите !!!
в чом моя проблема #include <iostream.h> #include <conio.h> #include <stdlib.h> #include <stdio.h> #include <string.h> #include <iomanip.h> struct institut { char inst[20]; char fac[20]; char spec[10]; int plan ; int bal; int hold; int stnum; }; int i,j; FILE *fp; //*********************************** * void input() { //float bal; institut vuz[10]; int zak_vvedenia; if (fp!=NULL) remove("fp.dat"); else { fp=fopen("fp.dat","wb"); i=0; do { cout<<"institut"<<endl; cin>>vuz[i].inst; cout<<"facultet"<<endl; cin>>vuz[i].fac; cout<<"specialnist"<<endl; cin>>vuz[i].spec; cout<<"plan priomu"<<endl; cin>>vuz[i].plan; cout<<"prohidnii bal"<<endl; cin>>vuz[i].bal; j=0; { //*************************** j++; } ; cout<<"contunue input? y/n"<<endl; zak_vvedenia=getch(); fwrite(&vuz[i],sizeof(institut),1,fp); i++; } while(zak_vvedenia!='n'); fclose(fp); } getch(); } void read_from_file() { institut vuz; //subject predmet; if (!(fp=fopen("fp.dat","rb"))) cerr<<"file do not exist!"; else { cout<<setw(20)<<"it is file:"<<endl; //fread(&predmet,sizeof(subject),1,fp ); fread(&vuz,sizeof(institut),1,fp); while (!feof(fp)) { cout<<"----institut------fakultet-----specialnist-----plan priomu-----prohid bal--"<<endl; cout.setf(ios::left+3); //*********************************** ****** cout<<setw(12)<<vuz.inst<<setw(12)< <vuz.fac<<setw(14)<<vuz.spec<<setw( 20)<<vuz.plan<<setw(12)<<vuz.bal<<e ndl; for(j=0;j<vuz.stnum;j++) { cout.setf(ios::left); } fread(&vuz,sizeof(institut),1,fp); } fclose(fp); } getch(); } //***************************sort**** *************************** void sort() { float sr[10]; institut vuz[10]; if(!(fp=fopen("fp.dat","rb"))) cerr<<"file do not exist!"; else { i=0; fread(&vuz,sizeof(institut),1,fp); while(!feof(fp)) { sr[i]=0; for(j=0;j<vuz[i].stnum;j++) sr[i]+=vuz[i].bal; sr[i]=float(sr[i])/vuz[i].stnum; i++; fread(&vuz,sizeof(institut),1,fp); } fclose(fp); int prep=i; cout<<"subject\'s average ball"<<endl; for(i=0;i<prep;i++) { cout.setf(ios::left); cout<<setw(10)<<vuz[i].bal<<setw(5)<<sr[i]<<endl; } cout<<"subject with the highest ball: "<<endl; float max=sr[0]; int predmet=0; for(i=1;i<prep;i++) if (max<sr[i]) { max=sr[i]; predmet=i; } cout<<"max ball="<<max; } getch(); } //*********************************** ********************** void main() { while(1) { clrscr(); cout<<" MENU \n"<<endl; cout<<"1.vvedenia institutu"<<endl; cout<<"2.chitati informaciu"<<endl; cout<<"3.sort"<<endl; //cout<<"4.view student database"<<endl; //cout<<"5.list of subject with the highest ball"<<endl; //cout<<"6.stypend"<<endl; //cout<<"7.stypend found"<<endl;*/ cout<<"8.exit"<<endl; cout<<endl; int key; cout<< "chosed menu item:"; cin>>key; switch(key) { case 1: {input(); break;} case 2: {read_from_file();break;} case 3: {sort();break;} //case 4: {list_student();break;} //case 5: {maxbal();break;} //case 6: {stipendia();break;} //case 7: {fond();break;} case 8: {exit(0);break;} defaut: {cout<<"try anazer time...";getch();break;} } } } |
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Помогите с сортировкой | maxic | Microsoft Office Excel | 5 | 21.02.2009 17:47 |
Помогите с сортировкой в C++. | Vollmond36 | Помощь студентам | 1 | 02.12.2008 23:06 |
Помогите с сортировкой | AHTOXA | Общие вопросы Delphi | 2 | 08.06.2007 12:46 |
Помогите с сортировкой | radist | Паскаль, Turbo Pascal, PascalABC.NET | 5 | 23.04.2007 12:50 |