/ Published in: C++
Main funkcija programa
Expand |
Embed | Plain Text
#include<iostream> //#include "lista_pokazivac.h" #include "lista_polje.h" using namespace std; int a=1; pzivotinja*provjera=new pzivotinja; tzivotinja*zadnji2=new tzivotinja; int dodaj(int a,tzivotinja*glava){ bool uspjesno=false; pzivotinja*novi=new pzivotinja; zadnji2=glava; UnosL(a,novi); int brojac=NumberL(zadnji2); zadnji2=glava; while(brojac>=0){ if(brojac==0){ InsertL(novi,0,zadnji2); uspjesno=true; break; }//if provjera=RetrieveL(brojac,zadnji2); zadnji2=glava; if(novi->sifra>provjera->sifra){ InsertL(novi,brojac,zadnji2); uspjesno=true; break; }//if else brojac--; }//while if(!uspjesno) return 0; else return 1; } void ispis(tzivotinja*glava){ pzivotinja*trenutno; zadnji2=glava; int brojac= NumberL(zadnji2); for(int i=brojac;i>0;i--){ zadnji2=glava; trenutno=RetrieveL(i,zadnji2); cout<<"Sifra: "<<trenutno->sifra<<endl; cout<<"Naziv: "<<trenutno->naziv<<endl; cout<<"Vrsta: "<<trenutno->vrsta<<endl; cout<<"Cijena: "<<trenutno->cijena<<endl; cout<<"Dan unosa: "<<trenutno->dan<<endl; cout<<"Mjesec unosa: "<<trenutno->mjesec<<endl; cout<<"Godina unosa: "<<trenutno->godina<<endl; cout<<"-----------------------------\n\n"; } } void ispis_nakon(tzivotinja*glava){ pzivotinja*trenutno; int brojac2=0; int brojac=NumberL(zadnji2); for(int i=brojac;i>0;i--){ trenutno=RetrieveL(i,zadnji2); if(trenutno->godina==2012){ if(trenutno->mjesec>9){ cout<<"Sifra: "<<trenutno->sifra<<endl; cout<<"Naziv: "<<trenutno->naziv<<endl; cout<<"Vrsta: "<<trenutno->vrsta<<endl; cout<<"Cijena: "<<trenutno->cijena<<endl; cout<<"Dan unosa: "<<trenutno->dan<<endl; cout<<"Mjesec unosa: "<<trenutno->mjesec<<endl; cout<<"Godina unosa: "<<trenutno->godina<<endl; cout<<"----------------------------------------------------------\n"; brojac2++; }//if else if(trenutno->mjesec==9){ if(trenutno->dan>23){ cout<<"Sifra: "<<trenutno->sifra<<endl; cout<<"Naziv: "<<trenutno->naziv<<endl; cout<<"Vrsta: "<<trenutno->vrsta<<endl; cout<<"Cijena: "<<trenutno->cijena<<endl; cout<<"Dan unosa: "<<trenutno->dan<<endl; cout<<"Mjesec unosa: "<<trenutno->mjesec<<endl; cout<<"Godina unosa: "<<trenutno->godina<<endl; cout<<"----------------------------------------------------------\n"; brojac2++; }//if }//else if }//if else if(trenutno->godina>2012){ cout<<"Sifra: "<<trenutno->sifra<<endl; cout<<"Naziv: "<<trenutno->naziv<<endl; cout<<"Vrsta: "<<trenutno->vrsta<<endl; cout<<"Cijena: "<<trenutno->cijena<<endl; cout<<"Dan unosa: "<<trenutno->dan<<endl; cout<<"Mjesec unosa: "<<trenutno->mjesec<<endl; cout<<"Godina unosa: "<<trenutno->godina<<endl; cout<<"----------------------------------------------------------\n"; brojac2++; } } cout<<"Broj zivotinja unesenih nakon 23.rujna 2012 : "<<brojac2<<endl; cout<<"----------------------------------------------------------\n\n"; } int brisi_ime(tzivotinja*glava){ bool izbrisan; cout<<"Unesite ime zivotinje koju zelite izbrisati: "; char n[20]; cin>>n; pzivotinja*trenutno; int brojac=NumberL(zadnji2); for(int i=brojac;i>0;i--){ trenutno=RetrieveL(i,zadnji2); if(strcmp((trenutno->naziv),n)==0){ DeleteL(i,zadnji2); izbrisan=true; } } if(izbrisan)return 1; if(brojac==0)cout<<"Nema niti jednog elementa\n"; return 0; } int brisi_vrsta(tzivotinja*glava){ bool izbrisan; cout<<"Unesite vrstu zivotinje koju zelite izbrisati: "; char n[20]; cin>>n; pzivotinja*trenutno; int brojac=NumberL(zadnji2); for(int i=brojac; i>0;i--){ trenutno=RetrieveL(i,zadnji2); if(strcmp((trenutno->vrsta),n)==0){ DeleteL(i,zadnji2); izbrisan=true; } } if(izbrisan) return 1; if(brojac==0)cout<<"Nema niti jednog elementa\n"; return 0; } int main(){ tzivotinja *glava; glava=InitL(glava); int izbor; do{ cout<<"\n\t\t\t~IZBORNIK~\n"; cout<<"================================================================================\n"; cout<<"1 Dodaj zapis u listu/polje prema rastucoj sifri zivotinje\n"; cout<<"2 Ipisi sadrzaj liste/polja pocevsi od sifre zivotinje koja je posljednja dodana\n"; cout<<"3 Ispis sadrzaja liste/polja unesenog nakon 23.rujna 2012\n"; cout<<"4 Brisanje jednog zapisa u listi/polju po nazivu zivotinje\n"; cout<<"5 Brisanje zapisa u listi/polju po vrsti zivotinje\n"; cout<<"6 Silazno sortiranje liste/polje po cijeni i imenu ziotinje (Merge sort)\n"; cout<<"0 Izlaz\n"; cout<<"================================================================================\n"; cout<<"Vas izbor: "; cin>>izbor; cout<<endl; switch(izbor){ case 1: { zadnji2=glava; int dod=dodaj(a,zadnji2); a++; system("pause"); system("cls"); break; } case 2: { zadnji2=glava; ispis(zadnji2); system("pause"); system("cls"); break; } case 3: { zadnji2=glava; ispis_nakon(zadnji2); system("pause"); system("cls"); break; } case 4: { zadnji2=glava; brisi_ime(zadnji2); system("pause"); system("cls"); break; } case 5: { zadnji2=glava; brisi_vrsta(zadnji2); system("pause"); system("cls"); break; } case 6: { cout<<"Merge sort\n"; system("pause"); system("cls"); break; } }//switch }while(izbor!=0); system("pause"); return 0; }
You need to login to post a comment.
