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

treba mi pomoc oko komentarisanja koda za seminarski

[es] :: C++ programiranje :: C++ za početnike :: treba mi pomoc oko komentarisanja koda za seminarski

[ Pregleda: 194 | Odgovora: 1 ]

Postavi temu Odgovori

Autor

Pretraga teme: Traži
Markiranje Štampanje RSS

KoKuZ
Novi Travnik

Član broj: 140089
Poruke: 83
77.221.7.*



Profil

icon treba mi pomoc oko komentarisanja koda za seminarski16.01.2008. u 10:47

Code:

#include <iostream>
#include <exception>
using namespace std;

class osoba
{
private:
    int god;
    char* ime;
public:
    osoba(char* i, int g)
    {
        ime=new char[strlen(i)+1];
        strcpy(ime, i);
        god=g;
    }
    osoba(const osoba& o)
    {
        ime=new char[strlen(o.ime)+1];
        strcpy(ime, o.ime);
        god=o.god;
    }
    friend ostream& operator<<(ostream& out, const osoba& obj)
    {
        out<<"\tIme: "<<obj.ime<<endl;
        out<<"\tGodiste: "<<obj.god<<endl;
        return out;
    }
    ~osoba()
    {
        delete [] ime;
    }
};

template <class T>
class studenti
{
private:
    int brojac;
    T* niz[10];
public:
    studenti()
    {
        brojac=0;
    }
    void dodaj(T& obj)throw (exception)
    {
        if(brojac>=10)
            throw exception("Maksimalan niz studenata je popunjen!");
        niz[brojac]=new T(obj);
        brojac++;
    }
    friend ostream& operator<<(ostream& out, const studenti<T>& obj)
    {
        if(obj.brojac>0)
        {
            for(int i=0; i<obj.brojac; i++)
                out<<*(obj.niz[i]);
        }
        else
            out<<"Trenutno nema studenata"<<endl;
        return out;
    }
};

template <class T>
class predmet
{
private:
    studenti<osoba> st;
    T* profesor;
    char* naziv;
public:
    predmet(char* n, char* i, int g)
    {
        profesor=new osoba(i, g);
        naziv=new char[strlen(n)+1];
        strcpy(naziv, n);
    }
    void dodajStudent(char* ime, int god)
    {
        osoba* temp=new osoba(ime, god);
        st.dodaj(*temp);
        delete temp;
    }
    friend ostream& operator<<(ostream& out, const predmet<T>& obj)
    {
        out<<"Naziv Predmeta: "<<obj.naziv<<endl;
        out<<"Profesor:"<<endl;
        out<<*(obj.profesor)<<endl;
        out<<"Studenti:"<<endl;
        out<<obj.st<<endl;
        return out;
    }
    void info()
    {
        cout<<*this<<endl;
    }
    ~predmet()
    {
        delete profesor;
        delete [] naziv;
    }
};

class fakultet:public predmet<osoba>
{
private:
    char* fax;
public:
    fakultet(char* faks, char* naziv, char* ime, int god)
        :predmet<osoba>(naziv, ime, god)
    {
        fax=new char[strlen(faks)+1];
        strcpy(fax, faks);
    }
    void ispis()
    {
        cout<<"Naziv fakulteta: "<<fax<<endl;
        predmet<osoba>::info();
    }
    ~fakultet()
    {
        delete [] fax;
    }
};

void main()
{
    try
    {
        fakultet faks("FIT", "Programiranje 2", "Jasmin Velagic", 1970);
        faks.dodajStudent("Zlatko Lakisic", 1984);
        faks.dodajStudent("Sabina Meric", 1982);

        faks.ispis();
    }
    catch(exception& e)
    {
        cout<<"Greska! - "<<e.what()<<endl;
    }
    catch(...)
    {
        cout<<"Greska se desila!"<<endl;
    }
    system("pause");
}


da li moze neko da mi iskomentarise ovaj kod tako da mogu da poslije opisem uradeno za seminarski rad tj. taj rad trebam odbranit... trebam znati objasniti zasto sam recimo koristio u template klasi objekat druge template klase itd...
unaprijed hvala
pozdrav
Windows is Hell!!!
16.01.2008. u 10:47 

KoKuZ
Novi Travnik

Član broj: 140089
Poruke: 83
77.221.7.*



Profil

icon Re: treba mi pomoc oko komentarisanja koda za seminarski22.01.2008. u 15:51
da li iko moze samo da mi da primjer kako se opisuje dati kod jer seminarski moram predat seminarski za 2 dana inace ce mi ponistit ispit..
hvala
pozdrav
Windows is Hell!!!
22.01.2008. u 15:51 

[es] :: C++ programiranje :: C++ za početnike :: treba mi pomoc oko komentarisanja koda za seminarski

[ Pregleda: 194 | Odgovora: 1 ]

Postavi temu Odgovori

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