KOHCTPyKTOP T Опубликовано 29 июня, 2011 Жалоба Опубликовано 29 июня, 2011 #include #include #include #include void cozdanie();//sozdanie filavoid chtenie(); //chtenie iz fila v massivvoid uclovie(); //obrabotka massiva (nachislenie stipendii)void view_res();//vyvod resultatovint 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 hachaloFILE *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;elseif ((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», но активно-занимающийся общественной работой, также зачисляется на стипендию, в противном случае начисление стипендии не производится.В общем нужно чтобы она ещё находила группу с максимальной стипендией и выводила ее названиеПомогите пожалуйста не знаю уже что делать завтра сдавать(( Цитата
D_Master Опубликовано 30 июня, 2011 Жалоба Опубликовано 30 июня, 2011 В общем нужно чтобы она ещё находила группу с максимальной стипендией и выводила ее названиеДелаешь массив, читаешь все записи, для опр. группы делаешь сумму стипендий как отдельный элемент массива. После чтения ищешь макс. элемент. Цитата
KOHCTPyKTOP T Опубликовано 10 июля, 2011 Автор Жалоба Опубликовано 10 июля, 2011 А поподробнее можно? ) Цитата
Vsadnik665 Опубликовано 10 июля, 2011 Жалоба Опубликовано 10 июля, 2011 завтра сдавать((Все сроки вышли. Смело получай двойку))Ты хоть сам это все писал? Цитата
Рекомендуемые сообщения
Присоединяйтесь к обсуждению
Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.