Revision: 60657
Initial Code
Initial URL
Initial Description
Initial Title
Initial Tags
Initial Language
at November 12, 2012 05:18 by tsteyska
Initial Code
#include <iostream> #include "lista_pokazivaci.h" //#include "lista_polje.h" using namespace std; int sifra=1,elementi=0; lista *L; void novi_zapis(){ podaci pod; pod.sifra=sifra; cout<<"UNESITE PODATKE"<<endl; cout <<"Sifra zivotinje: " << pod.sifra << endl; cout <<"Unesi vrstu zivotinje: "; cin.ignore(); cin.getline(pod.vrsta,20); cout<<"Unesi naziv zivotinje: "; cin.getline(pod.naziv,20); cout<<"Cijena: "; cin>>pod.cijena; cout<<"Unesi datum dostave(GGGGMMDD): "; cin >> pod.datum; InsertL(pod,sifra,L); cout<<endl; } void ispis(lista *L){ if(elementi<=0) return; int poz = EndL(L); poz = PreviousL(poz,L); while (1){ podaci novi = RetrieveL(poz,L); cout<<"Sifra: "<<novi.sifra<<endl; cout<<"Vrsta: "<<novi.vrsta<<endl; cout<<"Naziv: "<<novi.naziv<<endl; cout<<"Cjena: "<<novi.cijena<<endl; cout<<"Datum: "<<novi.datum<<endl; cout<<"---------------------"<<endl; if(poz== FirstL(L)) break; poz=PreviousL(poz,L); } } void ispis_datum(lista *L){ int C=0; lista *a = L -> slijedeci; while(a){ if(a -> pod.datum >20120923){ cout<<"Sifra: "<<a->pod.sifra<<endl; cout<<"Vrsta: "<<a->pod.vrsta<<endl; cout<<"Naziv: "<<a->pod.naziv<<endl; cout<<"Cijena: "<<a->pod.cijena<<endl; cout<<"Datum: "<<a->pod.datum<<endl; C++; } a = a -> slijedeci; } cout<<"Broj zivotinja dostavljene nakon 23.rujna 2012: "<<C<<endl<<endl; } void brisanje_naziv(lista *L){ char naziv[20]; cin.ignore(); cout<<"Upisite naziv: "; cin.getline(naziv,50); if(DeleteL(naziv,L)) elementi--; cout<<"Uspjesno obrisano!"<<endl<<endl; } void brisanje_vrsta(lista *L){ char naziv[20]; cin.ignore(); cout<<"Upisite vrstu: "; cin.getline(naziv,20); for(int i=sifra;i>0;i--) if(DeleteL(naziv,L)) elementi--; cout<<"Uspjesno obrisano!"<<endl<<endl; } void sortiranje_cijena(lista *L){ if(!L->slijedeci) return; lista *prije , *trenutni, *poslije; bool sort; do { sort = false; trenutni=L->slijedeci; prije=L; while (trenutni->slijedeci) { poslije=trenutni->slijedeci; if (int(trenutni->pod.cijena) < int(poslije->pod.cijena)) { prije->slijedeci=poslije; trenutni->slijedeci=poslije->slijedeci; poslije->slijedeci=trenutni; sort=true; } prije=prije->slijedeci; trenutni=prije->slijedeci; } } while (sort); lista *a = L->slijedeci; while (a){ cout<<"Sifra: "<<a->pod.sifra<<endl; cout<<"Vrsta: "<<a->pod.vrsta<<endl; cout<<"Naziv: "<<a->pod.naziv<<endl; cout<<"Cijena: "<<a->pod.cijena<<endl; cout<<"Datum: "<<a->pod.datum<<endl; cout<<"---------------------"<<endl; a = a -> slijedeci; } return; } void sortiranje_naziv(lista *L){ if(!L->slijedeci) return; lista *prije , *trenutni, *poslije; bool sort; do { sort = false; trenutni=L->slijedeci; prije=L; while (trenutni->slijedeci) { poslije=trenutni->slijedeci; if (int(trenutni->pod.naziv[0]) < int(poslije->pod.naziv[0])) { prije->slijedeci=poslije; trenutni->slijedeci=poslije->slijedeci; poslije->slijedeci=trenutni; sort=true; } prije=prije->slijedeci; trenutni=prije->slijedeci; } } while (sort); lista *a = L->slijedeci; while (a){ cout<<"Sifra: "<<a->pod.sifra<<endl; cout<<"Vrsta: "<<a->pod.vrsta<<endl; cout<<"Naziv: "<<a->pod.naziv<<endl; cout<<"Cijena: "<<a->pod.cijena<<endl; cout<<"Datum: "<<a->pod.datum<<endl; cout<<"---------------------"<<endl; a = a -> slijedeci; } return; } int main(){ int izbor; L = new lista; InitL(L); do{ cout << "Program za evidenciju zivotinja"<<endl; cout << "-----IZBORNIK-----"<<endl; cout << "1. Dodavanje zapisa u listu"<<endl; cout << "2. Ispis sadrzaja liste"<<endl; cout << "3. Ispis svih zivotinja koje su dostavljene nakon 23.rujna 2012. godine"<<endl; cout << "4. Brisanje pojedinacnih unosa prema nazivu zivotinje"<<endl; cout << "5. Brisanje svih zivotinja odabrane vrste"<<endl; cout << "6. Silazno sortiranje prema cijeni"<<endl; cout << "7. Silazno sortiranje prema nazivu"<<endl; cout << "9. Izlaz iz programa"<<endl; cout << "Vas izbor: "; cin >> izbor; cout << endl << endl; switch(izbor){ case 1: novi_zapis(); sifra++; elementi++; break; case 2: ispis(L); break; case 3: ispis_datum(L); break; case 4: brisanje_naziv(L); elementi--; break; case 5: brisanje_vrsta(L); break; case 6: sortiranje_cijena(L); break; case 7: sortiranje_naziv(L); break; case 9: break; default: cout << "Pogresan unos! " << endl; } }while(izbor!=9); system("pause"); return 0; }
Initial URL
Initial Description
Program sluzi za evidenciju zivotinja(unosenje, ispis, sortiranje, brisanje)
Initial Title
Z1_Program_evidencije_zivotinja
Initial Tags
podataka
Initial Language
C++