tehlurk

v11_10bod_stari

Jun 25th, 2013
38
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 3.71 KB | None | 0 0
  1. #include <iostream>
  2. using namespace std;
  3.  
  4. #define N 1024
  5. #define M 128
  6.  
  7. struct studenti
  8. {
  9.     int mat_br;
  10.     char prez_ime[32];
  11.     int g_stu;
  12. }student[N];
  13.  
  14. struct predmeti
  15. {
  16.     int sif_predmeta;
  17.     char predmet[32];
  18.     int g_stu;
  19. }predmet[M];
  20.  
  21. int n, m;
  22. int pogreskaI=0;
  23. int pogreskaP=0;
  24. int pogreskaS=0;
  25.  
  26. int izbornik()
  27. {
  28.     int k;
  29.    
  30.     cout<<"\n1.Upis novih studenata.";
  31.     cout<<"\n2.Upis novih predmeta.";
  32.     cout<<"\n3.Popis studenata i predmeta za zadanu godinu studija.";
  33.     cout<<"\n4.Popis predmeta koje student moze upisati.";
  34.     cout<<"\n5.Sortiranje studenata po maticnom broju uzlazno.";
  35.     cout<<"\n6.Spremanje polja studenata u tekstualnu datoteku.";
  36.     cout<<"\n9.Izlaz iz programa.";
  37.    
  38.     cout<<"\nOdabir: ";
  39.     cin>>k;
  40.    
  41.     return k;
  42. }
  43. void provjeraG(int gStud, int pogreska){
  44.     if(gStud<1 || gStud> 5){
  45.         cout<<"\nPogresan unos";
  46.         pogreska++;
  47.     }
  48.     if(pogreska>2)
  49.         cout<<"\nUpozorenje! Broj neuspjesnih pokusaja je veci od 2.";
  50. }
  51.  
  52. int provjeraP(int sifra)
  53. {
  54.     int god;
  55.     if(sifra>100 && sifra<999){
  56.         cout<<"\nSifra predmeta je veca od 100, ponovi upis godine studija:";
  57.         cin>>god;
  58.         return god;
  59.     }
  60. }
  61. void upisStud(studenti student[])
  62. {
  63.     cout<<"\nKoliko studenata upisujes(max 1024):";
  64.     cin>>n;
  65.     for(int i=0;i<n;i++){
  66.         cout<<"\nUnesi prezime i ime studenta:";
  67.         cin.ignore();
  68.         cin.getline(student[i].prez_ime,16);
  69.         cout<<"\nUnesi maticni broj:";
  70.         cin>>student[i].mat_br;
  71.         do{
  72.             cout<<"\nUnesi godinu studija:";
  73.             cin>>student[i].g_stu;
  74.             provjeraG(student[i].g_stu,pogreskaP);
  75.         }while(student[i].g_stu>1 && student[i].g_stu<5);
  76.     }
  77. }
  78. void upisPred(predmeti predmet[])
  79. {
  80.     cout<<"\nKoliko predmeta upisujes(max 128):";
  81.     cin>>m;
  82.     for(int i=0;i<m;i++){
  83.         cout<<"\nUnesi naziv predmeta:";
  84.         cin.ignore();
  85.         cin.getline(predmet[i].predmet,32);
  86.         cout<<"\nUnesi sifru predmeta:";
  87.         cin>>predmet[i].sif_predmeta;
  88.         do{
  89.             cout<<"\nUnesi godinu studija:";
  90.             cin>>predmet[i].g_stu;
  91.             provjeraG(predmet[i].g_stu,pogreskaP);
  92.         }while(predmet[i].g_stu>1 && predmet[i].g_stu<5);
  93.         predmet[i].g_stu=provjeraP(predmet[i].sif_predmeta);
  94.     }
  95. }
  96. void ispisStuPre(studenti student[], predmeti predmet[], int god)
  97. {
  98.     int brojS=0;
  99.     int brojP=0;
  100.     cout<<"\n\nSTUDENTI:";
  101.     for(int i=0;i<n;i++){
  102.         if(student[i].g_stu == god){
  103.             broj++;
  104.             cout<<"\nPrezime i ime:"<<student[i].prez_ime;
  105.             cout<<"\nMaticni broj:"<<student[i].mat_br;
  106.             cout<<"\nGodina studija:"<<student[i].g_stu;
  107.         }
  108.         if (broj==0)
  109.             cout<<"\nNema upisanih studenata na ovoj godini.";
  110.         else
  111.             cout<<"\nBroj studenata na ovoj godini je: "<<brojS;
  112.     }
  113.     cout<<"\n\nPREDMETI:";
  114.     for(int i=0;i<m;i++){
  115.         if(predmet[i].g_stu == god){
  116.             brojP++;
  117.             cout<<"\nNaziv predmeta:"<<predmet[i].predmet;
  118.             cout<<"\nSifra predmeta:"<<predmet[i].sif_predmeta;
  119.         }
  120.         if (broj==0)
  121.             cout<<"\nNema upisanih predmeta na ovoj godini.";
  122.     }
  123. }
  124.  
  125. int main()
  126. {
  127.     int k=izbornik();
  128.     int gStud;
  129.     switch (k){
  130.         case 1: upisStud(student);
  131.             break;
  132.         case 2: upisPred(predmet);
  133.             break;
  134.         case 3: {
  135.             do {
  136.                 cout<<"\nUnesi godinu studija:";
  137.                 cin>>gStud;
  138.                 provjeraG(gStud,pogreskaI);
  139.             }while(gStud>1 && gStud<5);
  140.             ispisStuPre(student, predmet, gStud);
  141.         }
  142.     }
  143.    
  144.     return 0;
  145. }
Advertisement
Add Comment
Please, Sign In to add comment