Return to Snippet

Revision: 60530
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
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
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
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++