
Добавил:
Studfiles2
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз:
Предмет:
Файл:Курсовая работа4 / KypcFirst
.hpp// KypcFirst.cpp : Defines the entry point for the console application.
//
#include "stdafx.h"
#include "stdio.h"
#include "stdlib.h"
#include "string.h"
#include "iostream.h"
struct stud
{
int group;
char name[10];
char mark[3];
int money;
int born;
int marriage;
char work[10];
};
void four(int kurs,int fak) //задача 4
{
int i=0; //счёт вывода
stud x; //студент
int kursfak=10*kurs+fak; //формула:считаем первые 2 цифры номера гр.
int sumgroup=0; //сумма стипендий группы
int sumfak=0; //сумма стипендий факультета
int TempGroup=-1; //проверяем смену группы в списке
FILE*text; //это понятно
char ycnex[10];
text=fopen("Text.txt","r");
while(!feof(text)) //читаем файл до конца
{
fscanf(text,"%d %s %d %d %d %s %s %s" , &x.group, &x.name , &x.money, &x.born , &x.marriage, &x.work, &x.mark, &ycnex );
if(x.money!=0) //хорошоуспевающий студент?
{
if(kursfak==x.group/100) //подходящий № группы?
{
if(TempGroup==-1) //первая гр. в списке?
{ //Да:
TempGroup=x.group; //запоминаем её номер
sumgroup=x.money; //плюсуем $
}
else //не первая группа в списке?
{
if(x.group!=TempGroup) //начало новой группы?
{
cout<<"\tsumgroup="<<sumgroup<<"\n\n"; //выводим$гр
sumfak+=sumgroup; //плюсуем $ф и $гр
sumgroup=x.money; //новая сумма $гр
TempGroup=x.group; //запоминаем №
cout<<"continue? [y] \n"; //пауза
char f;
cin>>f;
i=0; //обнуляем i
}
else sumgroup+=x.money;
};
char S[12]="not married"; //замена"1\0"в на текст
if (x.marriage) strcpy (S,"married ");
if(i==22) //организация паузы, если много строк
{
cout<<"\ncontinue? [y] \n";
char f;
cin>>f;
i=0;
};
cout<< "\n"<<x.name<<'\t'<<x.group<<'\t'<<S<<'\t'<<x.money;
i++;
};
};
};
if (sumgroup!=0)
{
cout<<"\tsumgroup="<<sumgroup<<"\t"<<"sum="<<sumfak+sumgroup<<'\n';
fclose(text);
};
};
void seven(int kurs,int fak)
{
int i=0;
stud x;
FILE*text;
int TempGroup=-1;
text=fopen("Text.txt","r");
char ycnex[10];
while(!feof(text))
{
fscanf(text,"%d %s %d %d %d %s %s %s" , &x.group, &x.name , &x.money, &x.born , &x.marriage, &x.work, &x.mark, &ycnex );
if(10*kurs+fak==x.group/100)
{
if (TempGroup==-1) TempGroup=x.group;
if(x.group!=TempGroup)
{
TempGroup=x.group;
cout<<"\ncontinue? [y] \n";
char f;
cin>>f;
i=0;
}
if(i==22)
{
cout<<"\ncontinue2? [y] \n";
char f;
cin>>f;
};
char K=' ';
if (kurs==0) K='0';
cout<< "\n"<<x.name<<'\t'<<x.mark<<'\t'<<x.born<<'\t'<<K<<x.group<<'\t'<<x.work;
i++;
};
};
fclose(text);
};
void eight(int kurs,int fak) //задача 8
{
int i=0; //счёт вывода
stud x; //студент х
int kursfak=10*kurs+fak; //формула:считаем первые 2 цифры номера гр.
FILE*text; //это понятно
text=fopen("Text.txt","r");
char ycnex[10]; //массив из 0 и 1,читаем из файла
while(!feof(text)) //читаем файл до конца
{
fscanf(text,"%d %s %d %d %d %s %s %s" , &x.group, &x.name , &x.money, &x.born , &x.marriage, &x.work, &x.mark, &ycnex);
if(x.money==0) //плохоуспевающий студент?
{
if(kursfak==x.group/100) //подходящий № группы?
{
if(i==22) //организация паузы, если много строк
{
cout<<"\ncontinue? [y] \n";
char f;
cin>>f;
i=0;
};
cout<< "\n"<<x.group<<'\t'<<x.name<<'\t'; //вывод найденного
char ekzname[5][6]={ //инициализация массива с
{"math"}, //названиями предметов
{"alg"},
{"cuaod"},
{"TOE"},
{"EngL"} };
int j; //счет шагов цикла
for(j=0;j<5;j++) //ищем в массиве "успех" 0,
{ //заменяем их на соотв. названия
if(ycnex[j]=='0') cout<<ekzname[j]<<';'; //выводим
};
i++;
};
};
};
};
int choose(char f)
{
int fak;
int kurs;
int year;
int choos;
m1: cout<<"9-BblXOD\n";
if(f=='o')
{cout<<"0-ask HIM to register you\n";}
else {
cout<<"4-BbIBOD no ctuneHDuu\n";
cout<<"7-BbIBOD BbInycKHuKOB\n";
cout<<"8-BbIBOD DOL>I<HuKOB\n";
cout<<"*********************\n";
if(f=='r') cout<<"0-newuser\n";
if(f=='u') cout<<"0-change profile\n";
};
cin>>choos;
if (choos==4)
{
cout<<"God na4aLo y4ebnogo? \n"; cin>>year; if (year<1900) {cout<<"error!";return 0;};
cout<<"kurs? \n"; cin>>kurs; if (!(0<kurs<7)) {cout<< "error!";return 0;};
cout<<"fakyl'tet N? \n"; cin>>fak; if (!(0<fak<9)) {cout<<"error!"; return 0;};
kurs=(year+1-kurs)%10;
four(kurs,fak);
return 1;
}
if (choos==7)
{
cout<<"God,na4aLo y4ebnogo? \n"; cin>>year; if (1900>year) {cout<<"error!";return 0;};
cout<<"fakyl'tet N? \n"; cin>>fak; if (!(0<fak<9)) {cout<<"error!"; return 0;};
kurs=(year-5)%10;
seven(kurs,fak);
return 1;
}
if (choos==8)
{
cout<<"God na4aLo y4ebnogo? \n"; cin>>year; if (year<1900) {cout<<"error!";return 0;};
cout<<"kurs? \n"; cin>>kurs; if (!(0<kurs<7)) {cout<< "error!";return 0;};
cout<<"fakyl'tet N? \n"; cin>>fak; if (!(0<fak<9)) {cout<<"error!"; return 0;};
kurs=(year+1-kurs)%10;
eight(kurs,fak);
return 1;
}
if(choos==0) return 7;
if(choos==9) return 10;
cerr<<"aaaaa!error!\n";goto m1;
};
/*int main()
{
int g;
while (1)
{
g=choose();
cout<<"\ncontinue2? [1/0] \n";
int f;
cin>>f;
if(f==0) break;
};
return 0;
};*/
Соседние файлы в папке Курсовая работа4