#include #include #include #include void cozdanie();//sozdanie fila void chtenie(); //chtenie iz fila v massiv void uclovie(); //obrabotka massiva (nachislenie stipendii) void view_res();//vyvod resultatov int stud_kol=0; struct student { char fam[15]; int nom,math,fiz,graf,inf,angl,work; }; struct student_salary // informaciya po nachisleniyu stipendii {student mark; //structura s ozenkami int stipend; //nachislennaya stipendia } stud[30]; void main() { char b; textbackground(13); clrscr(); while(b!='4') { textbackground(9); window(4,10,76,50); clrscr(); textcolor(7); gotoxy(10,2); cout<<" menu"; gotoxy(4,3); cout<<"1.Sozdat"; gotoxy(4,4); cout<<"2.Obrabotka"; gotoxy(4,5); cout<<"3.pokaz"; gotoxy(4,6); cout<<"4.vix"; gotoxy(4,7); cout<<"vib punkt:"; gotoxy(14,7); b=getch(); switch( { case '1':cozdanie();break; case '2':chtenie();break; case '3':view_res();break; } } } void cozdanie() { //cozd hachalo FILE *S; student ddd; int i,n; clrscr(); S=fopen("stud1.dt","w"); cout<<"vedite kol studentov:"; cin>>n; clrscr(); for(i=1;i<=n;i++) { gotoxy(20,1);cout<<"Student #"<gotoxy(2,3);cout<<" vedite famil:"; cin>>ddd.fam; gotoxy(2,4);cout<<"vedite nomer gryppi: "; cin>>ddd.nom; gotoxy(2,5);cout<<" exam po matematike: "; cin>>ddd.math; gotoxy(2,6);cout<<" exam po FIZIKE: "; cin>>ddd.fiz; gotoxy(2,7);cout<<"exam po INFORMATIKE: "; cin>>ddd.inf; gotoxy(2,8);cout<<" exam po ENGLISH: "; cin>>ddd.angl; gotoxy(2,9);cout<<" exam po GRAFIKE: "; cin>>ddd.graf; gotoxy(2,10);cout<<" oshestv pabota: "; cin>>ddd.work; clrscr(); fwrite(&ddd,sizeof(struct student),1,S); } // cout<fclose(S); } void chtenie() { FILE *S; student ddd;int i,n,p; clrscr(); stud_kol=0; S=fopen("stud1.dt","r"); while(1) { if (!fread(&ddd,sizeof(struct student),1,S)) { break;} stud_kol++; stud[stud_kol].mark=ddd; } fclose(S); gotoxy(8,2);cout<<"Zagruzka informazii po Studentam ZAVERSHENA!!!"; uclovie(); //Funkciya nachisleniya stipendii gotoxy(8,4);cout<<"Obrabotka ZAVERSHENA!!! nazhmite lubuyu klavishu..."; getch(); //cout<<"stud_1="< gotoxy(8,8);cout<<"Sozdaite file s dannymi o studentah!!!"; } else { for(i1=1;i1<=stud_kol;i1++) { k3=0; stud[i1].stipend=1000; sr=stud[i1].mark.math+stud[i1].mark.graf+stud[i1].mark.inf+ stud[i1].mark.angl+stud[i1].mark.fiz; if ((stud[i1].mark.math<=3)&&(stud[i1].mark.math>2)) k3++; if ((stud[i1].mark.fiz<=3)&&(stud[i1].mark.fiz>2)) k3++; if ((stud[i1].mark.inf<=3)&&(stud[i1].mark.inf>2)) k3++; if ((stud[i1].mark.angl<=3)&&(stud[i1].mark.angl>2)) k3++; if ((stud[i1].mark.graf<=3)&&(stud[i1].mark.graf>2)) k3++; if (k3==0) stud[i1].stipend=1000; else if ((k3==1)&&(stud[i1].mark.work==1)) stud[i1].stipend=1000; else stud[i1].stipend=0; if(sr<19) stud[i1].stipend=0; if((stud[i1].mark.work==1)&&(sr==25)) stud[i1].stipend=1500; if((stud[i1].mark.work==0)&&(sr==25)) stud[i1].stipend=1250; gotoxy(10,5+i1);cout<} } } void view_res() { int i1=0,k3=0; int nomer; clrscr(); gotoxy(10,2);cout<<"vvedite nom gruppy:"; cin>>nomer; goody(1,3);cout<<" "; gotoxy(1,4);cout<<" Familia Matem Fisik inform Graf Engl SocWorkі Stipendia "; gotoxy(1,5);cout<<" for(i1=1;i1<=stud_kol;i1++) { if(stud[i1].mark.nom==nomer) { gotoxy(1,6+k3);cout<<"і"<gotoxy(18,6+k3);cout<<"і"<gotoxy(24,6+k3);cout<<"і"<gotoxy(30,6+k3);cout<<"і"<gotoxy(37,6+k3);cout<<"і"<gotoxy(42,6+k3);cout<<"і"<if (stud[i1].mark.work==1) {gotoxy(47,6+k3);cout<<"і"<<"Activ";} else {gotoxy(47,6+k3);cout<<"і"<<"non-Act";} gotoxy(55,6+k3);cout<<"і"<gotoxy(70,6+k3);cout<<"і"; k3++; } } gotoxy(1,6+k3);cout<<" "; getch(); } В общем она создает файл, содержащий сведения о сдаче студентами первого курса сессии. Структура записи – Индекс группы, фамилия студента, оценки по пяти экзаменам, признак участия в общественной работе: «1»- активное участие, «0»- не участие. Количество записей -30, из них три группы по 10 человек. И начисляет студентам группы Х по ведомости стипендию. Студент, получивший все оценки «5» и активно участвующий в общественной работе, получает повышенную стипендию- доплата 50 %, не активно участвует – 25 %. Студенты , получившие «4» и «5» , зачисляются на обычную стипендию. Студент получивший одну оценку «3», но активно-занимающийся общественной работой, также зачисляется на стипендию, в противном случае начисление стипендии не производится. В общем нужно чтобы она ещё находила группу с максимальной стипендией и выводила ее название Помогите пожалуйста не знаю уже что делать завтра сдавать((