Revision: 60530
Updated Code
at November 11, 2012 11:53 by frafajec
Updated Code
#include<iostream>
//#include "lista_polje.h"
#include "lista_pokazivaci.h"
using namespace std;
lista *L;
int p=0,sifra=0;
void novi_zapis(){
cin.ignore();
++p;
podaci novi;
novi.sifra = sifra;
cout<<"\nUnos podataka:"<<endl;
cout<<"Vrsta: ";
cin.getline(novi.vrsta,50);
cout<<"Naziv: ";
cin.getline(novi.naziv,50);
cout<<"Cijena: ";
cin>>novi.cijena;
cout<<"Datum dolaska (GGGGMMDD): ";
cin>>novi.datum;
InsertL(novi,p,L);
cout<<endl;
}
void ispis_silazno(lista *L){
if(p<=0) return;
int pom=EndL(L);
pom = PreviousL(pom,L);
while (1){
podaci novi = RetrieveL(pom,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(pom == FirstL(L)) break;
pom = PreviousL(pom,L);
}
};
void ispis_svi(lista *L){
lista *k = L -> slijedeci;
while (k){
cout<<"Sifra: "<<k->zapis.sifra<<endl;
cout<<"Vrsta: "<<k->zapis.vrsta<<endl;
cout<<"Naziv: "<<k->zapis.naziv<<endl;
cout<<"Cijena: "<<k->zapis.cijena<<endl;
cout<<"Datum: "<<k->zapis.datum<<endl;
cout<<"---------------------"<<endl;
k = k -> slijedeci;
}
};
void ispis_datum(lista *L){
int brojac=0;
lista *k = L -> slijedeci;
while(k){
if(k -> zapis.datum >20120923){
cout<<"\nSifra: "<<k->zapis.sifra<<endl;
cout<<"Vrsta: "<<k->zapis.vrsta<<endl;
cout<<"Naziv: "<<k->zapis.naziv<<endl;
cout<<"Cijena: "<<k->zapis.cijena<<endl;
cout<<"Datum: "<<k->zapis.datum<<endl;
brojac++;
}
k = k -> slijedeci;
}
cout<<"Broj zivotinja dodanih poslije 23.09.2012: "<<brojac<<endl<<endl;
}
void obrisi(lista *L){
int odb;
do{
cout<<"Zelite obrisati zivotinju po:\n1. nazivu\n2. vrsti\nVas odabir: ";
cin>>odb;
}while(odb<1 && odb>2);
if(odb==1){
char nzv[50];
cin.ignore();
cout<<"Upisite naziv: ";
cin.getline(nzv,50);
DeleteL(nzv,L);
if(DeleteL(nzv,L)==1){ cout<<"Uspjesno obrisano!"<<endl<<endl;
p--;
}
}
else{
char nzv[50];
cin.ignore();
cout<<"Upisite vrstu: ";
cin.getline(nzv,50);
int pom=sifra;
for(int i=sifra;i>0;i--){
if(DeleteL(nzv,L)) p--;
}
if(DeleteL(nzv,L)==1){ cout<<"Uspjesno obrisano!"<<endl<<endl;
}
}
}
void sort(lista *L){
if(!L->slijedeci)return;
lista *prije , *trenutni, *poslije;
bool sortiram;
do {
sortiram = false;
trenutni=L->slijedeci;
prije=L;
while (trenutni->slijedeci) {
poslije=trenutni->slijedeci;
if (int(trenutni->zapis.cijena) < int(poslije->zapis.cijena)) {
prije->slijedeci=poslije;
trenutni->slijedeci=poslije->slijedeci;
poslije->slijedeci=trenutni;
sortiram=true;
}
prije=prije->slijedeci;
trenutni=prije->slijedeci;
}
} while (sortiram);
ispis_svi(L);
return;
}
int main(){
int izbor=0;
L=new lista;
InitL(L);
do{
cout<<"Izbornik - evidencija zivotinja"<<endl;
cout<<"1. Novi zapis"<<endl;
cout<<"2. Ispis sadrzaja liste"<<endl;
cout<<"3. Ispis svih poslje 23.9.2012"<<endl;
cout<<"4. Brisanje unosa"<<endl;
cout<<"5. Sortiranje prema cijeni (silazno)"<<endl;
cout<<"9. IZLAZ"<<endl;
cout<<"Vas izbor: ";
cin>>izbor;
switch(izbor){
case 1: ++sifra;
novi_zapis();
break;
case 2: ispis_silazno(L);
break;
case 3: ispis_datum(L);
break;
case 4: obrisi(L);
break;
case 5: sort(L);
break;
case 9: break;
default: cout<<"Pogresan unos!"<<endl;
}
}while(izbor!=9);
system("pause");
return 0;
}
Revision: 60529
Updated Code
at November 11, 2012 05:42 by frafajec
Updated Code
#include<iostream>
//#include "lista_polje.h"
#include "lista_pokazivaci.h"
using namespace std;
lista *L;
int p=0,sifra=0;
void novi_zapis(){
cin.ignore();
++p;
podaci novi;
novi.sifra = sifra;
cout<<"\nUnos podataka:"<<endl;
cout<<"Vrsta: ";
cin.getline(novi.vrsta,50);
cout<<"Naziv: ";
cin.getline(novi.naziv,50);
cout<<"Cijena: ";
cin>>novi.cijena;
cout<<"Datum dolaska (GGGGMMDD): ";
cin>>novi.datum;
InsertL(novi,p,L);
cout<<endl;
}
void ispis_svi(lista *L){
if(p<=0) return;
int pom=EndL(L);
pom = PreviousL(pom,L);
while (1){
podaci novi = RetrieveL(pom,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(pom == FirstL(L)) break;
pom = PreviousL(pom,L);
}
};
void ispis_datum(lista *L){
int brojac=0;
lista *k = L -> slijedeci;
while(k){
if(k -> zapis.datum >20120923){
cout<<"\nSifra: "<<k->zapis.sifra<<endl;
cout<<"Vrsta: "<<k->zapis.vrsta<<endl;
cout<<"Naziv: "<<k->zapis.naziv<<endl;
cout<<"Cijena: "<<k->zapis.cijena<<endl;
cout<<"Datum: "<<k->zapis.datum<<endl;
brojac++;
}
k = k -> slijedeci;
}
cout<<"Broj zivotinja dodanih poslije 23.09.2012: "<<brojac<<endl<<endl;
}
void obrisi(lista *L){
int odb;
do{
cout<<"Zelite obrisati zivotinju po:\n1. nazivu\n2. vrsti\nVas odabir: ";
cin>>odb;
}while(odb<1 && odb>2);
if(odb==1){
char nzv[50];
cin.ignore();
cout<<"Upisite naziv: ";
cin.getline(nzv,50);
DeleteL(nzv,L);
if(DeleteL(nzv,L)==1){ cout<<"Uspjesno obrisano!"<<endl<<endl;
p--;
}
}
else{
char nzv[50];
cin.ignore();
cout<<"Upisite vrstu: ";
cin.getline(nzv,50);
int pom=sifra;
for(int i=sifra;i>0;i--){
if(DeleteL(nzv,L)) p--;
}
if(DeleteL(nzv,L)==1){ cout<<"Uspjesno obrisano!"<<endl<<endl;
}
}
}
void sort(lista *L){
if(!L->slijedeci)return;
lista *prije , *trenutni, *poslije;
bool sortiram;
do {
sortiram = false;
trenutni=L->slijedeci;
prije=L;
while (trenutni->slijedeci) {
poslije=trenutni->slijedeci;
if (int(trenutni->zapis.cijena) < int(poslije->zapis.cijena)) {
prije->slijedeci=poslije;
trenutni->slijedeci=poslije->slijedeci;
poslije->slijedeci=trenutni;
sortiram=true;
}
prije=prije->slijedeci;
trenutni=prije->slijedeci;
}
} while (sortiram);
ispis_svi(L);
return;
}
int main(){
int izbor=0;
L=new lista;
InitL(L);
do{
cout<<"Izbornik - evidencija zivotinja"<<endl;
cout<<"1. Novi zapis"<<endl;
cout<<"2. Ispis sadrzaja liste"<<endl;
cout<<"3. Ispis svih poslje 23.9.2012"<<endl;
cout<<"4. Brisanje unosa"<<endl;
cout<<"5. Sortiranje prema cijeni (silazno)"<<endl;
cout<<"9. IZLAZ"<<endl;
cout<<"Vas izbor: ";
cin>>izbor;
switch(izbor){
case 1: ++sifra;
novi_zapis();
break;
case 2: ispis_svi(L);
break;
case 3: ispis_datum(L);
break;
case 4: obrisi(L);
break;
case 5: sort(L);
break;
case 9: break;
default: cout<<"Pogresan unos!"<<endl;
}
}while(izbor!=9);
system("pause");
return 0;
}
Revision: 60528
Updated Code
at November 11, 2012 04:38 by frafajec
Updated Code
#include<iostream>
//#include "lista_polje.h"
#include "lista_pokazivaci.h"
using namespace std;
lista *L;
int p=0,sifra=0;
void novi_zapis(){
cin.ignore();
++p;
podaci novi;
novi.sifra = sifra;
cout<<"\nUnos podataka:"<<endl;
cout<<"Vrsta: ";
cin.getline(novi.vrsta,50);
cout<<"Naziv: ";
cin.getline(novi.naziv,50);
cout<<"Cijena: ";
cin>>novi.cijena;
cout<<"Datum dolaska (GGGGMMDD): ";
cin>>novi.datum;
InsertL(novi,p,L);
cout<<endl;
}
void ispis_svi(lista *L){
lista *k = L -> slijedeci;
while (k){
cout<<"Sifra: "<<k->zapis.sifra<<endl;
cout<<"Vrsta: "<<k->zapis.vrsta<<endl;
cout<<"Naziv: "<<k->zapis.naziv<<endl;
cout<<"Cjena: "<<k->zapis.cijena<<endl;
cout<<"Datum: "<<k->zapis.datum<<endl;
cout<<"---------------------"<<endl;
k = k -> slijedeci;
}
};
void ispis_datum(lista *L){
int brojac=0;
lista *k = L -> slijedeci;
while(k){
if(k -> zapis.datum >20120923){
cout<<"\nSifra: "<<k->zapis.sifra<<endl;
cout<<"Vrsta: "<<k->zapis.vrsta<<endl;
cout<<"Naziv: "<<k->zapis.naziv<<endl;
cout<<"Cijena: "<<k->zapis.cijena<<endl;
cout<<"Datum: "<<k->zapis.datum<<endl;
brojac++;
}
k = k -> slijedeci;
}
cout<<"Broj zivotinja dodanih poslije 23.09.2012: "<<brojac<<endl<<endl;
}
void obrisi(lista *L){
int odb;
do{
cout<<"Zelite obrisati zivotinju po:\n1. nazivu\n2. vrsti\nVas odabir: ";
cin>>odb;
}while(odb<1 && odb>2);
if(odb==1){
char nzv[50];
cin.ignore();
cout<<"Upisite naziv: ";
cin.getline(nzv,50);
DeleteL(nzv,L);
if(DeleteL(nzv,L)==1){ cout<<"Uspjesno obrisano!"<<endl<<endl;
}
}
else{
char nzv[50];
cin.ignore();
cout<<"Upisite vrstu: ";
cin.getline(nzv,50);
int pom=sifra;
for(int i=0;i<pom;i++){
DeleteL(nzv,L);
}
if(DeleteL(nzv,L)==1){ cout<<"Uspjesno obrisano!"<<endl<<endl;
sifra--;}
}
}
void sort(lista *L){
if(!L->slijedeci)return;
lista *prije , *trenutni, *poslije;
bool sortiram;
do {
sortiram = false;
trenutni=L->slijedeci;
prije=L;
while (trenutni->slijedeci) {
poslije=trenutni->slijedeci;
if (int(trenutni->zapis.cijena) < int(poslije->zapis.cijena)) {
prije->slijedeci=poslije;
trenutni->slijedeci=poslije->slijedeci;
poslije->slijedeci=trenutni;
sortiram=true;
}
prije=prije->slijedeci;
trenutni=prije->slijedeci;
}
} while (sortiram);
ispis_svi(L);
return;
}
int main(){
int izbor=0;
L=new lista;
InitL(L);
do{
cout<<"Izbornik - evidencija zivotinja"<<endl;
cout<<"1. Novi zapis"<<endl;
cout<<"2. Ispis sadrzaja liste"<<endl;
cout<<"3. Ispis svih poslje 23.9.2012"<<endl;
cout<<"4. Brisanje unosa"<<endl;
cout<<"5. Sortiranje prema cijeni (silazno)"<<endl;
cout<<"9. IZLAZ"<<endl;
cout<<"Vas izbor: ";
cin>>izbor;
switch(izbor){
case 1: ++sifra;
novi_zapis();
break;
case 2: ispis_svi(L);
break;
case 3: ispis_datum(L);
break;
case 4: obrisi(L);
break;
case 5: sort(L);
break;
case 9: break;
default: cout<<"Pogresan unos!"<<endl;
}
}while(izbor!=9);
system("pause");
return 0;
}
Revision: 60527
Initial Code
Initial URL
Initial Description
Initial Title
Initial Tags
Initial Language
at November 11, 2012 04:05 by frafajec
Initial Code
#include<iostream>
//#include "lista_polje.h"
#include "lista_pokazivaci.h"
using namespace std;
lista *L;
int p=0,sifra=0;
void novi_zapis(){
cin.ignore();
++p;
podaci novi;
novi.sifra = sifra;
cout<<"\nUnos podataka:"<<endl;
cout<<"Vrsta: ";
cin.getline(novi.vrsta,50);
cout<<"Naziv: ";
cin.getline(novi.naziv,50);
cout<<"Cijena: ";
cin>>novi.cijena;
cout<<"Datum dolaska (GGGGMMDD): ";
cin>>novi.datum;
InsertL(novi,p,L);
cout<<endl;
}
void ispis_svi(lista *L){
lista *k = L -> slijedeci;
while (k){
cout<<"Sifra: "<<k->zapis.sifra<<endl;
cout<<"Vrsta: "<<k->zapis.vrsta<<endl;
cout<<"Naziv: "<<k->zapis.naziv<<endl;
cout<<"Cjena: "<<k->zapis.cijena<<endl;
cout<<"Datum: "<<k->zapis.datum<<endl;
cout<<"---------------------"<<endl;
k = k -> slijedeci;
}
};
void ispis_datum(lista *L){
int brojac=0;
lista *k = L -> slijedeci;
while(k){
if(k -> zapis.datum >20120923){
cout<<"\nSifra: "<<k->zapis.sifra<<endl;
cout<<"Vrsta: "<<k->zapis.vrsta<<endl;
cout<<"Naziv: "<<k->zapis.naziv<<endl;
cout<<"Cijena: "<<k->zapis.cijena<<endl;
cout<<"Datum: "<<k->zapis.datum<<endl;
brojac++;
}
k = k -> slijedeci;
}
cout<<"Broj zivotinja dodanih poslije 23.09.2012: "<<brojac<<endl<<endl;
}
void obrisi(lista *L){
int odb;
do{
cout<<"Zelite obrisati zivotinju po:\n1. nazivu\n2.vrsti\nVas odabir: ";
cin>>odb;
}while(odb<1 && odb>2);
if(odb==1){
char nzv[50];
cin.ignore();
cout<<"Upisite naziv: ";
cin.getline(nzv,50);
DeleteL(nzv,L);
cout<<"Uspjesno obrisano!"<<endl<<endl;
sifra--;
}
else{
char nzv[50];
cin.ignore();
cout<<"Upisite vrstu: ";
cin.getline(nzv,50);
DeleteL(nzv,L);
cout<<"Uspjesno obrisano!"<<endl<<endl;
}
}
void sort(lista *L){
if(!L->slijedeci)return;
lista *prije , *trenutni, *poslije;
bool sortiram;
do {
sortiram = false;
trenutni=L->slijedeci;
prije=L;
while (trenutni->slijedeci) {
poslije=trenutni->slijedeci;
if (int(trenutni->zapis.cijena) < int(poslije->zapis.cijena)) {
prije->slijedeci=poslije;
trenutni->slijedeci=poslije->slijedeci;
poslije->slijedeci=trenutni;
sortiram=true;
}
prije=prije->slijedeci;
trenutni=prije->slijedeci;
}
} while (sortiram);
ispis_svi(L);
return;
}
int main(){
int izbor=0;
L=new lista;
InitL(L);
do{
cout<<"Izbornik - evidencija zivotinja"<<endl;
cout<<"1. Novi zapis"<<endl;
cout<<"2. Ispis sadrzaja liste"<<endl;
cout<<"3. Ispis svih poslje 23.9.2012"<<endl;
cout<<"4. Brisanje unosa"<<endl;
cout<<"5. Sortiranje prema cijeni (silazno)"<<endl;
cout<<"9. IZLAZ"<<endl;
cout<<"Vas izbor: ";
cin>>izbor;
switch(izbor){
case 1: ++sifra;
novi_zapis();
break;
case 2: ispis_svi(L);
break;
case 3: ispis_datum(L);
break;
case 4: obrisi(L);
break;
case 5: sort(L);
break;
case 9: break;
default: cout<<"Pogresan unos!"<<endl;
}
}while(izbor!=9);
system("pause");
return 0;
}
Initial URL
Initial Description
Kod evidentira zivotinje koje korisnik unosi. Omoguceno je brisanje zivotinje kao i cijele vrste, te takodjer sortiranje i ispis svih zivotinja u listi.
Initial Title
Evidencija zivotinja
Initial Tags
podataka
Initial Language
C++