Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- /* PRIMJER MODELIRANJA.....
- Naslov - sto je cilj?
- Dostava cigareta na kucnu adresu
- Lik - tko zeli postici cilj?
- Aplikacija/sustav
- Scenarij - kako se postize cilj?
- ** Korisnik ima izbornik sa cigaretama na mobilnoj aplikaciji i ubacuje artikle u kosaricu. Potvrduje narudbu i korisnika se
- traze podaci osobne (ime, prezime, godina rodenja - 18 god minimalno), nakon provjere provjerava se uplata karticom i dostavljac
- dostavlja artikl na unesenu adresu.
- * KORISNIK-PODACI, IZBORNIK, CIGARETE, KOSARICA, NARUDBA, PROVJERA_PODATAKA, KARTICA/RACUN, DOSTAVLJAC
- 1.Sucelje za prikaz artikla na aplikaciji
- 2.Omoguciti sortiranje cijenom uzl/sil
- 3.Pretrazivanje unesenog imena cigareta
- 4.Unos podataka i spremanje u bazu, slanje na provjeru
- 5.Provjera podataka (-18)
- 6.Unos kartice ili placanje pouzecem
- 6.1. Kartica-provjera uplate
- 6.2. Pouzecem, nastavlja se dalje
- 7.Slanje podataka o narudbi dostavljacu
- 8.Smanjenje zaliha za narucene artikle
- 9.Slanje podataka o narudbi kupcu na e-mail
- Dodaci - sto ako nesto zapne
- 1.U slucaju da je korisnik maloljetan, ispisuje se upozorenje o prodaji duhanskih proizvoda mladim od 18 godina.
- 2.U slucaju da nema trazenih cigareta, preporuka naslicnijih
- 3.Uplata nije prosla, ponudi se da pokusa ponovo
- ---------------------------------------------------------------------------------------------------------------------------------------------------------
- bankomat i mora imati, sustav prijave, s korisnickim imenom i sifrom
- kad se prijavi, mora imati u izborniku dvije opceije pregled stanja, i podizanje novca, nek se stanje racuna biljezi u vanjskoj datoteci
- varijable u fstremu, kor ime i sifru i racun broj i stanje
- Naslov
- Sustav bankomata
- Cilj
- Podizanje gotovine, pregled stanja
- Scenarij
- Korisnik unosi broj racuna(karticu) i unosi PIN. Ako je PIN ispravan, nudi se mogucnost:
- 1. Unosenja kolicine novca za podignuti sa bankomata, provjerava se stanje racuna iz baze i ako je kolicina zatrazenog novca manja ili jednaka od stanja racuna,
- omogucuje se isplata, u suprotnom se trazi novi unos. Nakon podizanja gotovine, novo stanje se ispisuje u bazu
- 2. Pregleda stanja novca - iz baze se dohvacaju podaci o stanju, imenu, prezimenu i ispisuju na ekran.
- Dodaci
- U slucaju greske kod pina, trazi se ponovni unos, ako opet zapne trazi se unos, i ako po treci put pogrijesi, racun se brise
- Klase: KORISNIK RACUN BAZA ISPLATA ISPIS
- */
- #include <iostream>
- #include <fstream>
- #include <vector>
- #include <cstdlib>
- #include <iomanip>
- using namespace std;
- class Racun{
- int PIN;
- int broj_racuna;
- int stanje;
- public:
- void set_pin(int tmp);
- void set_broj_racuna(int tmp);
- int get_pin();
- int get_broj_racuna();
- void set_stanje(int tmp);
- int get_stanje();
- };
- class Korisnik{
- string ime,prezime;
- Racun r1;
- public:
- void set_ime(string tmp);
- string get_ime();
- void set_prezime(string tmp);
- string get_prezime();
- void set_racun(int pin, int broj_racuna,int stanje);
- void set_racun(int stanje){
- r1.set_stanje(stanje);
- };
- int get_racun_pin();
- int get_racun_broj_racuna();
- int get_racun_stanje();
- };
- void izbornik(vector<Korisnik>vektor,int trenutni_kor){
- int izbor,pare_za_van,izbor_ponovo;
- cout<<"\t1. Podizanje gotovine\n\t2. Pregled stanja"<<endl;
- cin>>izbor;
- switch(izbor){
- case 1:
- cout<<"Vase trenutno stanje iznosi: "<<vektor[trenutni_kor].get_racun_stanje()<<endl;
- cout<<"Koliko gotovine zelite podici?"<<endl;
- cin>>pare_za_van;
- if(pare_za_van<=vektor[trenutni_kor].get_racun_stanje()){
- int novo_stanje=vektor[trenutni_kor].get_racun_stanje() - pare_za_van;
- vektor[trenutni_kor].set_racun( novo_stanje );
- cout<<"Novo stanje racuna iznosi: "<<vektor[trenutni_kor].get_racun_stanje()<<endl;
- }
- break;
- case 2:
- cout<<"___________________________"<<endl;
- cout<<"| Podaci o korisniku |"<<endl;
- cout<<"| Ime: "<<setw(10)<<vektor[trenutni_kor].get_ime()<<" |"<<endl;
- cout<<"| Prezime: "<<setw(10)<<vektor[trenutni_kor].get_prezime()<<" |"<<endl;
- cout<<"| Broj racuna: "<<setw(10)<<vektor[trenutni_kor].get_racun_broj_racuna()<<" |"<<endl;
- cout<<"| Stanje: "<<setw(10)<<vektor[trenutni_kor].get_racun_stanje()<<" |"<<endl;
- cout<<"___________________________"<<endl;
- }
- ofstream fout("baza.txt");
- for(int i=0;i<vektor.size()-1;i++){
- fout<<vektor[i].get_ime()<<" ";
- fout<<vektor[i].get_prezime()<<" ";
- fout<<vektor[i].get_racun_pin()<<" ";
- fout<<vektor[i].get_racun_broj_racuna()<<" ";
- fout<<vektor[i].get_racun_stanje()<<" ";
- fout<<endl;
- }
- fout.close();
- }
- int main()
- {
- vector<Korisnik>vektor;
- int tmp,tmp2,tmp3;
- string stmp,stmp2;
- Korisnik objekt;
- ifstream fin("baza.txt");
- while(fin){
- fin>>stmp;
- objekt.set_ime(stmp);
- fin>>stmp2;
- objekt.set_prezime(stmp2);
- fin>>tmp>>tmp2>>tmp3;
- objekt.set_racun(tmp,tmp2,tmp3);
- vektor.push_back(objekt);
- }
- // provjera //cout<<vektor[0].get_ime()<<vektor[0].get_prezime()<<endl<<vektor[0].get_racun_pin()<<endl;
- fin.close();
- cout<<"Dobrodosli u bankomat v1.beta"<<endl;
- cout<<"Unesite vase ime, broj racuna i PIN "<<endl;
- string tmp_ime;
- int tmp_PIN,tmp_broj_racuna;
- cin>>tmp_ime;
- cin>>tmp_broj_racuna;
- cin>>tmp_PIN;
- if( tmp_ime==vektor[tmp_broj_racuna].get_ime()&&tmp_PIN==vektor[tmp_broj_racuna].get_racun_pin()){
- cout<<"Unijeli ste tocne podatke, izvolite u izbornik"<<endl;
- system("pause");
- system("cls");
- izbornik(vektor,tmp_broj_racuna);
- } else{
- cout<<"Nazalost unijeli ste krive podatke, nemogu pristupiti racunu, izlazim iz programa(izbacujem karticu)"<<endl;
- return 0;
- }
- return 0;
- }
- void Racun::set_pin(int tmp){
- PIN=tmp;
- };
- void Racun:: set_broj_racuna(int tmp){
- broj_racuna=tmp;
- };
- int Racun::get_pin(){
- return PIN;
- };
- int Racun::get_broj_racuna(){
- return broj_racuna;
- };
- void Racun::set_stanje(int tmp){
- stanje=tmp;
- };
- int Racun::get_stanje(){
- return stanje;
- };
- void Korisnik::set_ime(string tmp){
- ime=tmp;
- };
- string Korisnik::get_ime(){
- return ime;
- };
- void Korisnik::set_prezime(string tmp){
- prezime=tmp;
- };
- string Korisnik::get_prezime(){
- return prezime;
- };
- void Korisnik::set_racun(int pin, int broj_racuna,int stanje){
- r1.set_broj_racuna(broj_racuna);
- r1.set_pin(pin);
- r1.set_stanje(stanje);
- };
- int Korisnik::get_racun_pin(){
- return r1.get_pin();
- };
- int Korisnik::get_racun_broj_racuna(){
- return r1.get_broj_racuna();
- };
- int Korisnik::get_racun_stanje(){
- return r1.get_stanje();
- };
Add Comment
Please, Sign In to add comment