Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- /**
- Grupa:
- Mihnea Ciocioiu
- Ioana Mihailescu
- Maria Enescu
- **/
- #include <iostream>
- #include <fstream>
- #include <cstring>
- #include <algorithm>
- using namespace std;
- struct data {
- int zi,luna,an;
- };
- class persoana {
- protected:
- char nume[30];
- char prenume[30];
- data dataNasterii;
- char adresa[50];
- char localitate[50];
- public:
- persoana();
- persoana(char *,char *,data ,char *, char *);
- void setNume(char*);
- void setPrenume(char*);
- void setAdresa(char*);
- void setLocaliate(char*);
- void setData(data);
- char* getNume();
- char* getPrenume();
- char* getAdresa();
- char* getLocaliate();
- data getDataNasterii();
- };
- persoana::persoana() {
- strcpy(nume,"");
- strcpy(prenume,"");
- strcpy(adresa,"");
- strcpy(localitate,"");
- dataNasterii={0,0,0};
- }
- persoana::persoana(char *num,char *pren,data dataN,char *adres, char *localitat) {
- strcpy(nume,num);
- strcpy(prenume,pren);
- strcpy(adresa,adres);
- strcpy(localitate,localitat);
- dataNasterii=dataN;
- }
- void persoana::setNume(char *num) {
- strcpy(nume,num);
- }
- void persoana::setPrenume(char*pren) {
- strcpy(prenume,pren);
- }
- void persoana::setAdresa(char *s)
- {
- strcpy(adresa,s);
- }
- void persoana::setLocaliate(char *s)
- {
- strcpy(localitate,s);
- }
- void persoana::setData(data d)
- {
- dataNasterii=d;
- }
- char* persoana::getPrenume() {
- return prenume;
- }
- char* persoana::getNume() {
- return nume;
- }
- char* persoana::getAdresa() {
- return adresa;
- }
- char* persoana::getLocaliate() {
- return localitate;
- }
- data persoana::getDataNasterii() {
- return dataNasterii;
- }
- class absolvent : public persoana {
- protected:
- char Scoala[50];
- char AnulAbsolvirii[20];
- double mediacls5;
- double mediacls6;
- double mediacls7;
- double mediacls8;
- double medieAbsolvire;
- public:
- void calculMediaAnilorDeStudiu() {
- medieAbsolvire=(mediacls5+mediacls6+mediacls7+mediacls8)/4.0;
- }
- void setMediaCls5(double media) {
- mediacls5=media;
- }
- void setMediaCls6(double media) {
- mediacls6=media;
- }
- void setMediaCls7(double media) {
- mediacls7=media;
- }
- void setMediaCls8(double media) {
- mediacls8=media;
- }
- double getMediaCls5() {
- return mediacls5;
- }
- double getMediaCls6() {
- return mediacls6;
- }
- double getMediaCls7() {
- return mediacls7;
- }
- double getMediaCls8() {
- return mediacls8;
- }
- double getMediaAbsolvire() {
- return medieAbsolvire;
- }
- void setScoala(char *sc) {
- strcpy(Scoala,sc);
- }
- char* getScoala() {
- return Scoala;
- }
- };
- class candidat:public absolvent {
- private:
- double Nota_romana;
- double Nota_matematica;
- double Medie_examen;
- double Medie_admitere;
- public:
- void setNotaRomana (double medie) {
- Nota_romana=medie;
- }
- void setNotaMate (double medie) {
- Nota_matematica=medie;
- }
- void medieCapacitate() {
- Medie_examen=(Nota_romana+Nota_matematica)/2.0;
- }
- void medieAdmitere() {
- Medie_admitere=0.2*getMediaAbsolvire()+0.8*Medie_examen;
- }
- double getMedieAdmitere() {
- return Medie_admitere;
- }
- double getMedieExamen() {
- return Medie_examen;
- }
- };
- int cmp (candidat a, candidat b) {
- return a.getMedieAdmitere()>b.getMedieAdmitere();
- }
- int main() {
- ifstream fin("Date_elevi.txt");
- ofstream fout("Rezultate.txt");
- candidat a[200];
- int n;
- fin>>n;
- for (int i=1;i<=n;i++) {
- char x[500];
- fin>>x;
- a[i].setNume(x);
- fin>>x;
- a[i].setPrenume(x);
- int zi, luna, an;
- fin>>zi>>luna>>an;
- a[i].setData({zi,luna,an});
- fin>>x;
- a[i].setLocaliate(x);
- fin>>x;
- a[i].setScoala(x);
- double m5,m6,m7,m8;
- fin>>m5>>m6>>m7>>m8;
- a[i].setMediaCls5(m5);
- a[i].setMediaCls6(m6);
- a[i].setMediaCls7(m7);
- a[i].setMediaCls8(m8);
- a[i].calculMediaAnilorDeStudiu();
- double mr,mm;
- fin>>mr>>mm;
- a[i].setNotaRomana(mr);
- a[i].setNotaMate(mm);
- a[i].medieCapacitate();
- a[i].medieAdmitere();
- }
- sort (a+1,a+n+1,cmp);
- for (int i=1;i<=n;i++) {
- fout<<a[i].getNume()<<" "<<a[i].getPrenume()<<"\n";
- fout<<a[i].getDataNasterii().zi<<" "<<a[i].getDataNasterii().luna<<" "<<a[i].getDataNasterii().an<<"\n";
- fout<<a[i].getLocaliate()<<"\n";
- fout<<a[i].getScoala()<<"\n";
- fout<<a[i].getMediaAbsolvire()<<"\n";
- fout<<a[i].getMedieExamen()<<"\n";
- fout<<a[i].getMedieAdmitere()<<"\n";
- fout<<"\n";
- }
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement