Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <iostream>
- #include <cstring>
- using namespace std;
- class Kredit {
- protected:
- char imeBanka[31];
- char imeKredit[41];
- int tipKredit;
- int rokMeseci;
- double kamata;
- double osnovnaSuma;
- bool zaNevraboteni;
- void copy(Kredit &k) {
- strncpy(imeBanka, k.imeBanka, 30);
- imeBanka[30] = '\n';
- strncpy(imeKredit, k.imeKredit, 40);
- imeKredit[40] = '\n';
- tipKredit = k.tipKredit;
- rokMeseci = k.rokMeseci;
- kamata = k.kamata;
- osnovnaSuma = k.osnovnaSuma;
- zaNevraboteni = k.zaNevraboteni;
- }
- public:
- Kredit (char* imeBanka = "", char* imeKredit = "", int tipKredit = 0, int rokMeseci = 0, double kamata = 0, double osnovnaSuma = 0, bool zaNevraboteni = 0) {
- strncpy(this->imeBanka, imeBanka, 30);
- this->imeBanka[30] = '\n';
- strncpy(this->imeKredit, imeKredit, 40);
- this->imeKredit[40] = '\n';
- this->tipKredit = tipKredit;
- this->rokMeseci = rokMeseci;
- this->kamata = kamata;
- this->osnovnaSuma = osnovnaSuma;
- this->zaNevraboteni = zaNevraboteni;
- }
- Kredit(Kredit &k) {
- copy(k);
- }
- ~Kredit() {}
- Kredit& operator=(Kredit& k) {
- if (*k == this) return this;
- copy(k);
- return *this;
- }
- char *getImeBanka() { return imeBanka; }
- char *getImeKredit() { return imeKredit; }
- int getTipKredit() { return tipKredit; }
- int getRokMeseci() { return rokMeseci; }
- double getKamata() { return kamata; }
- double getOsnovnaSuma() { return osnovnaSuma; }
- bool isZaNevraboteni() { return zaNevraboteni; }
- void setTipKredit(int tipKredit) { Kredit::tipKredit = tipKredit; }
- void setRokMeseci(int rokMeseci) { Kredit::rokMeseci = rokMeseci; }
- void setKamata(double kamata) { Kredit::kamata = kamata; }
- void setOsnovnaSuma(double osnovnaSuma) { Kredit::osnovnaSuma = osnovnaSuma; }
- void setZaNevraboteni(bool zaNevraboteni) { Kredit::zaNevraboteni = zaNevraboteni; }
- void setImeBanka(char *imeBanka) {
- strncpy(this->imeBanka, imeBanka, 30);
- this->imeBanka[30] = '\n';
- }
- void setImeKredit(char *imeKredit) {
- strncpy(this->imeKredit, imeKredit, 40);
- this->imeKredit[40] = '\n';
- }
- void pecati() {
- cout << "Banka: " << imeBanka << endl
- << "Kredit: " << imeKredit << endl
- << "Tip: " << tipKredit << endl
- << "Rok na isplata (vo meseci): " << rokMeseci << endl
- << "Kamata: " << kamata << endl
- << "Osnovna suma: " << osnovnaSuma << endl
- << "Za nevraboteni: " << zaNevraboteni << endl;
- }
- };
- class GroupLoan : public Kredit {
- private:
- bool istaBanka;
- double maxKredit;
- Kredit grupa[3];
- public:
- GroupLoan(char* imeBanka = "", char* imeKredit = "", int tipKredit = 0, int rokMeseci = 0, double kamata = 0, double osnovnaSuma = 0, bool zaNevraboteni = 0, bool istaBanka, double maxKredit, Kredit* grupa) :
- Kredit(imeBanka, imeKredit, tipKredit, rokMeseci, kamata, osnovnaSuma, zaNevraboteni) {
- this->istaBanka = istaBanka;
- this->maxKredit = maxKredit;
- for (int i = 0; i < 3; i++) {
- this->grupa[i] = grupa[i];
- }
- }
- GroupLoan(GroupLoan &k) : Kredit(k){
- istaBanka = k.istaBanka;
- maxKredit = k.maxKredit;
- for (int i = 0; i < 3; i++) {
- grupa[i] = k.grupa[i];
- }
- }
- ~GroupLoan() {}
- void pecati() {
- Kredit::pecati();
- cout << "Vo ista banka: " << istaBanka << endl
- << "Maksimalna vrednost na grupata krediti: " << maxKredit << endl;
- }
- bool getIstaBanka() { return istaBanka; }
- double getMaxKredit() { return maxKredit; }
- void setMaxKredit() { return maxKredit; }
- };
- class CompanyLoan : public Kredit {
- private:
- int tipFirma;
- int rokGodini;
- double minSredstva;
- public:
- CompanyLoan(char* imeBanka = "", char* imeKredit = "", int tipKredit = 0, double kamata = 0, double osnovnaSuma = 0, bool zaNevraboteni = 0, int tipFirma, int rokGodini, double minSredstva) :
- Kredit(imeBanka, imeKredit, tipKredit, 12 * rokGodini, kamata, osnovnaSuma, zaNevraboteni) {
- this->tipFirma = tipFirma;
- this->rokGodini = rokGodini;
- this->minSredstva = minSredstva;
- }
- ~CompanyLoan() {}
- int getTipFirma() { return tipFirma; }
- int getRokGodini() { return rokGodini; }
- double getMinSredstva() { return minSredstva; }
- void pecati() {
- Kredit::pecati();
- cout << "Tip na firma: " << tipFirma << endl
- << "Rok na isplata (vo godini): " << rokGodini << endl
- << "Najmalku sredstva na smetka za da se podigne ovoj kredit: " << minSredstva << endl;
- }
- };
- int main() {
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement