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++