Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.

pomoc, c++, apstraktne klase, visestruko nasledjivanje, pokazivaci

[es] :: C/C++ programiranje :: C/C++ za početnike :: pomoc, c++, apstraktne klase, visestruko nasledjivanje, pokazivaci

[ Pregleda: 1475 | Odgovora: 0 ] > FB > Twit

Postavi temu Odgovori

Autor

Pretraga teme: Traži
Markiranje Štampanje RSS

smikilag
Stojanovski Milos

Član broj: 42675
Poruke: 13
79.101.51.*



Profil

icon pomoc, c++, apstraktne klase, visestruko nasledjivanje, pokazivaci25.04.2013. u 12:59 - pre 133 meseci
Pozdrav svima,
imam problem sa zadatkom koji ne znam koliko je za pocetnike, ali ja jesam pocetnik pa imam nekih nejasnoca i nemam rutinu, pa ovako. Ovde imam prilozen dropbox folder sa dva fajla,
1. potraznja zadatka,
2. c++ fajl
ali da ne bih nagomilavao pusticu kod

Pitanja:
1.zadatak trazi da tipovi budu definisani kao string, ja sam stavio char, kako definisem string, ili ga koristim kao i char. malo mi nejasno.
2.zadatak trazi da se uradi u tri fajla, znaci klasa treba da bude "*.h" heder, ali ako stavim tako ne prepoznaje mi biblioteke "E:\Documents\Desktop\Simpozijum\1.h iostream: No such file or directory. " sta uraditi?
3.imam problem sa apstraktnom klasom i virtuelnom funkciom iz 29 linije, koja se odnosi i na 66 liniju ili je to tako dobro?
4. da li je 62 linija dobra (float P1, float P2)
bice ovde jos neko pitanje samo ako bude bilo kandidata za pomoc


Code:

#include <iostream>
#include <cstdlib>

using namespace std;

class kSimpozijum
{
    private:
        //float pKotizacija;

    public:
        float pKotizacija;  //pKotizacija - visina kotizacije |float|, privatni atribut
        float tPrevoz;
        float tSmestaj;
        char pNaziv;  // pNaziv - naziv simpozijuma |string|. javni atribut
        char pMesto;  //pMesto - naziv mesta gde se simpozijum odrzava |string|, javni atribut
        
        kSimpozijum()  //Konstruktor - koji upisuje vrednosti koje korisnik unese u atribute.
        {
            cout<<"\nUnesi naziv Simpozijuma: "; cin>>pNaziv;
            cout<<"\nUnesi naziv grada gde se simpozijum odrzava: "; cin>>pMesto;
            cout<<"\nUnesi visinu kotizacije: "; cin>>pKotizacija;
        }
        void fIspis()  //funkcija koja ispisuje atribute na ekran(ne prima parametre, ne vraca rezultat)
        {
            cout<<"\nOvo je Simpozijum "<<pNaziv<<", a odrzava se u "<<pMesto<<"."<<endl;
        };
        float fDohvatiKot() {return pKotizacija;}  
        //- fDohvatiKot - funkcija koja vraca vrednost atributa pKotizacija (ne prima parametre, ne vraca rezultat)
        virtual float fUcesce( float  pKotizacija, float tPrevoz, float tSmestaj)    
        {return tPrevoz + tSmestaj;}
        // fUcesce - cista virtualna funkcija koja izracunava cenu ucesca na simpozijumu, sa troskovima smestaja 
        // i prevoza, pri cemu se vrednost za troskove smestaja i prevoza prima iz glavnog programa (prima 2 parametra i vraca rezultat)
        ~kSimpozijum(){}    //destruktor
};
class kUcesnik  //Kreira klasu kUcesnik 
{
    public:  //javni atributi
        char pIme;  //- pIme - ime i prezime ucesnika u simpozijumu |string|,
        char pUstanova;  //- pUstanova - naziv ustanove u kojoj je ucesnik zaposlen |string|
        
        //javne metode
        kUcesnik()  //- Konstruktor - koji upisuje vrednosti koje korisnik unese u atribute
        {
            cout<<"\nUnesi Ime i prezime ucesnika simpozijuma: "; cin>>pIme;
            cout<<"\nUnesi naziv ustanove u kojoj je ucesnik zaposlen: "; cin>>pUstanova;
        }
        void fPisiUcesnika()  //- fPisiUcesnika - funkcija koja ispisuje vrednosti atributa na ekran
                                //(ne prima parametre, ne vraca rezultat)
        {
            cout<<"\nUcesnik simpozijuma "<<pIme<<", je iz ustanove"<<pUstanova<<".";
        };
        ~kUcesnik(){} // destruktor
};

class iStrucniRad:public kSimpozijum, public kUcesnik // Kreira klasu iStrucniRad koja nasledjuje klasu kSimpozijum i kUcesnik 
{
    public:
        char pNazRada;  //- pNazRada - naziv rada |string|
        int pBrAutora;  //- pBrAutora - broj autora knjige |int|
        int pPovez;     //- pPovez - tip poveza (1- tvrdi povez, 2- meki povez) |int|
        
        //Konstruktor - upisuje vrednosti koje korisnik unese u atribute i nadogradjuje konstruktore klasa kSimpozijum i kUcesnik
        iStrucniRad():kSimpozijum(), kUcesnik()
        {
            cout<<"\nUnesi naziv rada: "; cin>>pNazRada;
            cout<<"\nUnesi broj autora: "; cin>>pBrAutora;
            cout<<"\nUnesi tip poveza(1-tvrdi, 2-meki): "; cin>>pPovez;
        }
        void fIspis(float P1, float P2)
        //- fIspis - funkcija koja ispituje vrednosti atributa na ekran i poziva funkcije   
        // -  fPisiUcesnika klase kUcesnik
        // -  fIspis i fUcesce klase kSimpozijum
        // (prima 2 parametra, ne vraca rezultat)
        {
            kUcesnik::fPisiUcesnika();
            kSimpozijum::fIspis();
            kSimpozijum::fUcesce( pKotizacija,  tPrevoz, tSmestaj);
            
                cout<<"\nNaziv rada je "<<pNazRada<<", broj autora je "<<pBrAutora<<", a tip poveza je "<<pPovez<<"."<<endl;
        }
        virtual float fUcesce()
        // fUcesce - cista virtualna funkcija koja izracunava cenu ucesca na simpozijumu, sa troskovima smestaja 
        // i prevoza, pri cemu se vrednost za troskove smestaja i prevoza prima iz glavnog program
        {
            float cu=0;
            
            if (pBrAutora<3)
            {
                cu+=(pKotizacija+tPrevoz+tSmestaj)*pBrAutora;
                return cu;
            }
            else
            {
                cu+=(0.7*pKotizacija+tPrevoz+tSmestaj)*pBrAutora;
                return cu;    
            }            
        }
        ~iStrucniRad(){
        }
};




greska u ovom kodu me prati, a verovatno se odnosi na to da nemam glavnu funkciju, nisam siguran
-----------------------------------------------------------------------------------------------------
In function `main':
[Linker error] c:/crossdev/src/mingw-w64-svn/mingw-w64-crt/crt/crt0_c.c:18: undefined reference to `WinMain'
collect2: ld returned 1 exit status
--------------------------------------------------------------------------------------------------------------------------
hvala
 
Odgovor na temu

[es] :: C/C++ programiranje :: C/C++ za početnike :: pomoc, c++, apstraktne klase, visestruko nasledjivanje, pokazivaci

[ Pregleda: 1475 | Odgovora: 0 ] > FB > Twit

Postavi temu Odgovori

Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.