5.
|
7.
, KURS . , . , KURS.
, . .
.
1. . . ++, 3- . . - .: "", .: " ", 1999. - 991 ., .
2. .. . .. /C++. . .: ,2007. 461 .: .
3. . - C++. 2 . , 2007. - 336 .: .
4. .. , .. . /C++. : . .: , 2007. 239 .: .
1.
void outputfile() | txt |
void inputfile() | txt |
void add() | |
void deletekurs() | |
void output() | |
void sort_gr() | |
void poisk_kol() | |
void poisk_st() | |
void poisk_var() |
|
|
:
struct price char fam[l] char im[l] char prep[l] int var int gr int oc | - KURS - - - - - - |
2.
#include<iostream.h>
#include<fstream.h>
#include<string.h>
#include<stdlib.h>
#include<conio.h>
#include<iomanip.h>
const int l=31;
struct kurs
{char fam[l], im[l], prep[l];
int var, gr, oc;
};
const int N=100;
class kursov
{private:
kurs x[N];
int n;
public:
void outputfile();
void inputfile();
void add();
void deletekurs();
void output();
void sort_gr();
void poisk_kol();
void poisk_st();
void poisk_var();
};
int main()
{ kursov a;
setlocale(LC_ALL, "Russian");
int j,m;
while(1)
{ cout<<"1. .\n";
cout<<"2. .\n";
cout<<"3. .\n";
cout<<"4. .\n";
cout<<"5. .\n";
cout<<"6. .\n";
cout<<"7. .\n";
cout<<"8. .\n";
cout<<"9. .\n";
cout<<"10. .\n\n";
cout<<" (1%10):";
cin>>j;
switch(j)
{ case 1: a.inputfile(); break;
case 2: a.output(); break;
case 3: a.outputfile();break;
case 4: a.add(); break;
case 5: a.deletekurs(); break;
case 6: a.sort_gr();break;
case 7: a.poisk_kol();break;
case 8: a.poisk_st();break;
case 9: a.poisk_var();break;
case 10: cout<<" "; getch(); exit(0);
default:cout<<" !"; getch(); break;
}
}
}
void kursov:: inputfile()
{ifstream fin;
char file[l];
cout<<" :"; cin>>file;
fin.open(file);
if(fin==NULL) {cout<<" .\n"; getch(); exit(1);}
n=0;
do{fin>>x[n].fam>>x[n].im>>x[n].var>>x[n].gr>>x[n].prep>>x[n].oc;
n++;
}while(fin.good());
n--;
cout<<" .\n"; getch();
fin.close();
output();
}
void kursov:: output()
{ int i;
cout<<"\n----------------------------------------------------------------------------\n";
cout<<"\n| N | | | N | N | | |\n";
cout<<"\n----------------------------------------------------------------------------\n";
for(i=0;i<n;i++)
{cout<<"|"<<setw(3)<<i+1
<<"|"<<setw(11)<<setiosflags(ios::left)<<x[i].fam
<<"|"<<setw(9)<<setiosflags(ios::left)<<x[i].im
<<"|"<<setw(12)<<setiosflags(ios::left)<<x[i].var
<<"|"<<setw(10)<<setiosflags(ios::left)<<x[i].gr
<<"|"<<setw(15)<<setiosflags(ios::left)<<x[i].prep
<<"|"<<setw(8)<<setiosflags(ios::left)<<x[i].oc<<"|"<<endl;
|
|
}
cout<<"\n---------------------------------------------------------------------------\n";
getch();
}
void kursov:: add()
{ kurs t;
if(n==N) {cout<<" .\n"; getch(); exit(0);}
cout<<":"; cin>>t.fam;
cout<<":"; cin>>t.im;
cout<<" :"; cin>>t.var;
cout<<" :"; cin>>t.gr;
cout<<" :"; cin>>t.prep;
cout<<":"; cin>>t.oc;
x[n]=t; n++;
cout<<" .\n";
getch();
output();
}
void kursov:: deletekurs()
{char ch;
int i,j;
output();
cout<<" :";
cin>>j;
if(j<1||j>n) {cout<<" .\n"; getch(); exit(0);}
cout<<setw(20)<<x[j-1].fam<<endl;
cout<<"?(y/n):"; cin>>ch;
if(ch=='y')
{for(i=j;i<n;i++)
x[i-1]=x[i];
n--;
}
cout<<" .\n"; getch();
}
void kursov:: outputfile()
{ofstream out;
char file[l];
int i;
cout<<" :";
cin>>file;
out.open(file);
if (out==NULL) {cout<<" "; getch(); exit(1);}
for(i=0;i<n;i++)
{out<<setw(11)<<setiosflags(ios::left)<<x[i].fam
<<setw(9)<<setiosflags(ios::left)<<x[i].im
<<setw(12)<<setiosflags(ios::left)<<x[i].var
<<setw(11)<<setiosflags(ios::left)<<x[i].gr
<<setw(15)<<setiosflags(ios::left)<<x[i].prep
<<setw(8)<<setiosflags(ios::left)<<x[i].oc<<endl;}
out.close();
cout<<" "; getch();
}
void kursov:: sort_gr()
{int i,fl,nn;
kurs t;
nn=n;
do {fl=0; nn--;
for(i=0;i<nn;i++)
if(x[i].gr>x[i+1].gr)
{t=x[i]; x[i]=x[i+1]; x[i+1]=t; fl=1;}
}while(fl==1);
output();
}
void kursov:: poisk_kol()
{int i,s = 0;
char prep[l];
cout<<" : "; cin>>prep;
int f=0;
for(i=0;i<n;i++)
if(strcmp(x[i].prep,prep)==0)
{ cout<<": ";
cout<<setw(8)<<setiosflags(ios::left)<<x[i].fam<<" "<<x[i].im<<endl; s=s+1;
f++;
}getch();
cout<<" : "<<s<<endl;
if(f==0) {cout<<" \n"; getch();}
}
void kursov:: poisk_st()
{int i,k,oc;
cout<<" :"; cin>>oc;
int f=0;
for(i=0;i<n;i++)
if(oc==x[i].oc)
{ cout<<": ";
cout<<setw(8)<<setiosflags(ios::left)<<x[i].fam<<" "<<x[i].im<<endl;
f++;
} getch();
if(f==0) {cout<<" \n"; getch();}
}
void kursov:: poisk_var()
{int i;
char fam[l];
cout<<" :"; cin>>fam;
int f=0;
for(i=0;i<n;i++)
if(strcmp(x[i].fam,fam)==0)
{ cout<<" : ";
cout<<setw(8)<<setiosflags(ios::left)<<x[i].var<<endl;
f++;
}getch();
if(f==0) {cout<<" \n"; getch();}
}