Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <iostream>
- #include <cstdlib>
- #include <cstring>
- using namespace std;
- //Cpredmeti
- class cpredmeti_zapis{
- public:
- int sifraPredmeta;
- char nazivPredmeta[32];
- char nazivSmjera[32];
- void Unos(){
- cout<<"Unesi sifru predmeta: ";
- cin>>sifraPredmeta;
- cout<<"Unesi naziv predmeta: ";
- cin>>nazivPredmeta;
- cout<<"Unesi naziv smjera: ";
- cin>>nazivSmjera;
- }
- void Ispis(){
- cout<<"Sifra predmeta: "<<sifraPredmeta<<endl;
- cout<<"Naziv predmeta: "<<nazivPredmeta<<endl;
- cout<<"Naziv smjera: "<<nazivSmjera<<endl;
- }
- };
- class cpredmeti{
- public:
- cpredmeti *sljedeci;
- cpredmeti_zapis zapis;
- //Metode
- cpredmeti(){
- sljedeci=NULL;
- }
- void UnosNovogPredmeta();
- void IspisSvihPredmeta();
- void PopisPredmetaZadanogSmjera();
- };
- //Cprijave
- class cprijave_zapis{
- public:
- int sifraPrijave;
- int sifraPredmeta;
- int maticniBroj;
- char rok[32];
- void Unos(){
- cout<<"Unesi sifru prijave: ";
- cin>>sifraPrijave;
- cout<<"Umnesi maticni broj: ";
- cin>>maticniBroj;
- cout<<"Unesi rok: ";
- cin>>rok;
- }
- void Ispis(){
- cout<<"Sifra prijave: "<<sifraPrijave<<endl;
- cout<<"Maticni broj: "<<maticniBroj<<endl;
- cout<<"Rok: "<<rok<<endl;
- }
- };
- class cprijave{
- public:
- cprijave *sljedeci;
- cprijave_zapis *zapis;
- //Metode
- cprijave(){
- zapis=new cprijave_zapis;
- cout<<"KONSTRUKTOR\n";
- sljedeci=NULL;
- }
- ~cprijave(){
- delete sljedeci;
- }
- void UnosPrijave();
- };
- //Globals
- cpredmeti *listaPredmeta;
- cprijave *listaPrijava;
- //Izbor1
- void cpredmeti::UnosNovogPredmeta(){
- cpredmeti *z=this;
- while(z->sljedeci)
- z=z->sljedeci;
- cpredmeti *n=new cpredmeti;
- n->zapis.Unos();
- z->sljedeci=n;
- }
- void cpredmeti::IspisSvihPredmeta(){
- cpredmeti *t=this->sljedeci;
- while(t){
- t->zapis.Ispis();
- t=t->sljedeci;
- }
- }
- void Izbor1(){
- cout<<"a) Upis predmeta na kraj liste\n";
- cout<<"b) Ispis cijele liste predmeta\n";
- cout<<"Izbor: ";
- char pizbor;
- cin>>pizbor;
- cout<<"Popis svih prednodno unesenih sifri u listi predmeta: ";
- cpredmeti *x=listaPredmeta->sljedeci;
- while(x!=NULL){
- cout<<x->zapis.sifraPredmeta<<", ";
- x=x->sljedeci;
- }
- cout<<endl;
- switch(pizbor){
- case 'a':
- listaPredmeta->UnosNovogPredmeta();
- break;
- case 'b':
- listaPredmeta->IspisSvihPredmeta();
- break;
- }
- }
- //Izbor 2
- void cpredmeti::PopisPredmetaZadanogSmjera(){
- char nazivSmjera[32];
- cout<<"Unesi naziv smjera: ";
- cin>>nazivSmjera;
- cpredmeti *t=this->sljedeci;
- while(t){
- if(strcmp(nazivSmjera,t->zapis.nazivSmjera)==0)
- cout<<t->zapis.nazivPredmeta<<", ";
- t=t->sljedeci;
- }
- cout<<endl;
- }
- //Izbor 3
- void cprijave::UnosPrijave(){
- cout<<"Unesi sifru predmeta: ";
- int sifraPredmeta;
- cin>>sifraPredmeta;
- bool nadjen=false;
- cpredmeti *t=listaPredmeta->sljedeci;
- while(!nadjen && t!=NULL){
- if(t->zapis.sifraPredmeta==sifraPredmeta)
- nadjen=true;
- else
- t=t->sljedeci;
- }
- if(!nadjen)
- cout<<"ERROR: Takav zapis ne postoji.\n";
- else{
- cprijave *z=this;
- while(z->sljedeci)
- z=z->sljedeci;
- cprijave *t=new cprijave;
- t->zapis->Unos();
- t->zapis->sifraPredmeta=sifraPredmeta;
- z->sljedeci=t;
- }
- }
- //Izbor 4
- void Izbor4(){
- cout<<"Unesi sifru predmeta: ";
- int sifraPredmeta;
- cin>>sifraPredmeta;
- cpredmeti *t=listaPredmeta->sljedeci;
- while(t!=NULL && t->zapis.sifraPredmeta!=sifraPredmeta)
- t=t->sljedeci;
- if(t!=NULL){
- cout<<"PREDMET: \n";
- cout<<"Naziv predmeta: "<<t->zapis.nazivPredmeta<<endl;
- cout<<"Naziv smjera: "<<t->zapis.nazivSmjera<<endl;
- }
- cout<<"PRIJAVE:\n";
- cprijave *x=listaPrijava->sljedeci;
- while(x!=NULL){
- if(x->zapis->sifraPredmeta==sifraPredmeta){
- x->zapis->Ispis();
- cout<<"Sljedeci: "<<x->sljedeci<<endl;
- }
- x=x->sljedeci;
- }
- }
- // ----------------- M A I N --------------------
- int main(){
- int izbor;
- listaPredmeta=new cpredmeti;
- listaPrijava=new cprijave;
- do{
- cout<<"=== IZBORNIK ===\n";
- cout<<"1. Upis predmeta na kraj liste predmeta / ispis cijele liste predmeta\n";
- cout<<"2. Popis predmeta zadanog smjera\n";
- cout<<"3. Unos prijave na kraj liste prijava\n";
- cout<<"4. Ispis liste prijava za zadani predmet\n";
- cout<<"Izbor: ";
- cin>>izbor;
- switch(izbor){
- case 1:
- Izbor1();
- break;
- case 2:
- listaPredmeta->PopisPredmetaZadanogSmjera();
- break;
- case 3:
- listaPrijava->UnosPrijave();
- break;
- case 4:
- Izbor4();
- break;
- }
- }while(izbor!=9);
- system("pause");
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement