Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
lorem ipsum (Автосохраненный).docx
Скачиваний:
0
Добавлен:
01.07.2025
Размер:
9 Мб
Скачать
☆
  1. Код программы:

#pragma argsused

#pragma argsused

#include <iostream.h>

#include <fstream.h>

#include <conio.h>

#include <iomanip>

int i,j;

struct VUZ

{

char name[20];

char adres[20];

};

struct SPEC

{

char vuze[10][20];

};

struct RATES

{

float day;

float vecher;

float zaochka;

};

struct PRICES

{

float price;

};

class bd

{

private:

int n,m;

VUZ vuz[10];

SPEC spec[10];

RATES rates[10];

PRICES prices[10];

public:

bd() {n=0;m=0;}

void input_vuz();

void input_spec();

void input_rates();

void input_prices();

void output_vuz();

void output_spec();

void output_rates();

void output_prices();

void all_about_vuz();

void all_about_spec();

void poisk();

void Min();

void Add_Vuz();

void Del_Vuz();

~bd(){};

};

//-----------------------------------------

void bd::input_vuz()

{

int k;

k=1;

cout<<"Vvedite kol-vo vuzov: ";

cin>>n;

cout<<endl;

system("cls");

for (i=0;i<n;i++)

{

cout<<"Naimenovanie VUZa #"<<k<<": ";

cin>>vuz[i].name;

k++;

}

k=1;

system("cls");

for (i=0;i<n;i++)

{

cout<<"Adres VUZa #"<<k<<": ";

cin>>vuz[i].adres;

k++;

}

k=1;

ofstream fout("VUZ.txt");

for(i=0;i<n;i++)

fout<<vuz[i].name<<" "<<vuz[i].adres<<"\n";

fout.close();

}

//-----------------------------------------

void bd::input_spec()

{

// n=2;

cout<<"Vvedite kol-vo spec: ";

cin>>m;

system("cls");

cout<<"Vvedite po "<<m<<" spec na kazhdiy VUZ"<<endl;

for (i=0;i<n;i++)

for (j=0;j<m;j++)

{

cout<<"Naimenovanie spec ";

cin>>spec[i].vuze[j];

}

ofstream fout("SPEC.txt");

for(i=0;i<n;i++)

for(j=0;j<m;j++)

fout<<spec[i].vuze[j]<<"\n";

fout.close();

}

//-----------------------------------------------

void bd::input_rates()

{

cout<<"Vvedite konkurs na specialnosti"<<endl;

//--------------------

ifstream fin("SPEC.txt");

for(i=0;i<n;i++)

for(j=0;j<m;j++)

fin>>spec[i].vuze[j];

fin.close();

//-----------------------

for(i=0;i<n;i++) {

for(j=0;j<m;j++)

{

cout<<spec[i].vuze[j]<<endl;

}

cout<<endl;

}

for(i=0;i<m*n;i++)

{

cout<<endl;

cout<<"Day rate: ";

cin>>rates[i].day;

cout<<"Day vecher: ";

cin>>rates[i].vecher;

cout<<"Day zaochka: ";

cin>>rates[i].zaochka;

cout<<"OK"<<endl;

}

//--------------------

ofstream fout("RATES.txt");

for(i=0;i<m*n;i++)

fout<<rates[i].day<<" "<<rates[i].vecher<<" "<<rates[i].zaochka<<"\n";

fout.close();

}

//-----------------------------------------

void bd:: input_prices()

{

//--------------- -------------

ifstream fin("SPEC.txt");

for(i=0;i<n;i++)

for(j=0;j<m;j++)

fin>>spec[i].vuze[j];

fin.close();

//-------------------------------

for(i=0;i<n;i++)

for(j=0;j<m;j++)

cout<<"Price at "<<spec[i].vuze[j]<<endl;

cout<<endl<<"Vvedite prices"<<endl;

for(i=0;i<n*m;i++)

{

cout<<"Price: ";

cin>>prices[i].price;

}

//----------------------------------

ofstream fout("PRICES.txt");

for(i=0;i<m*n;i++)

fout<<prices[i].price<<"\n";

fout.close();

}

