Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include<bits/stdc++.h>
- using namespace std;
- struct student
- {
- string ime;
- string prezime;
- string familia;
- int nomer;
- double ocenki[];
- double izvineni;
- double neizvineni;
- }a[100];
- struct sredenuspeh
- {
- string name;
- string prez;
- string family;
- double sredenu;
- int nomer;
- }b[100];
- void vuvedi(student &s,int n)
- {
- cin.ignore();
- cout<<"Ime"<<endl;
- getline(cin,s.ime);
- cout<<"Prezime"<<endl;
- getline(cin,s.prezime);
- cout<<"Familia"<<endl;
- cin>>s.familia;
- cout<<"Nomer v klasa"<<endl;
- cin>>s.nomer;
- cout<<"Izvineni otsustviq"<<endl;
- cin>>s.izvineni;
- cout<<"Neizvineni otsustviq"<<endl;
- cin>>s.neizvineni;
- }
- void create(ofstream &f,int n)
- {
- student s;
- char ch;
- cout<<"shte vuvejdash li y/n ";
- cin>>ch;
- while(ch=='y')
- {
- vuvedi(s,n);
- f<<s.ime<<endl<<s.prezime<<endl<<s.familia<<endl<<s.nomer<<endl<<s.izvineni<<endl<<s.neizvineni<<endl;
- cout<<"Ocenki"<<endl;
- for(int i=0;i<n;i++)
- {int x; cin>>x; f<<x<<endl;}
- cout<<"shte vuvejdash li y/n "<<endl;
- cin>>ch;
- }
- }
- void dobavi(fstream &f,int n)
- {
- student s;
- vuvedi(s,n);
- f<<s.ime<<endl<<s.prezime<<endl<<s.familia<<endl<<s.nomer<<endl<<s.izvineni<<endl<<s.neizvineni<<endl;
- cout<<"Ocenki"<<endl;
- for(int i=0;i<n;i++)
- {int x; cin>>x; f<<x<<endl;}
- }
- void sreden(ifstream &f,int n)
- {
- student s;
- sredenuspeh sr[90];
- int j=0;
- cout<<true;
- while(!f.eof())
- {
- double p=0;
- f>>s.ime>>s.prezime>>s.familia>>s.nomer>>s.izvineni>>s.neizvineni;
- for(int i=0;i<n;i++){int o;f>>o; p=p+o;}
- f>>ws;
- p=p/n;
- sr[j].name=s.ime;
- sr[j].prez=s.prezime;
- sr[j].family=s.familia;
- sr[j].nomer=s.nomer;
- sr[j].sredenu=p;
- j++;
- }
- for(int i=0;i<=j-1;i++)
- for(int k=i+1;k<=j;k++)
- {
- if(sr[i].sredenu<sr[k].sredenu) swap(sr[i],sr[k]);
- }
- cout<<endl;
- cout<<"Nomer___Ime_________________sreden uspeh"<<endl;
- for(int i=0;i<=j;i++)
- {
- cout<<" "<<sr[i].nomer<<" "<<sr[i].name<<" "<<sr[i].prez<<" "<<sr[i].family<<" "<<sr[i].sredenu<<endl;
- }
- }
- void neizv(ifstream &f,ofstream &g,int n,int nei)
- {
- student s;
- while(!f.eof())
- {
- f>>s.ime>>s.prezime>>s.familia>>s.nomer>>s.izvineni>>s.neizvineni;
- for(int i=0;i<n;i++){int o;f>>o; }
- f>>ws;
- if(s.neizvineni>=nei)
- {
- g<<s.ime<<endl<<s.prezime<<endl<<s.familia<<endl<<s.neizvineni<<endl;
- }
- }
- }
- int main()
- {
- int k;
- int n;
- cout<<"Kolko ocenki sthe ima vseki uchenik?"<<endl;
- cin>>n;
- do{
- cout<<"1-create file \n2-dobavqne na uchenik \n3-izvejdane na sreden uspeh v nizhodqsth red \n4-prepisva v drug file uchenicite s nad opredelen broy neizvineni A \n5-exit \n";
- cin>>k;
- switch(k)
- {
- case 1: {
- ofstream f("Student.txt",ios::out);
- create(f,n);
- f.close(); };break;
- case 2: {fstream f("Student.txt",ios::app);
- dobavi(f,n);
- f.close();}break;
- case 3: {ifstream f("Student.txt",ios::in);
- sreden(f,n);
- f.close();}break;
- case 4: {ifstream f("Student.txt",ios::in);
- ofstream g("AmiSega.txt",ios::out);
- cout<<"Vuvedi nad kolko neizvineni"<<endl;
- int nei;
- cin>>nei;
- neizv(f,g,n,nei);
- f.close();
- g.close();}break;
- }} while(k!=5);
- return 0;}
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement