Return to Snippet

Revision: 60593
at November 12, 2012 05:50 by dmacan23


Updated Code
/*
 * glavna.cpp
 *
 *  Created on: Nov 8, 2012
 *      Author: David Ante Macan
 */

#include <iostream>
//#include "lista_pokazivaci.h"
#include "lista_polje.h"
bool polje = false;
using namespace std;

void unos(char *niz){
  cin.getline(niz, 100);
  if(cin.gcount()==1)
    cin.getline(niz,100);
}

int sif=1;
int mog_1(tlista *L){
	tziv nova;
	nova.sifra = sif;
	cout<<"Sifra zivotinje: "<<nova.sifra<<endl;
	cout<<"Vrsta zivotinje: ";
	unos(nova.vrsta);
	cout<<"Naziv zivotinje: ";
	unos(nova.naziv);
	cout<<"Cijena zivotinje: ";
	cin>>nova.cijena;
	cout<<"Datum: "<<endl;
	do{
	cout<<"\tGodina (YYYY): ";
	cin>>nova.datum[0];
	}while(nova.datum[0]<1970 || nova.datum[0]>2020);
	do{
	cout<<"\tMjesec (MM): ";
	cin>>nova.datum[1];
	}while(nova.datum[1]<0 || nova.datum[1]>12);
	do{
	cout<<"\tDan (DD): ";
	cin>>nova.datum[2];
	}while(nova.datum[2]<0 || nova.datum[2]>30);
	int provjera_upisa = InsertL(nova, EndL(L), L);
	if(provjera_upisa){
		cout<<"Upis je bio uspjesan!"<<endl;
		sif++;
		return 1;
	}
	else
		return 0;

}

void ispis(tziv tekuci){
	cout<<"\n\n"
		<<"Sifra zivotinje: "<<tekuci.sifra<<endl
		<<"Vrsta zivotinje: "<<tekuci.vrsta<<endl
		<<"Naziv zivotinje: "<<tekuci.naziv<<endl
		<<"Cijena zivotinje: "<<tekuci.cijena<<endl
		<<"Datum dostave: "<<tekuci.datum[2]<<"."<<tekuci.datum[1]<<"."<<tekuci.datum[0]<<"."<<endl
		<<"-------------------------------------"<<endl<<endl;
}

int mog_2(tlista *L){
	tziv z;
	tip zadnji = PreviousL(EndL(L),L);
	while(EndL(L)!=FirstL(L)){
		z = RetrieveL(zadnji, L);
		ispis(z);
		if(zadnji == FirstL(L))
			break;
		zadnji = PreviousL(zadnji,L);
	}
	return 1;
}

int mog_3(tlista *L){
	tziv z;
	tip iduci = FirstL(L);
	cout<<"Ispis: "<<endl;
	while(1){
		z = RetrieveL(iduci,L);
		if(z.datum[0]>2012)
			ispis(z);
		if(z.datum[0]==2012){
			if((z.datum[1]==9) && (z.datum[2]>=23))
				ispis(z);
			else if(z.datum[1]>9)
				ispis(z);
		}
		if(iduci == PreviousL(EndL(L),L))
			break;
		iduci = NextL(iduci, L);
	}
	return 1;

}

int mog_4(tlista *L){
	tziv z;
	tip tekuci = FirstL(L);
	char vrsta[30];
	cout<<"Unesite vrstu koju zelite obrisati: ";
	unos(vrsta);
	cout<<"\n\nBrisanje"<<endl<<endl;
	while(1){
		z = RetrieveL(tekuci,L);
		if(strcmp(vrsta, z.vrsta)==0){
			cout<<tekuci<<" | ";
			DeleteL(tekuci, L);
			if(tekuci==PreviousL(EndL(L),L))
				break;
		}
		if(tekuci == NextL(EndL(L),L))
			break;
		tekuci = NextL(tekuci,L);
	}
	return 1;
}


int mog_5(tlista *L){
	tziv z;
	tip tekuci = FirstL(L);
	char naziv[30];
	cout<<"Unesite koji naziv zelite obrisati: ";
	unos(naziv);
	cout<<"\n\nBrisanje"<<endl<<endl;
	while(1){
		z = RetrieveL(tekuci,L);
		if(strcmp(naziv, z.naziv)==0){
			DeleteL(tekuci,L);
			if(tekuci==PreviousL(EndL(L),L))
			break;
		}
		if(tekuci == PreviousL(EndL(L),L))
			break;
		tekuci = NextL(tekuci,L);
	}
	return 1;
}


int main(){
	tlista *L = InitL(L);
	int odabir;
	do{
		cout<<"\n\n\n----------------------------------------------------"<<endl
			<<"1. Zapis prema rastucoj sifri zivotinje"<<endl
			<<"2. Ispis svih zivotinja od posljednje unesene"<<endl
			<<"3. Ispis svih zivotinja sa datumom nakon 23.09.2012."<<endl
			<<"4. Brisanje pojedinacnih unosa prema vrsti"<<endl
			<<"5. Brisanje pojedinacnih unosa prema nazivu"<<endl
			<<"6. Silazno sortiranje sadrzaja liste prema cijeni i nazivu"<<endl
			<<"7. {TEST} DeleteAllL(L)"<<endl
			<<"9. Izlaz iz programa"<<endl
			<<"----------------------------------------------------------"<<endl
			<<"\nOdabir: ";
		cin>>odabir;

		switch(odabir){
			case 1: mog_1(L); break;
			case 2: mog_2(L); break;
			case 3: mog_3(L); break;
			case 4: mog_4(L); break;
			case 5: mog_5(L); break;
			case 6: MSort(L,FirstL(L),EndL(L)-1); break;
			case 7: DeleteAllL(L); break;
			case 9: cout<<"\n\n\n\t\t--- KRAJ PROGRAMA ---"<<endl; break;
			default: cout<<"\n\nPogresan unos! Odaberite jedan od ponudjenih!"<<endl; break;
		}
	}while(odabir!=9);
	return 0;
}

Revision: 60592
at November 12, 2012 01:51 by dmacan23


Initial Code
/*
 * glavna.cpp
 *
 *  Created on: Nov 8, 2012
 *      Author: David Ante Macan
 */



#include <iostream>
//#include "lista_pokazivaci.h"
#include "lista_polje.h"
bool polje = false;
using namespace std;

void unos(char *niz){
  cin.getline(niz, 100);
  if(cin.gcount()==1)
    cin.getline(niz,100);
}

int sif=1;
int mog_1(tlista *L){
	tziv nova;
	nova.sifra = sif;
	cout<<"Sifra zivotinje: "<<nova.sifra<<endl;
	cout<<"Vrsta zivotinje: ";
	unos(nova.vrsta);
	cout<<"Naziv zivotinje: ";
	unos(nova.naziv);
	cout<<"Cijena zivotinje: ";
	cin>>nova.cijena;
	cout<<"Datum: "<<endl;
	do{
	cout<<"\tGodina (YYYY): ";
	cin>>nova.datum[0];
	}while(nova.datum[0]<1970 || nova.datum[0]>2020);
	do{
	cout<<"\tMjesec (MM): ";
	cin>>nova.datum[1];
	}while(nova.datum[1]<0 || nova.datum[1]>12);
	do{
	cout<<"\tDan (DD): ";
	cin>>nova.datum[2];
	}while(nova.datum[2]<0 || nova.datum[2]>30);
	int provjera_upisa = InsertL(nova, EndL(L), L);
	if(provjera_upisa){
		cout<<"Upis je bio uspjesan!"<<endl;
		sif++;
		return 1;
	}
	else
		return 0;

}

void ispis(tziv tekuci){
	cout<<"\n\n"
		<<"Sifra zivotinje: "<<tekuci.sifra<<endl
		<<"Vrsta zivotinje: "<<tekuci.vrsta<<endl
		<<"Naziv zivotinje: "<<tekuci.naziv<<endl
		<<"Cijena zivotinje: "<<tekuci.cijena<<endl
		<<"Datum dostave: "<<tekuci.datum[2]<<"."<<tekuci.datum[1]<<"."<<tekuci.datum[0]<<"."<<endl
		<<"-------------------------------------"<<endl<<endl;
}

int mog_2(tlista *L){
	tziv z;
	tip zadnji = PreviousL(EndL(L),L);
	while(EndL(L)!=FirstL(L)){
		z = RetrieveL(zadnji, L);
		ispis(z);
		if(zadnji == FirstL(L))
			break;
		zadnji = PreviousL(zadnji,L);
	}
	return 1;
}

int mog_3(tlista *L){
	tziv z;
	tip iduci = FirstL(L);
	cout<<"Ispis: "<<endl;
	while(1){
		z = RetrieveL(iduci,L);
		if(z.datum[0]>2012)
			ispis(z);
		if(z.datum[0]==2012){
			if((z.datum[1]==9) && (z.datum[1]>=23))
				ispis(z);
			else if(z.datum[1]>9)
				ispis(z);
		}
		if(iduci == PreviousL(EndL(L),L))
			break;
		iduci = NextL(iduci, L);
	}
	return 1;

}

int mog_4(tlista *L){
	tziv z;
	tip tekuci = FirstL(L);
	char vrsta[30];
	cout<<"Unesite vrstu koju zelite obrisati: ";
	unos(vrsta);
	cout<<"\n\nBrisanje"<<endl<<endl;
	while(1){
		z = RetrieveL(tekuci,L);
		if(strcmp(vrsta, z.vrsta)==0){
			cout<<tekuci<<" | ";
			DeleteL(tekuci, L);
			break;
		}
		if(tekuci == PreviousL(EndL(L),L))
			break;
		tekuci = NextL(tekuci,L);
	}
	return 1;
}


int mog_5(tlista *L){
	tziv z;
	tip tekuci = FirstL(L);
	char naziv[30];
	cout<<"Unesite koji naziv zelite obrisati: ";
	unos(naziv);
	cout<<"\n\nBrisanje"<<endl<<endl;
	while(1){
		z = RetrieveL(tekuci,L);
		if(strcmp(naziv, z.naziv)==0){
			DeleteL(tekuci,L);
			break;
		}
		if(tekuci == PreviousL(EndL(L),L))
			break;
		tekuci = NextL(tekuci,L);
	}
	return 1;
}


int main(){
	tlista *L = InitL(L);
	int odabir;
	do{
		cout<<"\n\n\n----------------------------------------------------"<<endl
			<<"1. Zapis prema rastucoj sifri zivotinje"<<endl
			<<"2. Ispis svih zivotinja od posljednje unesene"<<endl
			<<"3. Ispis svih zivotinja sa datumom nakon 23.09.2012."<<endl
			<<"4. Brisanje pojedinacnih unosa prema vrsti"<<endl
			<<"5. Brisanje pojedinacnih unosa prema nazivu"<<endl
			<<"6. Silazno sortiranje sadrzaja liste prema cijeni i nazivu"<<endl
			<<"7. {TEST} DeleteAllL(L)"<<endl
			<<"9. Izlaz iz programa"<<endl
			<<"----------------------------------------------------------"<<endl
			<<"\nOdabir: ";
		cin>>odabir;

		switch(odabir){
			case 1: mog_1(L); break;
			case 2: mog_2(L); break;
			case 3: mog_3(L); break;
			case 4: mog_4(L); break;
			case 5: mog_5(L); break;
			case 6: MSort(L,FirstL(L),EndL(L)-1); break;
			case 7: DeleteAllL(L); break;
			case 9: cout<<"\n\n\n\t\t--- KRAJ PROGRAMA ---"<<endl; break;
			default: cout<<"\n\nPogresan unos! Odaberite jedan od ponudjenih!"<<endl; break;
		}
	}while(odabir!=9);
	return 0;
}

Initial URL


Initial Description
1. Zadatak kolegija "Strukture podataka" na Fakultetu Organizacije i Informatike u Varaždinu. Trebalo je napraviti program koji služi za evidenciju kućnih ljubimaca u trgovini za kućne ljubimce, i to pomoću ATP liste implementirane poljem i pokazivačima. Ovo je glavna funkcija koja treba još ili "lista_pokazivaci.h", ili "lista_polje.h" kako bi radila

Initial Title
Strukture_Podataka_Z1-glavna.cpp

Initial Tags


Initial Language
C++