Mihnea03

Proiect Admitere Liceu

Mar 1st, 2021
742
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. /**
  2. Grupa:
  3. Mihnea Ciocioiu
  4. Ioana Mihailescu
  5. Maria Enescu
  6. **/
  7. #include <iostream>
  8. #include <fstream>
  9. #include <cstring>
  10. #include <algorithm>
  11. using namespace std;
  12.  
  13. struct data {
  14.     int zi,luna,an;
  15. };
  16.  
  17. class persoana {
  18. protected:
  19.     char nume[30];
  20.     char prenume[30];
  21.     data dataNasterii;
  22.     char adresa[50];
  23.     char localitate[50];
  24. public:
  25.     persoana();
  26.     persoana(char *,char *,data ,char *, char *);
  27.     void setNume(char*);
  28.     void setPrenume(char*);
  29.     void setAdresa(char*);
  30.     void setLocaliate(char*);
  31.     void setData(data);
  32.     char* getNume();
  33.     char* getPrenume();
  34.     char* getAdresa();
  35.     char* getLocaliate();
  36.     data getDataNasterii();
  37. };
  38.  
  39. persoana::persoana() {
  40.     strcpy(nume,"");
  41.     strcpy(prenume,"");
  42.     strcpy(adresa,"");
  43.     strcpy(localitate,"");
  44.     dataNasterii={0,0,0};
  45. }
  46.  
  47. persoana::persoana(char *num,char *pren,data dataN,char *adres, char *localitat) {
  48.     strcpy(nume,num);
  49.     strcpy(prenume,pren);
  50.     strcpy(adresa,adres);
  51.     strcpy(localitate,localitat);
  52.     dataNasterii=dataN;
  53. }
  54.  
  55. void persoana::setNume(char *num) {
  56.     strcpy(nume,num);
  57. }
  58.  
  59. void persoana::setPrenume(char*pren) {
  60.     strcpy(prenume,pren);
  61. }
  62.  
  63. void persoana::setAdresa(char *s)
  64. {
  65.     strcpy(adresa,s);
  66. }
  67.  
  68. void persoana::setLocaliate(char *s)
  69. {
  70.     strcpy(localitate,s);
  71. }
  72.  
  73. void persoana::setData(data d)
  74. {
  75.     dataNasterii=d;
  76. }
  77.  
  78. char* persoana::getPrenume() {
  79.     return prenume;
  80. }
  81.  
  82. char* persoana::getNume() {
  83.     return nume;
  84. }
  85.  
  86. char* persoana::getAdresa() {
  87.     return adresa;
  88. }
  89.  
  90. char* persoana::getLocaliate() {
  91.     return localitate;
  92. }
  93.  
  94. data persoana::getDataNasterii() {
  95.     return dataNasterii;
  96. }
  97.  
  98. class absolvent : public persoana {
  99. protected:
  100.     char Scoala[50];
  101.     char AnulAbsolvirii[20];
  102.     double mediacls5;
  103.     double mediacls6;
  104.     double mediacls7;
  105.     double mediacls8;
  106.     double medieAbsolvire;
  107. public:
  108.     void calculMediaAnilorDeStudiu() {
  109.         medieAbsolvire=(mediacls5+mediacls6+mediacls7+mediacls8)/4.0;
  110.     }
  111.     void setMediaCls5(double media) {
  112.         mediacls5=media;
  113.     }
  114.     void setMediaCls6(double media) {
  115.         mediacls6=media;
  116.     }
  117.     void setMediaCls7(double media) {
  118.         mediacls7=media;
  119.     }
  120.     void setMediaCls8(double media) {
  121.         mediacls8=media;
  122.     }
  123.     double getMediaCls5() {
  124.         return mediacls5;
  125.     }
  126.     double getMediaCls6() {
  127.         return mediacls6;
  128.     }
  129.     double getMediaCls7() {
  130.         return mediacls7;
  131.     }
  132.     double getMediaCls8() {
  133.         return mediacls8;
  134.     }
  135.     double getMediaAbsolvire() {
  136.         return medieAbsolvire;
  137.     }
  138.     void setScoala(char *sc) {
  139.         strcpy(Scoala,sc);
  140.     }
  141.     char* getScoala() {
  142.         return Scoala;
  143.     }
  144. };
  145.  
  146. class candidat:public absolvent {
  147. private:
  148.     double Nota_romana;
  149.     double Nota_matematica;
  150.     double Medie_examen;
  151.     double Medie_admitere;
  152. public:
  153.     void setNotaRomana (double medie) {
  154.         Nota_romana=medie;
  155.     }
  156.     void setNotaMate (double medie) {
  157.         Nota_matematica=medie;
  158.     }
  159.     void medieCapacitate() {
  160.         Medie_examen=(Nota_romana+Nota_matematica)/2.0;
  161.     }
  162.     void medieAdmitere() {
  163.         Medie_admitere=0.2*getMediaAbsolvire()+0.8*Medie_examen;
  164.     }
  165.     double getMedieAdmitere() {
  166.         return Medie_admitere;
  167.     }
  168.     double getMedieExamen() {
  169.         return Medie_examen;
  170.     }
  171. };
  172.  
  173. int cmp (candidat a, candidat b) {
  174.     return a.getMedieAdmitere()>b.getMedieAdmitere();
  175. }
  176.  
  177. int main() {
  178.     ifstream fin("Date_elevi.txt");
  179.     ofstream fout("Rezultate.txt");
  180.     candidat a[200];
  181.     int n;
  182.     fin>>n;
  183.     for (int i=1;i<=n;i++) {
  184.         char x[500];
  185.         fin>>x;
  186.         a[i].setNume(x);
  187.         fin>>x;
  188.         a[i].setPrenume(x);
  189.         int zi, luna, an;
  190.         fin>>zi>>luna>>an;
  191.         a[i].setData({zi,luna,an});
  192.         fin>>x;
  193.         a[i].setLocaliate(x);
  194.         fin>>x;
  195.         a[i].setScoala(x);
  196.         double m5,m6,m7,m8;
  197.         fin>>m5>>m6>>m7>>m8;
  198.         a[i].setMediaCls5(m5);
  199.         a[i].setMediaCls6(m6);
  200.         a[i].setMediaCls7(m7);
  201.         a[i].setMediaCls8(m8);
  202.         a[i].calculMediaAnilorDeStudiu();
  203.         double mr,mm;
  204.         fin>>mr>>mm;
  205.         a[i].setNotaRomana(mr);
  206.         a[i].setNotaMate(mm);
  207.         a[i].medieCapacitate();
  208.         a[i].medieAdmitere();
  209.     }
  210.     sort (a+1,a+n+1,cmp);
  211.     for (int i=1;i<=n;i++) {
  212.         fout<<a[i].getNume()<<" "<<a[i].getPrenume()<<"\n";
  213.         fout<<a[i].getDataNasterii().zi<<" "<<a[i].getDataNasterii().luna<<" "<<a[i].getDataNasterii().an<<"\n";
  214.         fout<<a[i].getLocaliate()<<"\n";
  215.         fout<<a[i].getScoala()<<"\n";
  216.         fout<<a[i].getMediaAbsolvire()<<"\n";
  217.         fout<<a[i].getMedieExamen()<<"\n";
  218.         fout<<a[i].getMedieAdmitere()<<"\n";
  219.         fout<<"\n";
  220.     }
  221.     return 0;
  222. }
  223.  
RAW Paste Data

Adblocker detected! Please consider disabling it...

We've detected AdBlock Plus or some other adblocking software preventing Pastebin.com from fully loading.

We don't have any obnoxious sound, or popup ads, we actively block these annoying types of ads!

Please add Pastebin.com to your ad blocker whitelist or disable your adblocking software.

×