Advertisement
Guest User

Untitled

a guest
Sep 5th, 2017
189
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. #include<iostream>
  2. #include<fstream>
  3. #include<string>
  4. using namespace std;
  5.  
  6. struct izlazak {
  7.     int id;
  8.     string datum;
  9.     int sifraPredmeta;
  10.     int ocjena;
  11. };
  12.  
  13. struct predmet {
  14.     int sifra;
  15.     string naziv;
  16. };
  17.  
  18. void unos(izlazak poljeIzlazaka[], int & duljinaPolja);
  19. void izmjena(izlazak poljeIzlazaka[], int duljinaPolja);
  20. void ispis(izlazak poljeIzlazaka[], int duljinaPolja);
  21. void ispis2(izlazak poljeIzlazaka[], int duljinaPolja, predmet predmeti[]);
  22.    
  23. int main() {
  24.     izlazak poljeIzlazaka[100];
  25.     predmet predmeti[4];
  26.     predmeti[0].sifra = 101;
  27.     predmeti[1].sifra = 102;
  28.     predmeti[2].sifra = 103;
  29.     predmeti[3].sifra = 104;
  30.     predmeti[0].naziv = "Programiranje";
  31.     predmeti[1].naziv = "Matematika";
  32.     predmeti[2].naziv = "Strani jezik";
  33.     predmeti[3].naziv = "Statistika";
  34.    
  35.     int izbor = 0;
  36.     int duljinaPolja = 0;
  37.    
  38.     do {
  39.         cout << endl;
  40.        cout << "1. Unos novog izlaska" << endl;
  41.        cout << "2. Promjena podataka o izlasku" << endl;
  42.        cout << "3. Izvještaji" << endl;
  43.        cout << "4. Stanje ispita" << endl;
  44.        cout << "6.Izlaz" << endl;
  45.        cout << "Izbor: ";
  46.        cin >> izbor;
  47.        
  48.         switch (izbor) {
  49.             case 1:
  50.                 unos(poljeIzlazaka, duljinaPolja);
  51.                 break;
  52.             case 2:
  53.                 izmjena(poljeIzlazaka, duljinaPolja);
  54.                 break;
  55.             case 3:
  56.                 ispis(poljeIzlazaka, duljinaPolja);
  57.                 break;
  58.             case 4:
  59.                 ispis2(poljeIzlazaka, duljinaPolja, predmeti);
  60.                 break;
  61.         }
  62.     } while(izbor != 6);
  63.     return 0;
  64. }
  65.  
  66.  
  67. void unos(izlazak poljeIzlazaka[], int & duljinaPolja){
  68.    cout<<"Broj dosad unesenih kontakata: " << duljinaPolja << endl;
  69.     if(duljinaPolja < 100){
  70.        cout << "Upisi datum izlaska: ";
  71.        cin >> poljeIzlazaka[duljinaPolja].datum;
  72.        
  73.         cout << "Upisi ocjenu: ";
  74.        cin >> poljeIzlazaka[duljinaPolja].ocjena;
  75.        
  76.         int sifraPredmeta = 0;
  77.         do {
  78.             cout << "Upisi sifru predmeta: ";
  79.            cin >> sifraPredmeta;
  80.             poljeIzlazaka[duljinaPolja].sifraPredmeta = sifraPredmeta;
  81.         } while (sifraPredmeta != 101 && sifraPredmeta != 102 && sifraPredmeta != 103 && sifraPredmeta != 104);
  82.        
  83.         poljeIzlazaka[duljinaPolja].id = duljinaPolja + 1;
  84.         duljinaPolja++;
  85.     }
  86.     else {
  87.         cout<<"Polje je popunjeno"<<endl;
  88.        return;
  89.    }
  90. }
  91.  
  92. void izmjena(izlazak poljeIzlazaka[], int duljinaPolja) {
  93.    int id = 0;
  94.    cout << "Unesi broj izlaska: ";
  95.    cin >> id;
  96.     id = id - 1;
  97.    
  98.     if (id < duljinaPolja) {
  99.        cout << "Broj izlaska: " << poljeIzlazaka[id].id << endl;
  100.        cout << "Datum izlaska: " << poljeIzlazaka[id].datum << endl;
  101.        cout << "Sifra predmeta: " << poljeIzlazaka[id].sifraPredmeta << endl;
  102.        cout << "Ocjena: " << poljeIzlazaka[id].ocjena << endl << endl;
  103.        cout << "Unesi novi datum: ";
  104.        cin >> poljeIzlazaka[id].datum;
  105.         int sifraPredmeta = 0;
  106.         do {
  107.              cout << "Unesi novu sifru predmeta: ";
  108.            cin >> sifraPredmeta;
  109.             poljeIzlazaka[id].sifraPredmeta = sifraPredmeta;
  110.         } while (sifraPredmeta != 101 && sifraPredmeta != 102 && sifraPredmeta != 103 && sifraPredmeta != 104);
  111.         cout << "Unesi novu ocjenu: ";
  112.        cin >> poljeIzlazaka[id].ocjena;
  113.     }
  114. }
  115.  
  116. void ispis(izlazak poljeIzlazaka[], int duljinaPolja) {
  117.     cout << endl;
  118.    for (int i = 0; i < duljinaPolja; i++) {
  119.        cout << "Broj izlaska: " << poljeIzlazaka[i].id << endl;
  120.        cout << "Datum izlaska: " << poljeIzlazaka[i].datum << endl;
  121.        cout << "Sifra predmeta: " << poljeIzlazaka[i].sifraPredmeta << endl;
  122.        cout << "Ocjena: " << poljeIzlazaka[i].ocjena << endl;
  123.        cout << endl;
  124.    }
  125.    cout << "Ukupan broj izlazaka: " << duljinaPolja << endl;
  126. }
  127.  
  128. void ispis2(izlazak poljeIzlazaka[], int duljinaPolja, predmet predmeti[]) {
  129.    int brojac[4] = {0,0,0,0};
  130.    cout << "Svi predmeti:" << endl;
  131.    for (int i = 0; i < duljinaPolja; i++) {
  132.        cout << "Sifra predmeta: " << poljeIzlazaka[i].sifraPredmeta << endl;
  133.        cout << "Naziv predmeta: " << predmeti[poljeIzlazaka[i].sifraPredmeta - 101].naziv << endl;
  134.        switch(poljeIzlazaka[i].sifraPredmeta) {
  135.            case 101:
  136.                brojac[0]++;
  137.                break;
  138.            case 102:
  139.                brojac[1]++;
  140.                break;
  141.            case 103:
  142.                brojac[2]++;
  143.                break;
  144.            case 104:
  145.                brojac[3]++;
  146.                break;
  147.        }
  148.    }
  149.    cout << endl;
  150.    cout << "Broj izlazaka programiranje: " << brojac[0] << endl;
  151.    cout << "Broj izlazaka matematika: " << brojac[1] << endl;
  152.    cout << "Broj izlazaka strani jezik: " << brojac[2] << endl;
  153.    cout << "Broj izlazaka statistika: " << brojac[3] << endl;
  154.    cout << endl;
  155.    
  156.    cout << "Položeni predmeti:" << endl;
  157.    for (int i = 0; i < duljinaPolja; i++) {
  158.        if (poljeIzlazaka[i].ocjena > 1) {
  159.             cout << "Predmet: " << predmeti[poljeIzlazaka[i].sifraPredmeta - 101].naziv << endl;
  160.            cout << "Ocjena: " << poljeIzlazaka[i].ocjena << endl;
  161.        }
  162.    }
  163. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement