Revision: 60770
Initial Code
Initial URL
Initial Description
Initial Title
Initial Tags
Initial Language
at November 12, 2012 09:02 by bcobanov_foi
Initial Code
#include<iostream>
#include "lista_polje.h"
//#include "lista_pokazivac.h"
using namespace std;
int sif=1;
element unos(lista *novi)
{
zivotinja unos, sad;
int brojac_liste=0;
element lokacija=FirstL(novi);
cout<<"Sifra zivotinje: ";
cout<<sif<<endl;
unos.sifra=sif;
cin.ignore();
cout<<"Vrsta zivotinje: ";
cin.getline(unos.vrsta,35);
cout<<"Naziv zivotinje: ";
cin.getline(unos.naziv,35);
do
{
cout<<"Dan dostave: ";
cin>>unos.datum[0];
if(unos.datum[0]<1 || unos.datum[0]>31) cout << "Unjeli ste krivi datum, unesite ponovno!" << endl;
}while(unos.datum[0]<1 || unos.datum[0]>31);
do
{
cout<<"Mjesec dostave: ";
cin>>unos.datum[1];
if(unos.datum[1]<1 || unos.datum[1]>12) cout << "Unjeli ste krivi mjesec, unesite ponovno!" << endl;
}while(unos.datum[1]<1 || unos.datum[1]>12);
do
{
cout<<"Godina dostave: ";
cin>>unos.datum[2];
if(unos.datum[2]<1900) cout << "Unjeli ste krivu godinu, unesite ponovno!" << endl;
}while(unos.datum[2]<1900);
cout<<"Cijena zivotinje: ";
cin>>unos.cijena;
brojac_liste=InsertL(unos,EndL(novi),novi);
if(brojac_liste==1)
{
cout<<endl<<"Element je uspjesno dodan! "<<endl<<endl;
sif++;
}
else cout<<"Element nije dodan! "<<endl<<endl;
}
void ispis(lista *ispis)
{
element lokacija=EndL(ispis);
lokacija=PreviousL(lokacija,ispis);
if(EndL(ispis)!=FirstL(ispis))
{
while(5)
{
zivotinja sad=RetreiveL(lokacija,ispis);
cout<<"Sifra "<<sad.sifra<<endl;
cout<<"Vrsta "<<sad.vrsta<<endl;
cout<<"Naziv "<<sad.naziv<<endl;
cout<<"Datum "<<sad.datum[0]<<"."<<sad.datum[1]<<"."<<sad.datum[2]<<endl;
cout<<"Cijena "<<sad.cijena<<endl;
cout<<"\t\t\t\t\t\t\t\t"<<endl;
if(lokacija==FirstL(ispis))break;
lokacija=PreviousL(lokacija,ispis);
}
}
}
void datum(lista *pretraga)
{
int broj=0;
element lokacija=EndL(pretraga);
lokacija=PreviousL(lokacija,pretraga);
if(EndL(pretraga)!=FirstL(pretraga))
{
while(1)
{
zivotinja sad=RetreiveL(lokacija,pretraga);
if(sad.datum[2]==2012)
{
if((sad.datum[1]>=9))
{
if(sad.datum[1]==9)
{
if(sad.datum[0]>23)
{
cout<<"Sifra "<<sad.sifra<<endl;
cout<<"Naziv "<<sad.naziv<<endl;
cout<<"Datum "<<sad.datum[0]<<"."<<sad.datum[1]<<"."<<sad.datum[2]<<endl;
cout<<"Vrsta "<<sad.vrsta<<endl;
cout<<"Cijena "<<sad.cijena<<endl;
cout<<"\t\t\t\t\t\t"<<endl;
broj++;
}
}
else
{
cout<<"Sifra "<<sad.sifra<<endl;
cout<<"Naziv "<<sad.naziv<<endl;
cout<<"Datum "<<sad.datum[0]<<"."<<sad.datum[1]<<"."<<sad.datum[2]<<endl;
cout<<"Vrsta "<<sad.vrsta<<endl;
cout<<"Cijena "<<sad.cijena<<endl;
cout<<"\t\t\t\t\t\t"<<endl;
broj++;
}
}
}
else if(sad.datum[2]>2012)
{
cout<<"Sifra "<<sad.sifra<<endl;
cout<<"Naziv "<<sad.naziv<<endl;
cout<<"Datum "<<sad.datum[0]<<"."<<sad.datum[1]<<"."<<sad.datum[2]<<endl;
cout<<"Vrsta "<<sad.vrsta<<endl;
cout<<"Cijena "<<sad.cijena<<endl;
cout<<"\t\t\t\t\t\t"<<endl;
broj++;
}
if(lokacija==FirstL(pretraga))break;
lokacija=PreviousL(lokacija,pretraga);
}
cout<<endl<<"Broj "<<broj<<endl;
}
}
void brisanje(lista *brisi)
{
int potvrda;
if(FirstL(brisi)==EndL(brisi))return;
zivotinja sad;
element lokacija=EndL(brisi);
lokacija=PreviousL(lokacija,brisi);
cout<<"Unesite naziv: "<<endl;
cin.ignore();
cin.getline(sad.naziv,35);
element pozicija=LocateL(sad,brisi);
potvrda=DeleteL(pozicija,brisi);
if(potvrda==1) cout<<"Element uspjesno ukonjen! "<<endl;
else cout<<"Element nije obrisan! "<<endl;
}
void brisanje_vrsta(lista *ukloni)
{
zivotinja e;
bool potvrda=false;
if(FirstL(ukloni)==EndL(ukloni))
{
cout<<"Lista je prazna "<<endl;
return;
}
cout<<"Unesite vrstu "<<endl;
cin.ignore();
cin.getline(e.vrsta,35);
element lokacija=LocateL(e,ukloni);
if(lokacija==0)
{
DeleteL(lokacija,ukloni);
potvrda=true;
return;
}
else
while(lokacija!=EndL(ukloni))
{
DeleteL(lokacija,ukloni);
potvrda=true;
lokacija=LocateL(e,ukloni);
}
if(potvrda==true) cout<<"Elementi uspjesno obrisani "<<endl<<endl;
else cout<<"Elementi nisu obrisani "<<endl<<endl;
}
int main()
{
int select;
lista *L=InitL(L);
do
{
cout<<"------------------------IZBORNIK------------------------"<<endl;
cout<<"1. Dodaj zapis u listu po rastucoj sifri "<<endl;
cout<<"2. Ispis svih unesenih elemenata (od zadnjeg do prvog unesenog) "<<endl;
cout<<"3. Svi elementi novijeg datuma od 23.9.2012"<<endl;
cout<<"4. Brisanje elementa sa odredenim nazivom "<<endl;
cout<<"5. Brisanje svih elemenata odredene vrste "<<endl;
cout<<"6. Merge sort elemenata liste (silazno po cijeni i silazno po nazivu)"<<endl;
cout<<"9. Kraj programa "<<endl;
cout<<"VAS ODABIR: ";
cin>>select;
switch(select)
{
case 1:
unos(L);
break;
case 2:
ispis(L);
break;
case 3:
datum(L);
break;
case 4:
brisanje(L);
break;
case 5:
brisanje_vrsta(L);
break;
case 6:
element kraj=PreviousL(EndL(L),L);
MSort(L,FirstL(L),EndL(L)-1);
break;
}
}while(select!=9);
return 0;
}
Initial URL
Initial Description
Programski kod main funkcije zadatka 1 iz struktura podataka.
Initial Title
Main.cpp - Evidencija životinja
Initial Tags
Initial Language
C++