/ Published in: C++
Program za ažuriranje podataka o životinjama
Expand |
Embed | Plain Text
#include <iostream> #include <cstring> //#include "lista_pokazivac.h" //#include "lista_polja.h" using namespace std; pzivotinja *provjera=new pzivotinja; tzivotinja *zadnji2=new tzivotinja; int a=1; void sadrzaj(pzivotinja *sadrzaj){ cout<<"Sifra= "<<sadrzaj->sifra<<endl; cout<<"Naziv= "<<sadrzaj->naziv<<endl; cout<<"Vrsta= "<<sadrzaj->vrsta<<endl; cout<<"Cijena= "<<sadrzaj->cijena<<endl; cout<<"Datum= "<<sadrzaj->dan<<" . " << sadrzaj->mjesec <<"." << sadrzaj->godina <<endl; cout<<"-----------------------------\n"; } int dodavanje(int a,tzivotinja *glava){ bool uspjesno=false; pzivotinja *novi=new pzivotinja; zadnji2=glava; UnosL(a,novi); int brojac=NumberL(zadnji2); zadnji2=glava; cout<<brojac<<endl; while(brojac>=0){ if(brojac==0){ InsertL(novi,0,zadnji2); uspjesno=true; break; } provjera=RetrieveL(brojac,zadnji2); zadnji2=glava; if(novi->sifra>provjera->sifra){ InsertL(novi,brojac,zadnji2); uspjesno=true; break; } else{ brojac--; } } 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<<"Datum= "<<trenutno->dan<<" . " << trenutno->mjesec <<"." << trenutno->godina <<endl; cout<<"-----------------------------\n"; } } void pretrazi_datum (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){ sadrzaj(trenutno); brojac2++;} else if(trenutno->godina==2012 && trenutno->mjesec>9){ sadrzaj(trenutno); brojac2++;} else if(trenutno->godina==2012 && trenutno->mjesec==9 && trenutno->dan>23){ sadrzaj(trenutno); brojac2++;} ; }//for cout<<"Ukupno zivotinja otpremljeno nakon 23.9.2012: "<< brojac2 <<endl; } int brisanje(tzivotinja *glava){ bool izbrisan; pzivotinja *trenutno; int n; int brojac=NumberL(zadnji2); for(int i=brojac;i>0;i--){ cout<<endl<<endl; cout<<"ELEMENT BROJ: "<<i<<endl<<endl; 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<<"Datum= "<<trenutno->dan<<" . " << trenutno->mjesec <<"." << trenutno->godina <<endl; cout<<"-----------------------------\n"; } cout<<"Unesite pojedina����¯�¿�½���¯���¿���½ne unose prema nazivu ����¯�¿�½������¾ivotinje koju zelite pobrisati: \n"; char l[10]; cin >> l; int h; if(strcmp(trenutno->naziv,l)==0) h=trenutno->sifra; zadnji2=glava; if(brojac>0){ if(DeleteL(h,zadnji2)==0)return 1; else return 0; } cout<<"Nema niti jednog elementa\n"; return 0; } int brisanje(int n,tzivotinja *glava){ cout<<"Unesite vrstu zivotinje cije sve predstavnike zelite pobrisati:\n"; char l[10]; cin >> l ; bool izbrisan; pzivotinja *trenutno; int brojac=NumberL(zadnji2); for(int i=brojac;i>0;i--){ trenutno=RetrieveL(i,zadnji2); if(strcmp(trenutno->vrsta,l)==0){ DeleteL(i,zadnji2); izbrisan=true; i=0; } } 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\n"; cout << "IZBORNIK"; cout << "***************************************************************" << endl; cout << "1. Dodavanje zapisa u listu prema rastucoj sifri zivotinje." << endl; cout << "2. Ispis sadrzaja liste pocevsi od posljednje." << endl; cout << "3. Pretraga liste i ispis svih zivotinja dostavljenih nakona 23.9.2012 i njihov broj." << endl; cout << "4. Brisanje pojedinacnog unosa." << endl; cout << "5. Brisanje svih zivotinja odabranih vrsta." << endl; cout << "9. Izlaz iz programa. " << endl; cout << "*************************************************************** " << endl; cin >> izbor; switch(izbor){ case 1:{ zadnji2=glava; int test=dodavanje(a,zadnji2); a++; break; } case 2:{ zadnji2=glava; ispis(zadnji2); break; } case 3:{ zadnji2=glava; pretrazi_datum(zadnji2); break; } case 4:{ zadnji2=glava; brisanje(zadnji2); break; } case 5:{ int n=0; zadnji2=glava; brisanje(n,zadnji2); } } while(izbor!=9); return 0; }
You need to login to post a comment.
