Перейти к содержанию

Условие в программе


Рекомендуемые сообщения

#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», но активно-занимающийся общественной работой, также зачисляется на стипендию, в противном случае начисление стипендии не производится.

В общем нужно чтобы она ещё находила группу с максимальной стипендией и выводила ее название

Помогите пожалуйста не знаю уже что делать завтра сдавать(( :help::help:

Ссылка на комментарий
В общем нужно чтобы она ещё находила группу с максимальной стипендией и выводила ее название

Делаешь массив, читаешь все записи, для опр. группы делаешь сумму стипендий как отдельный элемент массива. После чтения ищешь макс. элемент.

Ссылка на комментарий
  • 2 недели спустя...

Пожалуйста, войдите, чтобы комментировать

Вы сможете оставить комментарий после входа в



Войти
  • Последние посетители   0 пользователей онлайн

    • Ни одного зарегистрированного пользователя не просматривает данную страницу
×
×
  • Создать...