Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <iostream>
- using namespace std;
- #define N 1024
- #define M 128
- struct studenti
- {
- int mat_br;
- char prez_ime[32];
- int g_stu;
- }student[N];
- struct predmeti
- {
- int sif_predmeta;
- char predmet[32];
- int g_stu;
- }predmet[M];
- int n, m;
- int pogreskaI=0;
- int pogreskaP=0;
- int pogreskaS=0;
- int izbornik()
- {
- int k;
- cout<<"\n1.Upis novih studenata.";
- cout<<"\n2.Upis novih predmeta.";
- cout<<"\n3.Popis studenata i predmeta za zadanu godinu studija.";
- cout<<"\n4.Popis predmeta koje student moze upisati.";
- cout<<"\n5.Sortiranje studenata po maticnom broju uzlazno.";
- cout<<"\n6.Spremanje polja studenata u tekstualnu datoteku.";
- cout<<"\n9.Izlaz iz programa.";
- cout<<"\nOdabir: ";
- cin>>k;
- return k;
- }
- void provjeraG(int gStud, int pogreska){
- if(gStud<1 || gStud> 5){
- cout<<"\nPogresan unos";
- pogreska++;
- }
- if(pogreska>2)
- cout<<"\nUpozorenje! Broj neuspjesnih pokusaja je veci od 2.";
- }
- int provjeraP(int sifra)
- {
- int god;
- if(sifra>100 && sifra<999){
- cout<<"\nSifra predmeta je veca od 100, ponovi upis godine studija:";
- cin>>god;
- return god;
- }
- }
- void upisStud(studenti student[])
- {
- cout<<"\nKoliko studenata upisujes(max 1024):";
- cin>>n;
- for(int i=0;i<n;i++){
- cout<<"\nUnesi prezime i ime studenta:";
- cin.ignore();
- cin.getline(student[i].prez_ime,16);
- cout<<"\nUnesi maticni broj:";
- cin>>student[i].mat_br;
- do{
- cout<<"\nUnesi godinu studija:";
- cin>>student[i].g_stu;
- provjeraG(student[i].g_stu,pogreskaP);
- }while(student[i].g_stu>1 && student[i].g_stu<5);
- }
- }
- void upisPred(predmeti predmet[])
- {
- cout<<"\nKoliko predmeta upisujes(max 128):";
- cin>>m;
- for(int i=0;i<m;i++){
- cout<<"\nUnesi naziv predmeta:";
- cin.ignore();
- cin.getline(predmet[i].predmet,32);
- cout<<"\nUnesi sifru predmeta:";
- cin>>predmet[i].sif_predmeta;
- do{
- cout<<"\nUnesi godinu studija:";
- cin>>predmet[i].g_stu;
- provjeraG(predmet[i].g_stu,pogreskaP);
- }while(predmet[i].g_stu>1 && predmet[i].g_stu<5);
- predmet[i].g_stu=provjeraP(predmet[i].sif_predmeta);
- }
- }
- void ispisStuPre(studenti student[], predmeti predmet[], int god)
- {
- int brojS=0;
- int brojP=0;
- cout<<"\n\nSTUDENTI:";
- for(int i=0;i<n;i++){
- if(student[i].g_stu == god){
- broj++;
- cout<<"\nPrezime i ime:"<<student[i].prez_ime;
- cout<<"\nMaticni broj:"<<student[i].mat_br;
- cout<<"\nGodina studija:"<<student[i].g_stu;
- }
- if (broj==0)
- cout<<"\nNema upisanih studenata na ovoj godini.";
- else
- cout<<"\nBroj studenata na ovoj godini je: "<<brojS;
- }
- cout<<"\n\nPREDMETI:";
- for(int i=0;i<m;i++){
- if(predmet[i].g_stu == god){
- brojP++;
- cout<<"\nNaziv predmeta:"<<predmet[i].predmet;
- cout<<"\nSifra predmeta:"<<predmet[i].sif_predmeta;
- }
- if (broj==0)
- cout<<"\nNema upisanih predmeta na ovoj godini.";
- }
- }
- int main()
- {
- int k=izbornik();
- int gStud;
- switch (k){
- case 1: upisStud(student);
- break;
- case 2: upisPred(predmet);
- break;
- case 3: {
- do {
- cout<<"\nUnesi godinu studija:";
- cin>>gStud;
- provjeraG(gStud,pogreskaI);
- }while(gStud>1 && gStud<5);
- ispisStuPre(student, predmet, gStud);
- }
- }
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment