Revision: 60504
Updated Code
at November 16, 2012 18:48 by mnovosel2
Updated Code
#include<iostream>
#include "lista_polje.h"
//#include "lista_pokazivac.h"
using namespace std;
int counter=1;
element unos(lista *novi){
zivotinja unos,trenutni;
int uvecaj=0;
element lokacija=FirstL(novi);
cout<<"Sifra zivotinje "<<endl;
cout<<counter<<endl;
unos.sifra=counter;
cin.ignore();
cout<<"Vrsta zivotinje "<<endl;
cin.getline(unos.vrsta,35);
cout<<"Naziv zivotinje "<<endl;
cin.getline(unos.naziv,35);
cout<<"Dan "<<endl;
cin>>unos.datum[0];
cout<<"Mjesec "<<endl;
cin>>unos.datum[1];
cout<<"Godina "<<endl;
cin>>unos.datum[2];
cout<<"Cijena "<<endl;
cin>>unos.cijena;
uvecaj=InsertL(unos,EndL(novi),novi);
if(uvecaj==1){
cout<<endl<<"Element je uspjesno dodan "<<endl<<endl;
counter++;
}
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 trenutni=RetreiveL(lokacija,ispis);
cout<<"Sifra "<<trenutni.sifra<<endl;
cout<<"Vrsta "<<trenutni.vrsta<<endl;
cout<<"Naziv "<<trenutni.naziv<<endl;
cout<<"Datum "<<trenutni.datum[0]<<"."<<trenutni.datum[1]<<"."<<trenutni.datum[2]<<endl;
cout<<"Cijena "<<trenutni.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 trenutni=RetreiveL(lokacija,pretraga);
if(trenutni.datum[2]==2012){
if((trenutni.datum[1]>=9)){
if(trenutni.datum[1]==9){
if(trenutni.datum[0]>23){
cout<<"Sifra "<<trenutni.sifra<<endl;
cout<<"Naziv "<<trenutni.naziv<<endl;
cout<<"Datum "<<trenutni.datum[0]<<"."<<trenutni.datum[1]<<"."<<trenutni.datum[2]<<endl;
cout<<"Vrsta "<<trenutni.vrsta<<endl;
cout<<"Cijena "<<trenutni.cijena<<endl;
cout<<"\t\t\t\t\t\t"<<endl;
broj++;
}
}
else{
cout<<"Sifra "<<trenutni.sifra<<endl;
cout<<"Naziv "<<trenutni.naziv<<endl;
cout<<"Datum "<<trenutni.datum[0]<<"."<<trenutni.datum[1]<<"."<<trenutni.datum[2]<<endl;
cout<<"Vrsta "<<trenutni.vrsta<<endl;
cout<<"Cijena "<<trenutni.cijena<<endl;
cout<<"\t\t\t\t\t\t"<<endl;
broj++;
}
}
}
else if(trenutni.datum[2]>2012){
cout<<"Sifra "<<trenutni.sifra<<endl;
cout<<"Naziv "<<trenutni.naziv<<endl;
cout<<"Datum "<<trenutni.datum[0]<<"."<<trenutni.datum[1]<<"."<<trenutni.datum[2]<<endl;
cout<<"Vrsta "<<trenutni.vrsta<<endl;
cout<<"Cijena "<<trenutni.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 trenutni;
cout<<"Unesite naziv "<<endl;
cin.ignore();
cin.getline(trenutni.naziv,35);
element pozicija=LocateL(trenutni,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<<"1. Dodaj zapis u listu po rastucoj sifri "<<endl<<endl;
cout<<"2. Ispis svih unesenih elemenata (od zadnjeg do prvog unesenog) "<<endl<<endl;
cout<<"3. Svi elementi novijeg datuma od 23.9.2012"<<endl<<endl;
cout<<"4. Brisanje elementa sa odredenim nazivom "<<endl<<endl;
cout<<"5. Brisanje svih elemenata odredene vrste "<<endl<<endl;
cout<<"6. Merge sort elemenata liste (silazno po cijeni i silazno po nazivu)"<<endl<<endl;
cout<<"0. Kraj programa "<<endl;
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:
MSort(L,FirstL(L),EndL(L)-1);
break;
}
}while(select!=0);
system("pause");
return 0;
}
Revision: 60503
Updated Code
at November 16, 2012 18:46 by mnovosel2
Updated Code
#include<iostream>
#include "lista_polje.h"
//#include "lista_pokazivac.h"
using namespace std;
int counter=1;
element unos(lista *novi){
zivotinja unos,trenutni;
int uvecaj=0;
element lokacija=FirstL(novi);
cout<<"Sifra zivotinje "<<endl;
cout<<counter<<endl;
unos.sifra=counter;
cin.ignore();
cout<<"Vrsta zivotinje "<<endl;
cin.getline(unos.vrsta,35);
cout<<"Naziv zivotinje "<<endl;
cin.getline(unos.naziv,35);
cout<<"Dan "<<endl;
cin>>unos.datum[0];
cout<<"Mjesec "<<endl;
cin>>unos.datum[1];
cout<<"Godina "<<endl;
cin>>unos.datum[2];
cout<<"Cijena "<<endl;
cin>>unos.cijena;
uvecaj=InsertL(unos,EndL(novi),novi);
if(uvecaj==1){
cout<<endl<<"Element je uspjesno dodan "<<endl<<endl;
counter++;
}
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 trenutni=RetreiveL(lokacija,ispis);
cout<<"Sifra "<<trenutni.sifra<<endl;
cout<<"Vrsta "<<trenutni.vrsta<<endl;
cout<<"Naziv "<<trenutni.naziv<<endl;
cout<<"Datum "<<trenutni.datum[0]<<"."<<trenutni.datum[1]<<"."<<trenutni.datum[2]<<endl;
cout<<"Cijena "<<trenutni.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 trenutni=RetreiveL(lokacija,pretraga);
if(trenutni.datum[2]==2012){
if((trenutni.datum[1]>=9)){
if(trenutni.datum[1]==9){
if(trenutni.datum[0]>23){
cout<<"Sifra "<<trenutni.sifra<<endl;
cout<<"Naziv "<<trenutni.naziv<<endl;
cout<<"Datum "<<trenutni.datum[0]<<"."<<trenutni.datum[1]<<"."<<trenutni.datum[2]<<endl;
cout<<"Vrsta "<<trenutni.vrsta<<endl;
cout<<"Cijena "<<trenutni.cijena<<endl;
cout<<"\t\t\t\t\t\t"<<endl;
broj++;
}
}
else{
cout<<"Sifra "<<trenutni.sifra<<endl;
cout<<"Naziv "<<trenutni.naziv<<endl;
cout<<"Datum "<<trenutni.datum[0]<<"."<<trenutni.datum[1]<<"."<<trenutni.datum[2]<<endl;
cout<<"Vrsta "<<trenutni.vrsta<<endl;
cout<<"Cijena "<<trenutni.cijena<<endl;
cout<<"\t\t\t\t\t\t"<<endl;
broj++;
}
}
}
else if(trenutni.datum[2]>2012){
cout<<"Sifra "<<trenutni.sifra<<endl;
cout<<"Naziv "<<trenutni.naziv<<endl;
cout<<"Datum "<<trenutni.datum[0]<<"."<<trenutni.datum[1]<<"."<<trenutni.datum[2]<<endl;
cout<<"Vrsta "<<trenutni.vrsta<<endl;
cout<<"Cijena "<<trenutni.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 trenutni;
cout<<"Unesite naziv "<<endl;
cin.ignore();
cin.getline(trenutni.naziv,35);
element pozicija=LocateL(trenutni,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<<"1. Dodaj zapis u listu po rastucoj sifri "<<endl<<endl;
cout<<"2. Ispis svih unesenih elemenata (od zadnjeg do prvog unesenog) "<<endl<<endl;
cout<<"3. Svi elementi novijeg datuma od 23.9.2012"<<endl<<endl;
cout<<"4. Brisanje elementa sa odredenim nazivom "<<endl<<endl;
cout<<"5. Brisanje svih elemenata odredene vrste "<<endl<<endl;
cout<<"6. Merge sort elemenata liste (silazno po cijeni i silazno po nazivu)"<<endl<<endl;
cout<<"0. Kraj programa "<<endl;
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!=0);
system("pause");
return 0;
}
Revision: 60502
Initial Code
Initial URL
Initial Description
Initial Title
Initial Tags
Initial Language
at November 11, 2012 01:20 by mnovosel2
Initial Code
#include<iostream>
#include "lista_polje.h"
//#include "lista_pokazivac.h"
using namespace std;
int counter=1;
element unos(lista *novi){
zivotinja unos,trenutni;
int uvecaj=0;
element lokacija=FirstL(novi);
cout<<"Sifra zivotinje "<<endl;
cout<<counter<<endl;
unos.sifra=counter;
cin.ignore();
cout<<"Vrsta zivotinje "<<endl;
cin.getline(unos.vrsta,35);
cout<<"Naziv zivotinje "<<endl;
cin.getline(unos.naziv,35);
cout<<"Dan "<<endl;
cin>>unos.datum[0];
cout<<"Mjesec "<<endl;
cin>>unos.datum[1];
cout<<"Godina "<<endl;
cin>>unos.datum[2];
cout<<"Cijena "<<endl;
cin>>unos.cijena;
uvecaj=InsertL(unos,EndL(novi),novi);
if(uvecaj==1){
cout<<endl<<"Element je uspjesno dodan "<<endl<<endl;
counter++;
}
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 trenutni=RetreiveL(lokacija,ispis);
cout<<"Sifra "<<trenutni.sifra<<endl;
cout<<"Vrsta "<<trenutni.vrsta<<endl;
cout<<"Naziv "<<trenutni.naziv<<endl;
cout<<"Datum "<<trenutni.datum[0]<<"."<<trenutni.datum[1]<<"."<<trenutni.datum[2]<<endl;
cout<<"Cijena "<<trenutni.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 trenutni=RetreiveL(lokacija,pretraga);
if(trenutni.datum[2]==2012){
if((trenutni.datum[1]>=9)){
if(trenutni.datum[1]==9){
if(trenutni.datum[0]>23){
cout<<"Sifra "<<trenutni.sifra<<endl;
cout<<"Naziv "<<trenutni.naziv<<endl;
cout<<"Datum "<<trenutni.datum[0]<<"."<<trenutni.datum[1]<<"."<<trenutni.datum[2]<<endl;
cout<<"Vrsta "<<trenutni.vrsta<<endl;
cout<<"Cijena "<<trenutni.cijena<<endl;
cout<<"\t\t\t\t\t\t"<<endl;
broj++;
}
}
else{
cout<<"Sifra "<<trenutni.sifra<<endl;
cout<<"Naziv "<<trenutni.naziv<<endl;
cout<<"Datum "<<trenutni.datum[0]<<"."<<trenutni.datum[1]<<"."<<trenutni.datum[2]<<endl;
cout<<"Vrsta "<<trenutni.vrsta<<endl;
cout<<"Cijena "<<trenutni.cijena<<endl;
cout<<"\t\t\t\t\t\t"<<endl;
broj++;
}
}
}
else if(trenutni.datum[2]>2012){
cout<<"Sifra "<<trenutni.sifra<<endl;
cout<<"Naziv "<<trenutni.naziv<<endl;
cout<<"Datum "<<trenutni.datum[0]<<"."<<trenutni.datum[1]<<"."<<trenutni.datum[2]<<endl;
cout<<"Vrsta "<<trenutni.vrsta<<endl;
cout<<"Cijena "<<trenutni.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 trenutni;
element lokacija=EndL(brisi);
lokacija=PreviousL(lokacija,brisi);
cout<<"Unesite naziv "<<endl;
cin.ignore();
cin.getline(trenutni.naziv,35);
element pozicija=LocateL(trenutni,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<<"1. Dodaj zapis u listu po rastucoj sifri "<<endl<<endl;
cout<<"2. Ispis svih unesenih elemenata (od zadnjeg do prvog unesenog) "<<endl<<endl;
cout<<"3. Svi elementi novijeg datuma od 23.9.2012"<<endl<<endl;
cout<<"4. Brisanje elementa sa odredenim nazivom "<<endl<<endl;
cout<<"5. Brisanje svih elemenata odredene vrste "<<endl<<endl;
cout<<"6. Merge sort elemenata liste (silazno po cijeni i silazno po nazivu)"<<endl<<endl;
cout<<"0. Kraj programa "<<endl;
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!=0);
system("pause");
return 0;
}
Initial URL
Initial Description
Prikaz glavnog programa u kojem su realizirane funkcije za unos, ispis i brisanje. U glavnom programu pozivamo header listapokazivac.h ili listapolje.h
Initial Title
Strukture podataka - main program
Initial Tags
Initial Language
C++