Objektno-orjentisano programiranje Zadaca 1 (C ++)

Embed Size (px)

Citation preview

  • 8/10/2019 Objektno-orjentisano programiranje Zadaca 1 (C ++)

    1/21

    Tehniki fakultet Biha

    Elektrotehnika

    Informatika

    OBJEKTNO-ORJENTISANO PROGRAMIRANJE

    ZADAA 1

    Asistent: Student:

    Adnan Ramaki, mr.ra. i inf. Hasan Bapi 748

    Biha, Decembar 2014.

  • 8/10/2019 Objektno-orjentisano programiranje Zadaca 1 (C ++)

    2/21

    Napisati program (konzolnu aplikaciju) koja e simulirati bankarske usluge. Program

    napraviti koristei mehanizam klasa u C++ programskom jeziku.

    Opis:

    Prilikom pokretanja programa otvara se okvir sa izbornikom koji nudi sljedee opcije:

    1. Administrator

    2. Klijent

    3. Izlaz

    Odabirom opcije 1., tj. Administrator omoguuje se administratoru sljedee:

    1. Pregled svih korisnika

    2. Upis novih klijenata

    3. Brisanje postojeih klijenata

    4. Izlaz

    Administrator da bi pristupio administratorskom dijelu potrebno je da unese korisniko ime i

    ifru. Ti podaci se uvaju u tekstualnoj datoteci admin.txtkoja ima sljedeu strukturu:

    Ime

    Prezime

    KorisnikoIme( Username)

    ifra(Password)

    Podaci o klijentima se uvaju u tekstualnoj datoteci klijenti.txt. Struktura datoteke je :

    Redni broj

    Ime

    Prezime

    Adresa

    Broj rauna

    Stanje na raunu

    Korisniko ime

    ifra

    Ukoliko administrator odabere opciju 1., program treba da ispie sve klijente koji se nalaze u

    datoteci klijenti.txti to u sljedeem formatu:

    Redni broj_Ime_Prezime_Adresa_Broj Racuna_Stanje na racunu.

    Druga opcija treba da omogui unos novog klijenta. Trea opcija treba da unosom imena

    klijenta ili broja rauna izvri njegovo uklonjanje iz datoteke.

    Da bi klijent pristupio klijentskom dijelu , takoer treba da unese korisniko ime i ifru koji seuvaju u datoteci klijenti.txt.

  • 8/10/2019 Objektno-orjentisano programiranje Zadaca 1 (C ++)

    3/21

    Klijent treba da ima sljedee opcije:

    1. Pregled stanja svog rauna

    2. Polaganje depozita na raun

    3. Podizanje novca sa rauna

    4. Izlaz

    Klikom na opciju 1., potrebno je ispisati stanje rauna klijenta koji je zatraio tu operaciju.

    Ukoliko se odabere opcija 2., treba da se izbaci stanje rauna i omogui unos koji eli da

    uloi. Ukoliko klijent uloi neki iznostreba da se stanje aurira u datoteci klijenti.txt. Ukoliko

    odabere 3., opciju treba ispisati stanje te da se omogui podizanje iznosa novca do iznosa koji

    posjeduje.

    Funkcionalnost programa popratiti odgovarajuim porukama u smislu da ako korisnik unese

    pogreno korisniko ime ili ifru, omogui unos ponovo.

  • 8/10/2019 Objektno-orjentisano programiranje Zadaca 1 (C ++)

    4/21

    #include

    #include

    #include

    #include

    using namespace std;

    class Banka{

    public:

    bool Administrator1(string&);

    bool Administrator2(string&);

    void IspisKlijenata();

    void UnosKlijenta();

    int RedniBroj();

    int BrojKlijenta(string&);

    int BrojKlijentaPoImenu(string&);

    int BrojKlijentaPoRacunu(string&);

    void BrisiKlijenta1();

    void BrisiKlijenta2();

    bool Klijent1(string&);

    bool Klijent2(string&);

    void StanjeRacuna(string&);

    void PolaganjeDepozita(string&);

    void PodizanjeNovca(string&);

    };

    bool Banka::Administrator1(string & username){

    fstream d;

    string s[4];

    d.open("admin.txt", ios_base::in);

    while(d.eof()!=true)

    {

  • 8/10/2019 Objektno-orjentisano programiranje Zadaca 1 (C ++)

    5/21

    for(int i=0; i

  • 8/10/2019 Objektno-orjentisano programiranje Zadaca 1 (C ++)

    6/21

    int Banka::RedniBroj(){

    fstream d;

    string s[8];

    int br=0;

    int rbr;

    d.open("klijenti.txt", ios_base::in);

    while(d.eof()!=true) {

    for(int i=0; i

  • 8/10/2019 Objektno-orjentisano programiranje Zadaca 1 (C ++)

    7/21

    for(int i=0; i

  • 8/10/2019 Objektno-orjentisano programiranje Zadaca 1 (C ++)

    8/21

    d.open("klijenti.txt",ios_base::out|ios_base::app);

    d

  • 8/10/2019 Objektno-orjentisano programiranje Zadaca 1 (C ++)

    9/21

    cout

  • 8/10/2019 Objektno-orjentisano programiranje Zadaca 1 (C ++)

    10/21

    string s1[br];

    d.open("klijenti.txt", ios_base::in);

    int i=0;

    while(d.eof()!=true){

    getline(d,s1[i]);

    i++; }

    d.close();

    for(int i=0; i

  • 8/10/2019 Objektno-orjentisano programiranje Zadaca 1 (C ++)

    11/21

    goto F;}}

    void Banka::BrisiKlijenta2(){

    fstream d;

    string BrojRacuna;

    string st;

    int zastava=0;

    Banka b;

    T: cout

  • 8/10/2019 Objektno-orjentisano programiranje Zadaca 1 (C ++)

    12/21

    getline(d,s1[i]);

    i++; }

    d.close();

    for(int i=0; i

  • 8/10/2019 Objektno-orjentisano programiranje Zadaca 1 (C ++)

    13/21

    d.open("klijenti.txt",ios_base::in);

    while(d.eof()!=true){

    for(int i=0; i

  • 8/10/2019 Objektno-orjentisano programiranje Zadaca 1 (C ++)

    14/21

    int b;

    cout

  • 8/10/2019 Objektno-orjentisano programiranje Zadaca 1 (C ++)

    15/21

    s1[j]=strg; }}

    d.open("klijenti.txt", ios_base::out|ios_base::trunc);

    for(int i=0; i

  • 8/10/2019 Objektno-orjentisano programiranje Zadaca 1 (C ++)

    16/21

    string s1[br];

    itoa(ostatak,strg,10);

    int i=0;

    d.open("klijenti.txt",ios_base::in);

    while(d.eof()!=true){

    getline(d,s1[i]);

    i++; }

    d.close();

    int broj=c.BrojKlijenta(username);

    for(int j=0; j

  • 8/10/2019 Objektno-orjentisano programiranje Zadaca 1 (C ++)

    17/21

    cout

  • 8/10/2019 Objektno-orjentisano programiranje Zadaca 1 (C ++)

    18/21

    if(a==1){

    goto B; }}

    else if(odgovor1==2){

    cout

  • 8/10/2019 Objektno-orjentisano programiranje Zadaca 1 (C ++)

    19/21

    cout

  • 8/10/2019 Objektno-orjentisano programiranje Zadaca 1 (C ++)

    20/21

    b.StanjeRacuna(username);

    cout

  • 8/10/2019 Objektno-orjentisano programiranje Zadaca 1 (C ++)

    21/21

    else{

    cout