Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Скачиваний:
6
Добавлен:
01.05.2014
Размер:
5.69 Кб
Скачать
// 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