Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <iostream>
- #include <string>
- #include <fstream>
- using namespace std;
- struct student
- {
- string imie;
- string nazwisko;
- int nr_indeksu;
- double ocena_t;
- double ocena_p;
- };
- struct egazmin
- {
- string nazwa;
- int ile;
- student * wyniki;
- };
- egazmin wczytaj(istream &plik)
- {
- egazmin Eegzamin;
- if(plik.good())
- {
- plik>>Eegzamin.nazwa;
- plik>>Eegzamin.ile;
- Eegzamin.wyniki = new student[Eegzamin.ile];
- for(int i=0;i<Eegzamin.ile;i++)
- {
- plik>>Eegzamin.wyniki[i].imie;
- plik>>Eegzamin.wyniki[i].nazwisko;
- plik>>Eegzamin.wyniki[i].nr_indeksu;
- plik>>Eegzamin.wyniki[i].ocena_t;
- plik>>Eegzamin.wyniki[i].ocena_p;
- }
- }
- return Eegzamin;
- }
- void wyswietl (egazmin *Eegzamin)
- {
- cout<<"Nazwa przedmiotu : "<<Eegzamin->nazwa<<endl;
- for (int i=0; i<Eegzamin->ile;i++)
- {
- cout<<"imie : "<<Eegzamin->wyniki[i].imie<<endl;
- cout<<"nazwisko : "<<Eegzamin->wyniki[i].nazwisko<<endl;
- cout<<"nr_indeksu : "<<Eegzamin->wyniki[i].nr_indeksu<<endl;
- cout<<"ocena_t : "<<Eegzamin->wyniki[i].ocena_t<<endl;
- cout<<"ocena_p : "<<Eegzamin->wyniki[i].ocena_p<<endl;
- float srednia;
- srednia =(0.2*(Eegzamin->wyniki[i].ocena_t)) +(0.8*(Eegzamin->wyniki[i].ocena_p));
- cout<<"srednia wazona : "<<srednia<<endl;
- }
- }
- void zlicz (egazmin *Eegzamin)
- {
- float arytm = 0.0;
- for (int j=0; j<Eegzamin->ile;j++)
- {
- arytm += Eegzamin->wyniki[j].ocena_t + Eegzamin->wyniki[j].ocena_p;
- }
- arytm = arytm/(2.0*Eegzamin->ile);
- for (int i=0; i<Eegzamin->ile;i++)
- {
- float srednia;
- srednia =(0.2*(Eegzamin->wyniki[i].ocena_t)) +(0.8*(Eegzamin->wyniki[i].ocena_p));
- if(arytm<srednia)
- {
- cout<<"imie : "<<Eegzamin->wyniki[i].imie<<endl;
- cout<<"nazwisko : "<<Eegzamin->wyniki[i].nazwisko<<endl;
- cout<<"nr_indeksu : "<<Eegzamin->wyniki[i].nr_indeksu<<endl;
- cout<<"ocena_t : "<<Eegzamin->wyniki[i].ocena_t<<endl;
- cout<<"ocena_p : "<<Eegzamin->wyniki[i].ocena_p<<endl;
- cout<<"srednia wazona : "<<srednia<<endl;
- }
- }
- }
- void filtruj (egazmin *Eegzamin)
- {
- string s_nazwisko;
- cout<<"Podaj nazwisko do znalezienia : ";
- cin>>s_nazwisko;
- for(int i=0; i<Eegzamin->ile;i++)
- {
- if(Eegzamin->wyniki[i].nazwisko == s_nazwisko)
- {
- float srednia;
- srednia =(0.2*(Eegzamin->wyniki[i].ocena_t)) +(0.8*(Eegzamin->wyniki[i].ocena_p));
- cout<<"imie : "<<Eegzamin->wyniki[i].imie<<endl;
- cout<<"nazwisko : "<<Eegzamin->wyniki[i].nazwisko<<endl;
- cout<<"nr_indeksu : "<<Eegzamin->wyniki[i].nr_indeksu<<endl;
- cout<<"ocena_t : "<<Eegzamin->wyniki[i].ocena_t<<endl;
- cout<<"ocena_p : "<<Eegzamin->wyniki[i].ocena_p<<endl;
- cout<<"srednia wazona : "<<srednia<<endl;
- }
- }
- }
- int main(int argc, char *argv[])
- {
- ifstream plik(argv[1]);
- if(!plik.good())
- {
- cout<<"plik sie nie wczytal"<<endl;
- }
- egzmin Eegzamin = wczytaj(plik);
- wyswietl(&Eegzamin);
- zlicz(&Eegzamin);
- filtruj(&Eegzamin);
- delete [] Eegzamin.wyniki;
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement