Advertisement
chelsea8410

cgrupajosip

Mar 30th, 2015
262
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C 3.37 KB | None | 0 0
  1. #include <iostream>
  2.  
  3. using namespace std;
  4.  
  5. struct Cvor
  6. {
  7.     string sifra;
  8.     int bodovi[3];
  9.     Cvor* sljedeci;
  10. };
  11.  
  12. Cvor* noviCvor();
  13. void dodajNaPocetak(Cvor* t);
  14. void dodajNaKraj(Cvor* t);
  15. void prikaziMenu();
  16. void ispisiListu();
  17. void provjeraPodataka();
  18. void spisakZaDrugiKrug();
  19. void ispisiCvor(Cvor* t);
  20.  
  21. Cvor* pocetak = NULL;
  22. Cvor* kraj = NULL;
  23.  
  24. int main()
  25. {
  26.     int izbor;
  27.     Cvor* temp;
  28.     do
  29.     {
  30.         prikaziMenu();
  31.         cin >> izbor;
  32.         switch(izbor)
  33.         {
  34.             case 1:
  35.                 temp = noviCvor();
  36.                 dodajNaPocetak(temp);
  37.             break;
  38.  
  39.             case 2:
  40.                 temp = noviCvor();
  41.                 dodajNaKraj(temp);
  42.             break;
  43.  
  44.             case 3:
  45.                 ispisiListu();
  46.             break;
  47.  
  48.             case 4:
  49.                 provjeraPodataka();
  50.             break;
  51.  
  52.             case 5:
  53.                 spisakZaDrugiKrug();
  54.             break;
  55.         }
  56.     }while(izbor != 9);
  57.  
  58.     return 0;
  59. }
  60.  
  61. Cvor* noviCvor()
  62. {
  63.     Cvor* novi = new Cvor;
  64.  
  65.     cout << "Sifra ucenika: ";
  66.     cin >> novi->sifra;
  67.     for(int i=0; i<3; i++)
  68.     {
  69.         cout << "Bodovi za " << i+1 << ". zadatak: ";
  70.         cin >> novi->bodovi[i];
  71.     }
  72.     novi->sljedeci = NULL;
  73.  
  74.     return novi;
  75. }
  76. void dodajNaPocetak(Cvor* t)
  77. {
  78.     if(pocetak == NULL)
  79.     {
  80.         pocetak = kraj = t;
  81.     }
  82.     else
  83.     {
  84.         kraj->sljedeci = t;
  85.         kraj = t;
  86.     }
  87. }
  88. void dodajNaKraj(Cvor* t)
  89. {
  90.     if(pocetak == NULL)
  91.     {
  92.         pocetak = kraj = t;
  93.     }
  94.     else
  95.     {
  96.         t->sljedeci = pocetak;
  97.         pocetak = t;
  98.     }
  99. }
  100. void prikaziMenu()
  101. {
  102.     cout<<"1*-Dodavanje na pocetak"<<endl;
  103.     cout<<"2*-DOdavanje na kraj"<<endl;
  104.     cout<<"3*-Ispis od prvog ka zadnjem"<<endl;
  105.     cout<<"4*-Provjera podataka"<<endl;
  106.     cout<<"5*-Spisak takmicara za drugi krug"<<endl;
  107.     cout<<"9*-EXIT"<<endl;
  108. }
  109. void ispisiListu()
  110. {
  111.     Cvor* t = pocetak;
  112.     while(t != NULL)
  113.     {
  114.         ispisiCvor(t);
  115.         t = t->sljedeci;
  116.     }
  117. }
  118. void provjeraPodataka()
  119. {
  120.     bool tacno[3];
  121.     Cvor* t = pocetak;
  122.     while(t != NULL)
  123.     {
  124.         tacno[0] = tacno[1] = tacno[2] = true;
  125.         if(t->bodovi[0] < 0 || t->bodovi[0] > 20)
  126.             tacno[0] = false;
  127.         if(t->bodovi[1] < 0 || t->bodovi[1] > 30)
  128.             tacno[1] = false;
  129.         if(t->bodovi[2] < 0 || t->bodovi[2] > 50)
  130.             tacno[2] = false;
  131.  
  132.         if(tacno[0] == false)
  133.             cout << "1. netacan";
  134.  
  135.         if(tacno[1] == false)
  136.         {
  137.             if(tacno[0] == false)
  138.                 cout << ", ";
  139.             cout << "2. netacan";
  140.         }
  141.  
  142.         if(tacno[2] == false)
  143.         {
  144.             if(tacno[0] == false || tacno[1] == false)
  145.                 cout << ", ";
  146.             cout << "3. netacan";
  147.         }
  148.         cout << endl;
  149.  
  150.         t = t->sljedeci;
  151.     }
  152. }
  153. void spisakZaDrugiKrug()
  154. {
  155.     Cvor* t = pocetak;
  156.     int sum;
  157.     while(t != NULL)
  158.     {
  159.         sum = 0;
  160.         for(int i=0; i<3; i++)
  161.             sum+= t->bodovi[i];
  162.  
  163.         if(sum > 50)
  164.         {
  165.             ispisiCvor(t);
  166.             cout << " ukupno " << sum << "bodova\n";
  167.         }
  168.  
  169.         t = t->sljedeci;
  170.     }
  171. }
  172. void ispisiCvor(Cvor* t)
  173. {
  174.     cout << t->sifra;
  175.     for(int i=0; i<3; i++)
  176.         cout << ":" << t->bodovi[i];
  177.     cout << endl;
  178. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement