Professional Documents
Culture Documents
Dodatno - Seminarski - Rad - C++ Avio Karte
Dodatno - Seminarski - Rad - C++ Avio Karte
Dodatno - Seminarski - Rad - C++ Avio Karte
S obzirom da većina vas ima problema s unosom podataka vezanih za vaš projekt. Još
jednom ću reći. Dakle većina vas je dobro odradila, imate neke podatke koje ste spremili u
vašu tu zamišljenu bazu i kad se odabere broj koji se nalazi ispred ispiše podatke vezane za
taj podatak koji se nalazi unutra. I to većina ima i to sve radi. Ali je potrebno omogućiti još i
neki unos. Ako je to recimo tema jezera. Uz ta jezera koja ste vi već opisali, potrebno je
omogućiti da ja upišem recimo sama naziv jezera i da upišem podatak nalazi se u toj i toj
državi. Ili ako je u pitanju sport. Onda da ja sama mogu unijeti ime nekog sportaša i da mogu
unijeti klub za koji igra. Uz sve podatke i ispise koje ste mi vi već ponudili. Dakle uz one
switch- case dijelove koje ste manje više svi radili, samo dodati dio za unos.
U nastavku ovog dokumenta nalazi se kod koji je kolega uradio za primjer jednog unosa.
Dakle imao je unos podatka kad je željeni let i onda mu izbaci ponuđene letove. I onda ide
standard ispis ovisno o broju leta ispišu se neki podatci što je većina vas imala. Dakle to je taj
unos bez nekog spremanja u tu bazu koji ste trebali imati za vaše unose vezane za teme.
#include<iostream>
#include<ctime>
using namespace std;
int main()
{
time_t vrijeme = time(0);
tm* trenutno = localtime(&vrijeme);
int trenutnaGodina = trenutno->tm_year+1900; //+1900 zato sto tm_year predstavlja
broj godina nakon 1900te
int trenutniMjesec = trenutno->tm_mon + 1;
int trenutniDan = trenutno->tm_mday;
unosdatuma:
cout << "Unesite datum leta: (format: dan/mjesec/godina) " << endl;
int dan, mjesec, godina;
cin >> dan >> mjesec >> godina;
if (dan < 1 || dan>31 || mjesec < 1 || mjesec>12 || godina < trenutnaGodina)
{
cout << "Uneseni datum nije validan"<<endl;
goto unosdatuma;
}
if (godina == trenutnaGodina) { //Ovaj if provjerava da li je uneseni datum
prosao
if (mjesec < trenutniMjesec) {
cout << "Uneseni datum nije validan" << endl;
goto unosdatuma;
}
if (mjesec == trenutniMjesec && dan<trenutniDan) {
cout << "Uneseni datum nije validan" << endl;
goto unosdatuma;
}
}
bool prijestupna = ((godina % 4 == 0) && (godina % 100 != 0)) || (godina % 400 ==
0);
if (mjesec == 1 || mjesec == 3 || mjesec == 5 || mjesec == 7 || mjesec == 8 || mjesec ==
10 || mjesec == 12)
{
if (dan <= 31) {
cout << "Uneseni datum je validan"<<endl;
}
else {
cout << "Uneseni datum nije validan" << endl; goto unosdatuma;
}
}
if (mjesec == 4 || mjesec == 6 || mjesec == 9 || mjesec == 11)
{
if (dan <= 30) {
cout << "Uneseni datum je validan"<<endl;
}
else { cout << "Uneseni datum nije validan" << endl; goto unosdatuma; }
}
else if (mjesec == 2) {
if (dan <= 28) { cout << "Uneseni datum je validan"<<endl;
}else if (dan == 29 && prijestupna == true) cout<<"Uneseni datum je
validan"<<endl;
else { cout << "Uneseni datum nije validan" << endl; goto unosdatuma; }
}
int brojLeta, cijena;
string let,trajanje,kofer,sjediste;
cout <<endl<< "Sarajevo-Frankfurt (1)" << endl;
cout << "Tuzla-Istanbul (2)" << endl;
cout << "Banja Luka-Paris (3)" << endl;
do {
cout << "Unesite redni broj zeljenog leta" << endl;
cin >> brojLeta;
}while(brojLeta < 1 || brojLeta>3);
switch (brojLeta)
{
case 1:
cijena = 145;
let = "Sarajevo-Frankfurt";
trajanje = "1h 30m";
cout << "Let: Sarajevo-Frankfurt" << endl;
cout << "Cijena leta: 145KM" << endl;
cout << "Trajanje leta: 1h 30m" << endl;
break;
case 2:
cijena = 200;
let = "Tuzla-Istanbul";
trajanje = "3h 20m";
cout << "Let: Tuzla-Istanbul" << endl;
cout << "Cijena leta: 200KM" << endl;
cout << "Trajanje leta: 3h 20m" << endl;
break;
case 3:
cijena = 400;
let = "Banja Luka-Paris";
trajanje = "2h 15m";
cout << "Let: Banja Luka-Paris" << endl;
cout << "Cijena leta: 400KM" << endl;
cout << "Trajanje leta: 2h 15m" << endl;
break;
}
cout << "Da li zelite dodatni kofer do 23 kg (40KM)? da / ne "<<endl;
do{
cin >> kofer;
if (kofer == "da") cijena += 40;
} while (kofer != "da" && kofer != "ne");
cout << "Da li zelite rezervisati zeljeno sjediste? da/ne \nUkoliko ne, sjediste ce biti
nasumicno dodjeljeno" << endl;
do {
cin >> sjediste;
} while (sjediste != "da" && sjediste != "ne");
int red;
char mjestoSjedista;
if (sjediste == "da") {
do {
cout << "Unesite zeljeno sjediste: red(1-30), sjediste(A-F)" << endl;
cin >> red;
cin >> mjestoSjedista;
} while (red < 1 || red>30 || int(mjestoSjedista) < 65 || int(mjestoSjedista) >
70);
}
else {
srand(time(NULL));
red = rand() % 30;
int sjedisteBr = rand() % 6;
cout << endl << "Sjedistebr=" << sjedisteBr;
mjestoSjedista = char(sjedisteBr + 64);
}
cout << "Let je uspjesno bukiran, informacije leta: " << endl;
cout << "Datum leta: " << dan << "/" << mjesec << "/" << godina << endl;
cout << "Let: " << let<<endl;
cout << "Ukupna cijena leta: " << cijena << " KM" << endl;
cout << "Trajanje leta: " << trajanje << endl;
cout << "Dodatni kofer: " << kofer<<endl;
cout << "Sjediste: " << red << mjestoSjedista<<endl;
system("PAUSE");
return 0;
}
Neke kolege su slali i radove u kojima su podatci vezani za njihovu temu unošeni u bazu i ti
isti su spremani u nju i bili ponuđeni u meniju za iščitavanje. Tako da za one studente koji
žele raditi stvarni unos u bazu i ispisivanje podataka iz nje, mogu vidjeti jedan primjer koji se
nalazi ispod. Dakle ponavljam ovo je s unosom i spremanjem u bazu i s ispisom iz nje. Ja
sam napravila unos i kod za temu Parfumerija koju niste imali na popisu.
#include <iostream>
#include <string>
#include <fstream>
using namespace std;
#define BROJ_PROIZVODA 20
getline(mojaBaza, vrijednost);
kolicineProizvoda[brojac] = stoi(vrijednost);
getline(mojaBaza, vrijednost);
cijeneProizvoda[brojac] = stod(vrijednost);
getline(mojaBaza, vrijednost);
pakovanjeProizvoda[brojac] = stoi(vrijednost);
brojac++;
}
mojaBaza.close();
}
return brojac;
}
void ispisLinije()
{
cout << "----------------------------" << endl;
}
int main()
{
int odabraniMeni;
string naziviProizvoda[BROJ_PROIZVODA];
int kolicineProizvoda[BROJ_PROIZVODA];
double cijeneProizvoda[BROJ_PROIZVODA];
int pakovanjeProizvoda[BROJ_PROIZVODA];
while (true) {
system("clear");
cout << "\n\n Dobro dosli u Parfumeriju!\n\n";
cout << "Meni:" << endl;
ispisMenija(naziviProizvoda, brojUnesenihProizvoda);
while (true) {
cout << ">";
cin >> odabraniMeni;
system("clear");
if (odabraniMeni == 0)
{
string naziv;
int kolicina;
double cijena;
int pakovanje;
cout << "Unesite novi proizvod:" << endl;
cout << " Unesite naziv parfema: ";
cin.clear();
cin.ignore();
getline(cin, naziv);
cout << " Koliko parfema je dostupno na stanju: ";
brojUnesenihProizvoda++;
int idx = brojUnesenihProizvoda - 1;
naziviProizvoda[idx] = naziv;
kolicineProizvoda[idx] = kolicina;
cijeneProizvoda[idx] = cijena;
pakovanjeProizvoda[idx] = pakovanje;
ispisLinije();
cout << "Hvala na posjeti našoj parfumeriji!" << endl << endl;
return 0;
}
else
{
int idx = odabraniMeni - 1;
ispisProizvoda(naziviProizvoda[idx], cijeneProizvoda[idx],
kolicineProizvoda[idx], pakovanjeProizvoda[idx]);
ispisLinije();
while (true) {
cout << "Želite li nastaviti pretragu ili dodati novi proizvod? (d/n)"
<< endl;
string daNe;
cout << ">";
cin >> daNe;
if (daNe == "n")
{
goto izlaz;
}
else if (daNe == "d")
{
break;
}
};
}
}