/ Published in: C++
Zadatak 1, strukture podataka 2012.
Expand |
Embed | Plain Text
#include<iostream> #include<cstdlib> using namespace std; struct pzivotinja{ int sifra; char vrsta[30]; char naziv[30]; float cijena; int dan, mjesec, godina; }; pzivotinja lista[1000]; int sifra = 100; int br1=0; int InsertL(int p, pzivotinja lista[]){ if(p==0){ for(int i=0; i<1000; i++){ lista[i].sifra=0; } } lista[p].sifra = sifra; cout<<"Unesite vrstu zivotinje: "; cin >> lista[p].vrsta; cout<<"Unesite naziv zivotinje: "; cin >>lista[p].naziv; cout<<"Unesite cijenu zivotinje: "; cin >>lista[p].cijena; cout<<"Unesite dan zapremanja: "; cin >>lista[p].dan; cout<< "Unesite mjesec zaprimanja: "; cin >> lista[p].mjesec; cout<<"Unesite godinu zaprimanja: "; cin >>lista[p].godina; sifra++; return 1; }//Insert int NumberL(pzivotinja lista[]){ br1 = 0; for(int i=0; i<1000; i++){ if(lista[i].sifra != 0)br1++; } cout << "Broj elemenata: "<<br1<<endl; return br1; } int RetriveL(int p, pzivotinja lista[]){ cout<<"----------------------------------------"<<endl; cout<<"Sifra zivotinje: "<<lista[p].sifra<<endl; cout<<"Vrsta zivotinje: "<<lista[p].vrsta<<endl; cout<<"Naziv zivotinje: "<<lista[p].naziv<<endl; cout<<"Cijena zivotinje: "<<lista[p].cijena<<" kn "<<endl; cout<<"Datum zaprimanja: "<<lista[p].dan<<"/"<<lista[p].mjesec<<"/"<<lista[p].godina<<"."<<endl; cout<<"-----------------------------------------"<<endl; } int pretrazi(pzivotinja lista[]){ int br2 = 0; int br3 = 0; int a=NumberL(lista); cout<<"Izvotinje unesene poslije 23/9/2012 su:"<<endl; for(int i=0; i<=a; i++){ if(lista[i].godina<2012) continue; if(lista[i].godina==2012 && lista[i].mjesec<9) continue; if(lista[i].mjesec==9 && lista[i].godina==2012 && lista[i].dan<=23) continue; else{ RetriveL(i, lista); br2++; }//else }//for int i = 0 cout<<"Broj zivotinja unesenih poslije 23/09/2012.: "<<br2<<endl; }//int pretrazi int LocateL(pzivotinja lista[], char naziv[]){ int c = NumberL(lista); for(int i=0; i<=c; i++){ if(!strcmp(naziv, lista[i].naziv)) return i; } return -1; } // locate int DeleteL(pzivotinja lista[], char naziv[]){ int x = LocateL(lista, naziv); int c = NumberL(lista); if(x==-1) {cout<<"Zivotinja nije pronadjena!"<<endl; return 0; }//if x==-1 for(int i=x; i<c; i++){ lista[i].sifra=lista[i+1].sifra; strcpy(lista[i].vrsta,lista[i+1].vrsta); strcpy(lista[i].naziv,lista[i+1].naziv); lista[i].cijena=lista[i+1].cijena; lista[i].dan=lista[i+1].dan; lista[i].mjesec=lista[i+1].mjesec; lista[i].godina=lista[i+1].godina; } cout << "Zivotinja je izbrisana"<<endl; lista[c].sifra=0; return 1; } int DeleteL(char vrsta[], pzivotinja lista[]){ int i; int br4 = 0; int c = NumberL(lista); for(i=0; i<c; i++){ if(!strcmp(vrsta, lista[i].vrsta)){ br4++; DeleteL(lista, lista[i].naziv); i--; } } return br4; }
You need to login to post a comment.