//-------------------------------------------------

void bd::output_vuz()

{ //n=2;

int k;

k=1;

ifstream fin1("VUZ.txt");

for(i=0;i<n;i++)

fin1>>vuz[i].name>>vuz[i].adres;

fin1.close();

for (i=0;i<n;i++)

{

cout<<setw(13)<<"Naimenovanie VUZa #"<<k<<": "<<vuz[i].name<<setw(15)

<<"|Adres: "<<vuz[i].adres<<endl;

k++;

}

k=1;

}

//-----------------------------------------

void bd::output_spec()

{

//n=2;m=2;

ifstream fin2("SPEC.txt");

for(i=0;i<n;i++)

for(j=0;j<m;j++)

fin2>>spec[i].vuze[j];

fin2.close();

for(i=0;i<n;i++)

for(j=0;j<m;j++)

{

cout<<"Naimenovanie spec "<<endl;

cout<<spec[i].vuze[j]<<"\n";

}

}

//---------------------------------------

void bd::output_rates()

{

// n=2;m=2;

ifstream fin3("RATES.txt");

for(i=0;i<n*m;i++)

fin3>>rates[i].day>>rates[i].vecher>>rates[i].zaochka;

fin3.close();

for(i=0;i<m*n;i++)

{

cout<<"Spec #"<<i+1<<"konkurs day: ";

cout<<rates[i].day<<endl;

cout<<"Spec #"<<i+1<<"konkurs vecher: ";

cout<<rates[i].vecher<<endl;

cout<<"Spec #"<<i+1<<"konkurs zaochka: ";

cout<<rates[i].zaochka<<endl;

}

}

//------------------------------------------------

void bd::output_prices()

{

//n=2;m=2;

ifstream fin4("PRICES.txt");

for(i=0;i<m*n;i++)

fin4>>prices[i].price;

fin4.close();

for(i=0;i<m*n;i++)

cout<<prices[i].price<<endl;

}

//----------------------------------------------

void bd:: all_about_vuz()

{

//n=2;m=2;

int k, choose_vuz;

k=1;

ifstream fin1("VUZ.txt");

ifstream fin2("SPEC.txt");

ifstream fin3("RATES.txt");

//------------------------

for(i=0;i<n;i++)

fin1>>vuz[i].name>>vuz[i].adres;

for(i=0;i<n;i++)

for(j=0;j<m;j++)

fin2>>spec[i].vuze[j];

for(i=0;i<n*m;i++)

fin3>>rates[i].day>>rates[i].vecher>>rates[i].zaochka;

fin1.close();

fin2.close();

fin3.close();

for (i=0;i<n;i++)

{

cout<<"Naimenovanie VUZa #"<<k<<": ";

cout<<vuz[i].name<<endl;

k++;

}

cout<<"Kakoi vuz interesyet(int number)?: ";

cin>>choose_vuz;

choose_vuz--;

i=choose_vuz;

cout<<"Naimenovanie VUZa: "<<vuz[i].name<<endl<<endl;

cout<<"Adres VUZa: "<<vuz[i].adres<<endl<<endl;

cout<<"Specialnosti:"<<endl;

for(j=0;j<m;j++)

cout<<setw(15)<<spec[i].vuze[j]<<"\n";

}

//----------------------------

void bd::all_about_spec()

{

int k,choose_spec;

k=1;

//n=2;m=2;

ifstream fin1("VUZ.txt");

ifstream fin2("SPEC.txt");

ifstream fin3("RATES.txt");

ifstream fin4("PRICES.txt");

for(i=0;i<n;i++)

{

fin1>>vuz[i].name>>vuz[i].adres;

}

for(i=0;i<n;i++)

for(j=0;j<m;j++)

fin2>>spec[i].vuze[j];

for(i=0;i<n*m;i++)

fin3>>rates[i].day>>rates[i].vecher>>rates[i].zaochka;

for (i=0;i<n*m;i++)

fin4>>prices[i].price;

fin1.close();

fin2.close();

fin3.close();

fin4.close();

for(i=0;i<n;i++)

for(j=0;j<m;j++)

{

cout<<vuz[i].name<<" ";

cout<<spec[i].vuze[j]<<" # "<<k<<endl;

k++;

}

cout<<"Which spec interesyet(int number)? ";

cin>>choose_spec;

choose_spec--;

i=choose_spec;

cout<<endl;

cout<<"Rate day "<<rates[i].day<<endl;

cout<<"Rate vecher "<<rates[i].vecher<<endl;

cout<<"Rate zaochka "<<rates[i].zaochka<<endl;

cout<<endl;

cout<<"Price "<<prices[i].price<<endl;

}

//------------------------------------------------

void bd::poisk()

{

int k;

// n=2; m=2;

char poisk[20];

ifstream fin1("VUZ.txt");

ifstream fin2("SPEC.txt");

ifstream fin3("RATES.txt");

ifstream fin4("PRICES.txt");

for(i=0;i<n;i++)

fin1>>vuz[i].name>>vuz[i].adres;

for(i=0;i<n;i++)

for(j=0;j<m;j++)

fin2>>spec[i].vuze[j];

for(i=0;i<m*n;i++)

fin3>>rates[i].day>>rates[i].vecher>>rates[i].zaochka;

for(i=0;i<m*n;i++)

fin4>>prices[i].price;

fin1.close();

fin2.close();

fin3.close();

fin4.close();

cout<<"Poisk po Specialnosti. Chto Interesyet? "<<endl;

for(i=0;i<n;i++)

for(j=0;j<m;j++)

{

cout<<spec[i].vuze[j]<<endl;

}

cout<<"Vvedite naimenovanie spec(char): ";

cin>>poisk;

k=0;

for(i=0;i<n;i++)

for(j=0;j<m;j++)

{

if (strcmp(poisk,spec[i].vuze[j])==0)

{

cout<<endl;

cout<<"VUZ "<<vuz[i].name<<endl;

cout<<"Adres "<<vuz[i].adres<<endl;

cout<<"Rate day "<<rates[k].day<<endl;

cout<<"Rate vecher "<<rates[k].vecher<<endl;

cout<<"Rate zaochka "<<rates[k].zaochka<<endl;

cout<<"Price "<<prices[k].price<<endl;

}

k++;

}

}

//------------------------------------------------------

void bd:: Min()

{

//n=2;m=2;

int k,tmp1;

float tmp;

float MinDay[20], MinVecher[20], MinZaochka[20];

int MinDayVuz[20], MinVecherVuz[20], MinZaochkaVuz[20];

char MinPoisk[20];

ifstream fin1("VUZ.txt");

ifstream fin2("SPEC.txt");

ifstream fin3("RATES.txt");

for(i=0;i<n;i++)

fin1>>vuz[i].name>>vuz[i].adres;

for(i=0;i<n;i++)

for(j=0;j<m;j++)

fin2>>spec[i].vuze[j];

for(i=0;i<m*n;i++)

fin3>>rates[i].day>>rates[i].vecher>>rates[i].zaochka;

fin1.close();

fin2.close();

fin3.close();

for(i=0;i<n;i++)

for(j=0;j<m;j++)

cout<<spec[i].vuze[j]<<endl;

cout<<"Vvedite Spec for poisk Min(char) ";

cin>>MinPoisk;

k=0;

for(i=0;i<n;i++)

for(j=0;j<m;j++)

{

if (strcmp(MinPoisk,spec[i].vuze[j])==0)

{

MinDay[i]=rates[k].day;

MinVecher[i]=rates[k].vecher;

MinZaochka[i]=rates[k].zaochka;

MinDayVuz[i]=i;

MinVecherVuz[i]=i;

MinZaochkaVuz[i]=i;

}

k++;

}

for(i=0;i<n;i++)

{

cout<<"MinDay "<<MinDay[i]<<endl;

cout<<"MinVecher "<<MinVecher[i]<<endl;

cout<<"MinZaochka "<<MinZaochka[i]<<endl;

}

for (i=0;i<n-1;i++)

for(j=0;j<n-1;j++)

{

if(MinDay[i+1]<MinDay[i])

{

tmp=MinDay[i+1];

MinDay[i+1]=MinDay[i];

MinDay[i]=tmp;

tmp1=MinDayVuz[i+1];

MinDayVuz[i+1]=MinDayVuz[i];

MinDayVuz[i]=tmp1;

}

if(MinVecher[i+1]<MinVecher[i])

{

tmp=MinVecher[i+1];

MinVecher[i+1]=MinVecher[i];

MinVecher[i]=tmp;

tmp1=MinVecherVuz[i+1];

MinVecherVuz[i+1]=MinVecherVuz[i];

MinVecherVuz[i]=tmp1;

}

if(MinZaochka[i+1]<MinZaochka[i])

{

tmp=MinZaochka[i+1];

MinZaochka[i+1]=MinZaochka[i];

MinZaochka[i]=tmp;

tmp1=MinZaochkaVuz[i+1];

MinZaochkaVuz[i+1]=MinZaochkaVuz[i];

MinZaochkaVuz[i]=tmp1;

}

cout<<endl;

cout<<"MinKonkurs"<<endl;

cout<<endl;

for(i=0;i<n;i++)

{

j=MinDayVuz[i];

cout<<"MinDay "<<MinDay[i]<<" "<<vuz[j].name<<endl;

}

for(i=0;i<n;i++)

{

j=MinVecherVuz[i];

cout<<"MinVecher "<<MinVecher[i]<<" "<<vuz[j].name<<endl;

}

for(i=0;i<n;i++)

{

j=MinZaochkaVuz[i];

cout<<"Zaochka "<<MinZaochka[i]<<" "<<vuz[j].name<<endl;

}

}

}

//-----------------------

void bd::Add_Vuz()

{ //n=2;m=2;

//-----------------------------------------

ifstream fin1("VUZ.txt");

ifstream fin2("SPEC.txt");

ifstream fin3("RATES.txt");

ifstream fin4("PRICES.txt");

for(i=0;i<n;i++)

fin1>>vuz[i].name>>vuz[i].adres;

for(i=0;i<n;i++)

for(j=0;j<m;j++)

fin2>>spec[i].vuze[j];

for(i=0;i<m*n;i++)

fin3>>rates[i].day>>rates[i].vecher>>rates[i].zaochka;

for(i=0;i<m*n;i++)

fin4>>prices[i].price;

fin1.close();

fin2.close();

fin3.close();

fin4.close();

//--------------------------- -----

cout<<"Dobavlenie vuza"<<endl;

cout<<"Naimenovanie VUZa: ";

cin>>vuz[n].name;

cout<<"adres VUZa: ";

cin>>vuz[n].adres;

for (i=n;i!=n+1;i++)

for (j=0;j<m;j++)

{

cout<<"Naimenovanie spec: ";

cin>>spec[i].vuze[j];

}

for(i=m*n;i!=m*n+m;i++)

{

cout<<"Day rate ";

cin>>rates[i].day;

cout<<"Day vecher ";

cin>>rates[i].vecher;

cout<<"Day zaochka ";

cin>>rates[i].zaochka;

cout<<"OK"<<endl;

}

cout<<"Vvedite prices"<<endl;

for(i=m*n;i!=m*n+m;i++)

cin>>prices[i].price;

n++;

//------------------------------------------

ofstream fout1("VUZ.txt");

ofstream fout2("SPEC.txt");

ofstream fout3("RATES.txt");

ofstream fout4("PRICES.txt");

for(i=0;i<n;i++)

fout1<<vuz[i].name<<" "<<vuz[i].adres<<"\n";

for(i=0;i<n;i++)

for(j=0;j<m;j++)

fout2<<spec[i].vuze[j]<<"\n";

for(i=0;i<m*n;i++)

fout3<<rates[i].day<<" "<<rates[i].vecher<<" "<<rates

[i].zaochka<<"\n"; for(i=0;i<m*n;i++)

fout4<<prices[i].price<<"\n";

fout1.close();

fout2.close();

fout3.close();

fout4.close();

}

//--------------------------------------------

void bd::Del_Vuz()

{

int k,del_vuz;

// n=3;m=2;

//----------------------------------------

ifstream fin1("VUZ.txt");

ifstream fin2("SPEC.txt");

ifstream fin3("RATES.txt");

ifstream fin4("PRICES.txt");

for(i=0;i<n;i++)

fin1>>vuz[i].name>>vuz[i].adres;

for(i=0;i<n;i++)

for(j=0;j<m;j++)

fin2>>spec[i].vuze[j];

for(i=0;i<m*n;i++)

fin3>>rates[i].day>>rates[i].vecher>>rates[i].zaochka;

for(i=0;i<m*n;i++)

fin4>>prices[i].price;

fin1.close();

fin2.close();

fin3.close();

fin4.close();

k=1;

//------------------------------------------------

for (i=0;i<n;i++)

{

cout<<"Naimenovanie VUZa #"<<k<<endl;

cout<<vuz[i].name<<endl;

k++;

}

cout<<"Vvedite nomer to delete: ";

cin>>del_vuz;

del_vuz--;

for(i=del_vuz;i<n;i++)

{

strcpy(vuz[i].name,vuz[i+1].name);

strcpy(vuz[i].adres,vuz[i+1].adres);

}

for(i=del_vuz;i<n;i++)

for(j=0;j<m;j++)

strcpy(spec[i].vuze[j],spec[i+1].vuze[j]);

for(i=del_vuz*m;i<m*n;i++)

{

rates[i].day=rates[i+m].day;

rates[i].vecher=rates[i+m].vecher;

rates[i].zaochka=rates[i+m].zaochka;

}

for(i=del_vuz*m;i<m*n;i++)

prices[i].price=prices[i+m].price;

n--;

//------------------------------

ofstream fout1("VUZ.txt");

ofstream fout2("SPEC.txt");

ofstream fout3("RATES.txt");

ofstream fout4("PRICES.txt");

for(i=0;i<n;i++)

fout1<<vuz[i].name<<" "<<vuz[i].adres<<"\n";

for(i=0;i<n;i++)

for(j=0;j<m;j++)

fout2<<spec[i].vuze[j]<<"\n";

for(i=0;i<m*n;i++)

fout3<<rates[i].day<<" "<<rates[i].vecher<<" "<<rates

[i].zaochka<<"\n"; for(i=0;i<m*n;i++)

fout4<<prices[i].price<<"\n";

fout1.close();

fout2.close();

fout3.close();

fout4.close();

cout<<"VUZ udalen"<<endl;

}

//--------------------------------------------

int main()

{

int vybor;

vybor=16;

bd a;

while (vybor!=15)

{

cout<<"1.Vvod VUZ \n";

cout<<"2.Vvod Specialnostei \n";

cout<<"3.Vvod konkursa \n";

cout<<"4.Vvod tsen \n";

cout<<"5.Vivod VUZ \n";

cout<<"6.Vivod Specialnostei \n";

cout<<"7.Vivod konkursa \n";

cout<<"8.Vivod tsen \n";

cout<<"9.Vse o VUZe \n";

cout<<"10.Vse o specialnosti \n";

cout<<"11.Poisk \n";

cout<<"12.Minimalniy konkurs \n";

cout<<"13.Dobavlenie VUZa \n";

cout<<"14.Udalenie VUZa \n";

cout<<"15.EXIT \n";

cin>>vybor;

switch(vybor)

{

case 1: a.input_vuz(); break;

case 2: a.input_spec(); break;

case 3: a.input_rates(); break;

case 4: a.input_prices(); break;

case 5: a.output_vuz(); break;

case 6: a.output_spec(); break;

case 7: a.output_rates(); break;

case 8: a.output_prices(); break;

case 9: a.all_about_vuz(); break;

case 10: a.all_about_spec(); break;

case 11: a.poisk(); break;

case 12: a.Min(); break;

case 13: a.Add_Vuz(); break;

case 14: a.Del_Vuz(); break;

case 15: exit(0);

default: cout<<endl<<"Oshibka! Vvedite number 1-15. "<<endl<<endl;

}

}

getch();

}

//------------------------------------------------------------------------

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]