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 завтра сдавать((Все сроки вышли. Смело получай двойку))Ты хоть сам это все писал? Ссылка на комментарий
Рекомендуемые сообщения
Пожалуйста, войдите, чтобы комментировать
Вы сможете оставить комментарий после входа в
Войти