Revision: 60677
Initial Code
Initial URL
Initial Description
Initial Title
Initial Tags
Initial Language
at November 12, 2012 06:25 by markoaleric
Initial Code
#include<iostream>
#include "lista_polje.h"
//#include "lista_pokazivac.h"
using namespace std;
int sifra1=1;
int datum(int koje){
int dan, mj, god;
if(koje==0)
return rand()%30+1;
if(koje==1)
return rand()%11+1;
if(koje==2)
return rand()%5+2010;
}
element unos(lista *l){
tzivotinja un;
un.sifra=sifra1++;
cout<<"Sifra: "<<un.sifra<<endl;
cin.ignore();
cout<<"Unesi VRSTU: ";
cin.getline(un.vrsta,40);
cout<<"Unesi IME: ";
cin.getline(un.ime,40);
un.cijena=(rand()%15)*50;
cout<<"Cijena: "<<un.cijena<<endl;
un.dan=datum(0);
un.mj=datum(1);
un.god=datum(2);
cout<<"Datum dostave je "<<un.dan<<"."<<un.mj<<"."<<un.god<<endl;
int a=InsertL(un,EndL(l),l);
if(a!=0) cout<<"Uspjesno dodano...\n";
else cout<<"Zapis nije uspjesno dodan...\n";
}
void ispis(lista *l){
element lokacija=EndL(l);
if(EndL(l)!=FirstL(l)){
cout<<"SIFRA\t\tVRSTA\t\tIME\t\tCIJENA\t\tDATUM\n";
cout<<"-----\t\t-----\t\t---\t\t------\t\t-----\n";
do{
lokacija=PreviousL(lokacija,l);
tzivotinja isp=RetreiveL(lokacija,l);
cout<<isp.sifra<<"\t\t";
cout<<isp.vrsta<<"\t\t";
cout<<isp.ime<<"\t\t";
cout<<isp.cijena<<"\t\t";
cout<<isp.dan<<"."<<isp.mj<<"."<<isp.god<<endl;
}while(lokacija!=FirstL(l));
}
}
void ispis_datum(lista *l){
int m,d,g, ukupno=0;
element lokacija=EndL(l);
if(EndL(l)!=FirstL(l)){
cout<<"SIFRA\t\tVRSTA\t\tIME\t\tCIJENA\t\tDATUM\n";
cout<<"-----\t\t-----\t\t---\t\t------\t\t-----\n";
do{
lokacija=PreviousL(lokacija,l);
tzivotinja ispis=RetreiveL(lokacija,l);
d=ispis.dan;
m=ispis.mj;
g=ispis.god;
if(g>2012){
cout<<ispis.sifra<<"\t\t";
cout<<ispis.vrsta<<"\t\t";
cout<<ispis.ime<<"\t\t";
cout<<ispis.cijena<<"\t\t";
cout<<ispis.dan<<"."<<ispis.mj<<"."<<ispis.god<<endl;
ukupno++;
}
else if(g==2012)
if(m>9){
cout<<ispis.sifra<<"\t\t";
cout<<ispis.vrsta<<"\t\t";
cout<<ispis.ime<<"\t\t";
cout<<ispis.cijena<<"\t\t";
cout<<ispis.dan<<"."<<ispis.mj<<"."<<ispis.god<<endl;
ukupno++;
}
else if(g==2012)
if(m==9)
if(d>23){
cout<<ispis.sifra<<"\t\t";
cout<<ispis.vrsta<<"\t\t";
cout<<ispis.ime<<"\t\t";
cout<<ispis.cijena<<"\t\t";
cout<<ispis.dan<<"."<<ispis.mj<<"."<<ispis.god<<endl;
ukupno++;
}
}while(lokacija!=FirstL(l));
cout<<"Ukupno: "<<ukupno<<endl;
}
}
void brisi_ime(lista *l){
if(FirstL(l)==EndL(l)){
cout<<"Lista prazna\n";
return;}
tzivotinja brisi;
cout<<"Unesite ime: ";
cin.ignore();
cin.getline(brisi.ime,40);
brisiime=1;
element pozicija=LocateL(brisi,l);
int a=DeleteL(pozicija, l);
if(a==1)
cout<<"Zapis uspjesno ukonjen "<<endl;
else
cout<<"Zapis nije obrisan "<<endl;
}
void brisi_vrsta(lista *l){
tzivotinja e, brisi;
bool uspjesno=false;
cout<<"Unesite vrstu "<<endl;
cin.ignore();
cin.getline(brisi.vrsta,35);
if(FirstL(l)==EndL(l))return;
brisiime=0;
element lokacija=LocateL(brisi,l);
while(lokacija!=EndL(l)){
DeleteL(lokacija,l);
uspjesno=true;
lokacija=LocateL(brisi,l);
}
if(uspjesno)
cout<<"Zapisi uspjesno uklonjeni... "<<endl;
else
cout<<"Zapis nije obrisan... "<<endl;
}
int main(){
int izbor;
lista *L=InitL(L);
do{
cout<<"\n1. Unos zivotinja\n";
cout<<"2. Ispis od zadnjeg dodanog\n";
cout<<"3. Ispis zivotinja dodanih nakon 23/09/2012\n";
cout<<"4. Brisanje zapisa prema imenu\n";
cout<<"5. Brisanje zapisa prema vrsti\n";
cout<<"6. Sortiraj silazno prema cijeni i nazivu\n";
cout<<"9. Izlaz\n";
cout<<"Odaberi: ";
cin>> izbor;
cout<<endl;
switch(izbor){
case 1:
unos(L);break;
case 2:
ispis(L);break;
case 3:
ispis_datum(L);break;
case 4:
brisi_ime(L);break;
case 5:
brisi_vrsta(L);break;
case 6:;
MSort(L);ispis(L);break;
}
}while(izbor!=9);
system("pause");
return 0;
}
Initial URL
Initial Description
Programsko rješenje za Evidenciju životinja za kolegij Strukture Podataka.
Initial Title
Zadatak 1 Glavni program
Initial Tags
Initial Language
C++