Sunteți pe pagina 1din 21

Seminar 1 #include<iostream> #include<conio.

h> using namespace std; class urs

{ public: char *specie; float greutate; int varsta; };

void main !

{ urs v; cout<<"#ntroduce greutate:"; cin>>v.greutate;

cout<<"#ntroduce varsta:"; cin>>v.varsta;

char au$%1&'; cout<<"#ntroduce specie:";


1

cin>>au$; v.specie(ne) char%strlen au$!*1'; strcp+ v.specie, au$!; cout<<"-rsul din specia "<<v.specie<<" are o greutate de "<<v.greutate<<" si o varsta de "<<v.varsta<<endl;

urs $;

$.specie(ne) char%strlen "carpatin"!*1'; strcp+ $.specie, "carpatin"!; $.greutate(1&.; $.varsta(/; cout<<"-rsul din specia "<<$.specie<<" are o greutate de "<<$.greutate<<" si o varsta de "<<$.varsta<<endl;

urs +; +.specie(ne) char%strlen "polar"!*1'; strcp+ +.specie, "polar"!; +.greutate(0/&; +.varsta(0.; cout<<"-rsul din specia "<<+.specie<<" are o greutate de "<<+.greutate<<" si o varsta de "<<+.varsta; 1getch !; }

Seminar 2 #include<iostream> #include<conio.h> using namespace std; class primar { char *nume; char *partid; int nrmandat; float salariu; int impozit () { if (salariu > 10000 ) return 10; else if (salariu > 000) return ; else return 2; ! pu"lic# float get$salariu() { return salariu; ! %oid set$salariu(float %aloare) { if (%aloare>1000) salariu&%aloare; ! int get$nrmandat() { return nrmandat; ! %oid set$nrmandat(int %aloare) { if ((%aloare>0) '' (%aloare<()) nrmandat&%aloare; ! char* get$partid() { return partid; ! %oid set$partid(char* %aloare) { partid& ne) char*strlen(%aloare)+1,; strcp-(partid.%aloare); !

char* get$nume() { return nume; ! %oid set$nume(char* %aloare) { nume& ne) char*strlen(%aloare)+1,; strcp-(nume.%aloare); ! float zilnic () { return salariu/(0 ; ! float calcul () {return salariu0impozit()*salariu/100; ! !; %oid main () { primar 1; 1.set$salariu(20000); 1.set$nrmandat(2); 1.set$nume(23op 4on2); 1.set$partid(23562); cout << 1.get$nume() << endl; cout << 1.get$partid() << endl ; cout << 1.get$nrmandat() << endl; cout << 1.get$salariu() << 2 pe zi # 2 << 1.zilnic() << 2 net # 2 << 1.calcul() << endl ;

Seminar 3
7

#include<iostream> #include<conio.h> using namespace std; class primar{ char* nume; char* partid; int nr$mandat; float salariu; pu"lic# char* get$nume(){ return nume;! %oid set$nume(char* %al) { nume&ne) char*strlen(%al)+1,; strcp-(nume.%al); ! char* get$partid() { return partid; ! %oid set$partid(char* %aloare) { partid&ne) char*strlen(%aloare)+1,; strcp-(partid.%aloare); ! int get$nr$mandat() { return nr$mandat; ! %oid set$nr$mandat(int numar) { if(numar>0 '' numar<() nr$mandat&numar; ! float get$salariu() { return salariu; ! %oid set$salariu(float sal) { if(sal>1000 '' sal<10000) salariu&sal; ! float sal$zi() { if(salariu>1000) return salariu/(0; ! /*float get$sal$zi() {

return sal$zi(); !*/ primar(){ nume&ne) char*strlen(23opescu 4on2)+1,; strcp-(nume.23opescu 4on2); partid&ne) char*strlen(28sl2)+1,; strcp-(partid.28sl2); nr$mandat&(; salariu&2000;! primar(char* nume. char*partid. int nr$mandat. float salariu) { this0>nume&ne) char*strlen(nume)+1,; strcp-(this0>nume.nume); this0>partid&ne) char*strlen(partid)+1,; strcp-(this0>partid.partid); this0>nr$mandat&nr$mandat; this0>salariu&salariu; ! pri%ate# float impozit() { if(salariu< 000) return salariu*2/100; else if (salariu> 000 '' salariu<10000) return salariu* /100; else if(salariu>10000) return salariu*10/100; ! //pu"lic# // float sal$net(){ // float a&impozit(); // return salariu0a;! !; %oid main() {/*primar p; cout<<p.get$nume();*/ primar 9(2:asile2.23;52.2.2 00); cout<<9.get$nume(); cout<<9.get$partid(); cout<<9.get$nr$mandat(); cout<<9.get$salariu(); $getch();!

Seminar . <

#include<iostream> #include<conio.h> using namespace std; class primar{ char* nume; char* partid; int nr$mandat; float salariu; static int nr$primari; pu"lic# static int get$nr$primari(){ return nr$primari; ! char* get$nume(){ return nume;! %oid set$nume(char* %al) { nume&ne) char*strlen(%al)+1,; strcp-(nume.%al); ! char* get$partid() { return partid; ! %oid set$partid(char* %aloare) { partid&ne) char*strlen(%aloare)+1,; strcp-(partid.%aloare); ! int get$nr$mandat() { return nr$mandat; ! %oid set$nr$mandat(int numar) { if(numar>0 '' numar<() nr$mandat&numar; ! float get$salariu() { return salariu; ! %oid set$salariu(float sal) { if(sal>1000 '' sal<10000) salariu&sal; ! float sal$zi() { if(salariu>1000) return salariu/(0; =

! /*float get$sal$zi() { return sal$zi(); !*/ primar(){ nr$primari++; nume&ne) char*strlen(23opescu 4on2)+1,; strcp-(nume.23opescu 4on2); partid&ne) char*strlen(28sl2)+1,; strcp-(partid.28sl2); nr$mandat&(; salariu&2000;! primar(char* nume. char*partid. int nr$mandat. float salariu) { this0>nume&ne) char*strlen(nume)+1,; strcp-(this0>nume.nume); this0>partid&ne) char*strlen(partid)+1,; strcp-(this0>partid.partid); this0>nr$mandat&nr$mandat; this0>salariu&salariu; ! primar(primar ' temp){ nr$primari++; this0>nume&ne) char*strlen(temp.nume)+1,; strcp-(this0>nume.temp.nume); this0>partid&ne) char*strlen(temp.partid)+1,; strcp-(this0>partid.temp.partid); this0>nr$mandat&temp.nr$mandat; this0>salariu&temp.salariu; ! primar' operator&(primar ' temp){ delete *,nume; delete *,partid; this0>nume&ne) char*strlen(temp.nume)+1,; strcp-(this0>nume.temp.nume); this0>partid&ne) char*strlen(temp.partid)+1,; strcp-(this0>partid.temp.partid); this0>nr$mandat&temp.nr$mandat; this0>salariu&temp.salariu; return *this; ! >primar(){//destructor nr$primari00; delete *, nume; delete *, partid; !

operator int(){ return this0>nr$mandat; ! operator float(){ return this0>salariu; ! //pri%ate# //float impozit() // { // if(salariu< 000) // return salariu*2/100; // else // if (salariu> 000 '' salariu<10000) // return salariu* /100; // else // if(salariu>10000) // return salariu*10/100; // ! //pu"lic# // float sal$net(){ // float a&impozit(); // return salariu0a;! !;

int primar## nr$primari&0; %oid main() {/*primar p; //cout<<p.get$nume();*/ primar 9(2:asile2.23;52.2.2 00); //cout<<9.get$nume(); //cout<<9.get$partid(); //cout<<9.get$nr$mandat(); //cout<<9.get$salariu(); primar c&9; //cout<<9.get$nume(); //cout<<9.get$partid(); //cout<<9.get$nr$mandat(); //cout<<9.get$salariu(); primar "; //cout<<".get$nume()<<endl<<".get$partid()<<endl<<".get$nr$mandat()<<endl <<".get$salariu()<<endl; //"&9; @

//cout<<9.get$nume()<<endl<<9.get$partid()<<endl<<9.get$nr$mandat()<<endl <<9.get$salariu()<<endl; //cout<<9.get$nr$primari<<endl; { primar A; //cout<<primar##get$nr$primari()<<endl; ! //cout<<primar##get$nr$primari(); //operator de cast int ai&9; cout<<ai<<endl; cout<<(float)9; $getch(); !

Seminar 4 #include<iostream> #include<conio.h> 10

using namespace std; class primar{ char* nume; char* partid; int nr$mandat; float salariu; static int nr$primari; pu"lic# static int get$nr$primari(){ return nr$primari; ! char* get$nume(){ return nume;! %oid set$nume(char* %al) { nume&ne) char*strlen(%al)+1,; strcp-(nume.%al); ! char* get$partid() { return partid; ! %oid set$partid(char* %aloare) { partid&ne) char*strlen(%aloare)+1,; strcp-(partid.%aloare); ! int get$nr$mandat() { return nr$mandat; ! %oid set$nr$mandat(int numar) { if(numar>0 '' numar<() nr$mandat&numar; ! float get$salariu() { return salariu; ! %oid set$salariu(float sal) { if(sal>1000 '' sal<10000) salariu&sal; ! float sal$zi() { if(salariu>1000) return salariu/(0; ! /*float get$sal$zi() 11

{ return sal$zi(); !*/ primar(){ nr$primari++; nume&ne) char*strlen(23opescu 4on2)+1,; strcp-(nume.23opescu 4on2); partid&ne) char*strlen(28sl2)+1,; strcp-(partid.28sl2); nr$mandat&(; salariu&2000;! primar(char* nume. char*partid. int nr$mandat. float salariu) { this0>nume&ne) char*strlen(nume)+1,; strcp-(this0>nume.nume); this0>partid&ne) char*strlen(partid)+1,; strcp-(this0>partid.partid); this0>nr$mandat&nr$mandat; this0>salariu&salariu; ! primar(primar ' temp){ nr$primari++; this0>nume&ne) char*strlen(temp.nume)+1,; strcp-(this0>nume.temp.nume); this0>partid&ne) char*strlen(temp.partid)+1,; strcp-(this0>partid.temp.partid); this0>nr$mandat&temp.nr$mandat; this0>salariu&temp.salariu; ! primar' operator&(primar ' temp){ delete *,nume; delete *,partid; this0>nume&ne) char*strlen(temp.nume)+1,; strcp-(this0>nume.temp.nume); this0>partid&ne) char*strlen(temp.partid)+1,; strcp-(this0>partid.temp.partid); this0>nr$mandat&temp.nr$mandat; this0>salariu&temp.salariu; return *this; ! >primar(){//destructor nr$primari00; delete *, nume; delete *, partid; !

operator int(){ 12

return this0>nr$mandat; ! operator float(){ return this0>salariu; ! int 'operator*,(int inde1) // operator inde1. operator de referinta primeste 1 sg param { if(inde1&&0) return nr$mandat; else {int a&(int) salariu; return a; ! ! float operator()(float "onus.float "onus2)//poate primi mai multi parametrii {float a&salariu+"onus+"onus2; return a; ! float operator()()//operator fara nici un parametru { float a&salariu; return a; ! primar operator++()// operator de preincrementare {this0>nr$mandat++; this0>salariu+&100; return *this; ! primar operator++(int a)//nu folosim param.. { primar au1&*this; this0>nr$mandat++; this0>salariu+&100; return au1; ! "ool operator&&(primar temp)//operatorul ne arata daca cei 2 primari sunt egali sau nu { "ool %al&false; %al&this0>salariu&&temp.salariu '' this0>salariu&&temp.salariu; return %al; 1(

! primar operator+&(primar temp) { this0>nr$mandat&this0>nr$mandat+temp.nr$mandat; return *this; ! //pri%ate# //float impozit() // { // if(salariu< 000) // return salariu*2/100; // else // if (salariu> 000 '' salariu<10000) // return salariu* /100; // else // if(salariu>10000) // return salariu*10/100; // ! //pu"lic# // float sal$net(){ // float a&impozit(); // return salariu0a;! !;

int primar## nr$primari&0; %oid main() {/*primar p; //cout<<p.get$nume();*/ //primar 9(2:asile2.23;52.2.2 00); //cout<<9.get$nume(); //cout<<9.get$partid(); //cout<<9.get$nr$mandat(); //cout<<9.get$salariu(); //primar c&9; //cout<<9.get$nume(); //cout<<9.get$partid(); //cout<<9.get$nr$mandat(); //cout<<9.get$salariu(); //primar "; //cout<<".get$nume()<<endl<<".get$partid()<<endl<<".get$nr$mandat()<<endl <<".get$salariu()<<endl; //"&9;

17

//cout<<9.get$nume()<<endl<<9.get$partid()<<endl<<9.get$nr$mandat()<<endl <<9.get$salariu()<<endl; //cout<<9.get$nr$primari<<endl; //{ //primar A; //cout<<primar##get$nr$primari()<<endl; //! //cout<<primar##get$nr$primari(); //operator de cast //int ai&9; //cout<<ai<<endl; // //cout<<(float)9; //cout<<9* ,; //9*0,& 000; //cout<<9*0,; //primar z; //cout<<z( 00.1000); primar f(2nume2.2partid2.(.1000); //f++;//nr$mandat+1.salariu+100; primar a; //a&++f;//1100 //cout<<(float)f; //a&f++;//post0incrementare //cout<<(float)a;//1000 //if(a&&f) // cout<<2egale2; //else // cout<<2inegale2;//inegale f+&a; cout<<(int)f;//< $getch(); !

Seminar 5

#include<iostream> #include<conio.h> using namespace std; class primar{ char* nume; char* partid; int nr$mandat; float salariu; static int nr$primari; pu"lic# friend ostream 'operator <<(ostream 'out.primar a); friend istream 'operator >>(istream 'in.primar 'p); //este operator de citire.de aceea punem referinta si la primar p static int get$nr$primari(){ return nr$primari; ! char* get$nume(){ return nume;! %oid set$nume(char* %al) { nume&ne) char*strlen(%al)+1,; strcp-(nume.%al); ! char* get$partid() { return partid; ! %oid set$partid(char* %aloare) { partid&ne) char*strlen(%aloare)+1,; strcp-(partid.%aloare); ! int get$nr$mandat() { return nr$mandat; ! %oid set$nr$mandat(int numar) { if(numar>0 '' numar<() nr$mandat&numar; ! float get$salariu() { return salariu; ! %oid set$salariu(float sal) { if(sal>1000 '' sal<10000) salariu&sal; 1<

! float sal$zi() { if(salariu>1000) return salariu/(0; ! /*float get$sal$zi() { return sal$zi(); !*/ primar(){ nr$primari++; nume&ne) char*strlen(23opescu 4on2)+1,; strcp-(nume.23opescu 4on2); partid&ne) char*strlen(28sl2)+1,; strcp-(partid.28sl2); nr$mandat&(; salariu&2000;! primar(char* nume. char*partid. int nr$mandat. float salariu) { this0>nume&ne) char*strlen(nume)+1,; strcp-(this0>nume.nume); this0>partid&ne) char*strlen(partid)+1,; strcp-(this0>partid.partid); this0>nr$mandat&nr$mandat; this0>salariu&salariu; ! primar(primar ' temp){ nr$primari++; this0>nume&ne) char*strlen(temp.nume)+1,; strcp-(this0>nume.temp.nume); this0>partid&ne) char*strlen(temp.partid)+1,; strcp-(this0>partid.temp.partid); this0>nr$mandat&temp.nr$mandat; this0>salariu&temp.salariu; ! primar' operator&(primar ' temp){ delete *,nume; delete *,partid; this0>nume&ne) char*strlen(temp.nume)+1,; strcp-(this0>nume.temp.nume); this0>partid&ne) char*strlen(temp.partid)+1,; strcp-(this0>partid.temp.partid); this0>nr$mandat&temp.nr$mandat; this0>salariu&temp.salariu; return *this; ! >primar(){//destructor nr$primari00; delete *, nume; 1=

delete *, partid; !

operator int(){ return this0>nr$mandat; ! operator float(){ return this0>salariu; ! int 'operator*,(int inde1) // operator inde1. operator de referinta primeste 1 sg param { if(inde1&&0) return nr$mandat; else {int a&(int) salariu; return a; ! ! float operator()(float "onus.float "onus2)//poate primi mai multi parametrii {float a&salariu+"onus+"onus2; return a; ! float operator()()//operator fara nici un parametru { float a&salariu; return a; ! primar operator++()// operator de preincrementare {this0>nr$mandat++; this0>salariu+&100; return *this; ! primar operator++(int a)//nu folosim param.. { primar au1&*this; this0>nr$mandat++; this0>salariu+&100; return au1; !

1?

"ool operator&&(primar temp)//operatorul ne arata daca cei 2 primari sunt egali sau nu { "ool %al&false; %al&this0>salariu&&temp.salariu '' this0>salariu&&temp.salariu; return %al; ! primar operator+&(primar temp) { this0>nr$mandat&this0>nr$mandat+temp.nr$mandat; return *this; ! //pri%ate# //float impozit() // { // if(salariu< 000) // return salariu*2/100; // else // if (salariu> 000 '' salariu<10000) // return salariu* /100; // else // if(salariu>10000) // return salariu*10/100; // ! //pu"lic# // float sal$net(){ // float a&impozit(); // return salariu0a;! !;

int primar## nr$primari&0; ostream 'operator <<(ostream 'out.primar a)//operator scriere { out<<a.nume<<endl; out<<a.partid<<endl; out<<a.nr$mandat<<endl; out<<a.salariu<<endl; return out; ! istream 'operator >>(istream 'in.primar 'p)//operator citire 1@

{ char au1*20,; cout<<2numele#2; in>>au1; p.nume&ne) char*strlen(au1)+1,; strcp-(p.nume.au1); cout<<2partidul#2; in>>au1; p.partid&ne) char*strlen(au1)+1,; strcp-(p.partid.au1); cout<<2nr$mandat#2; in>>p.nr$mandat; cout<<2salariu#2; in>>p.salariu; return in; !

%oid main() {/*primar p; //cout<<p.get$nume();*/ //primar 9(2:asile2.23;52.2.2 00); //cout<<9.get$nume(); //cout<<9.get$partid(); //cout<<9.get$nr$mandat(); //cout<<9.get$salariu(); //primar c&9; //cout<<9.get$nume(); //cout<<9.get$partid(); //cout<<9.get$nr$mandat(); //cout<<9.get$salariu(); //primar "; //cout<<".get$nume()<<endl<<".get$partid()<<endl<<".get$nr$mandat()<<endl <<".get$salariu()<<endl; //"&9; //cout<<9.get$nume()<<endl<<9.get$partid()<<endl<<9.get$nr$mandat()<<endl <<9.get$salariu()<<endl; //cout<<9.get$nr$primari<<endl; //{ primar A; //cout<<primar##get$nr$primari()<<endl; //! //cout<<primar##get$nr$primari(); //operator de cast //int ai&9; //cout<<ai<<endl; 20

// //cout<<(float)9; //cout<<9* ,; //9*0,& 000; //cout<<9*0,; //primar z; //cout<<z( 00.1000); //primar f(2nume2.2partid2.(.1000); //f++;//nr$mandat+1.salariu+100; primar a; //a&++f;//1100 //cout<<(float)f; //a&f++;//post0incrementare //cout<<(float)a;//1000 //if(a&&f) // cout<<2egale2; //else // cout<<2inegale2;//inegale //f+&a; //cout<<(int)f;//< //cout<<a; primar p; cin>>p; $getch(); !

21