Programe C++
Programe C++
ne" int#p*p$; % &matrice( {delete#$matricea;% %; class punct {public: int nr'ordine; punct( {nr'ordine!(;% punct(int numar {nr'ordine!numar;% %; class arc:public punct {public: punct )arf; arc( {)arf.nr'ordine!(;% arc(int numar {)arf.nr'ordine!numar;% %; class graf {int nr'arce; public: arc*graful; afisare( ; graf(int numar {nr'arce!numar; graful!ne" arc#numar$; % %;
Program : Graful.cpp
)oid main( {clrscr( ; int nr; int e*ista; int nr'ma*'subramuri; int arc'crt; char tasta!+a+; cout<<,-onstruirea unui arbore binar,; cout<<,.n/ati numarul de noduri : ,;cin>>nr; matrice mat(nr ; graf gr(nr01 ; cout<<,.n2rborele are ,<<nr<<, noduri. 3iecare nod are cel mult 4 subramuri,; for(int f!1;f<!nr01;f55 {cout<<,.n6odul ,<<f<<, are ca succesor urmatorul nod 7,; nr'ma*'subramuri!4; for(int g!1;g<!f;g55 {mat.matricea#(f01 *nr5f01$!(; mat.matricea#(f01 *nr5g01$!mat.matricea#(g01 *nr5f01$; % for(int g!f51;g<!nr;g55
{if(nr'ma*'subramuri>( {e*ista!(; for(int h!1;h<f;h55 {if(mat.matricea#(h01 *nr5g01$!!1 {e*ista!1;% % if(e*ista!!( {cout<<,.n 0 nodul (d0pentru +da+ :,<<g; cin>>tasta; if(tasta!!+d+88tasta!!+/+ {mat.matricea#(f01 *nr5g01$!1; nr'ma*'subramuri00; % else{mat.matricea#(f01 *nr5g01$!(;% % else{mat.matricea#(f01 *nr5g01$!(;% %% % //construirea arborelui arc'crt!(; for(int f!1;f<!nr01;f55 {for(int g!f51;g<!nr;g55 {if(mat.matricea#(f01 *nr5g01$!!1 {arc'crt55; gr.graful#arc'crt$.nr'ordine!f; gr.graful#arc'crt$.)arf.nr'ordine!g; % % % cout<<,.n.n.n9e afisea:a arborele :,; for(int f!1;f<!arc'crt;f55 {cout<<,.n * ,<<gr.graful#f$.nr'ordine<<,0>,<<gr.graful#f$.)arf.nr'ordine; % getch( ; %
#include<iostream.h> #include<conio.h> class punct {public: float *o;<o; punct( {*o!(;<o!(;% %; class patrat:public punct {float *);<); public: patrat(float *ocrt;float <ocrt;float lcrt {*o!*ocrt;<o!<ocrt;*)!*o5lcrt;<)!<o5lcrt;% float aria( {return (*)0*o *(*)0*o ;% %; class dreptunghi:public punct {public: float *);<); dreptunghi(float *ocrt;float <ocrt;float =crt;float lcrt {*o!*ocrt;<o!<ocrt;*)!*o5=crt;<)!<o5lcrt;% float aria( {return (*)0*o *(<)0<o ;% %; class triunghi:public punct {public: float *);<); triunghi(float *ocrt;float <ocrt;float *)crt;float <)crt {*o!*ocrt;<o!<ocrt;*)!*)crt;<)!<)crt;% float aria( {return (*)0*o *(<)0<o ;% %; )oid main( {clrscr( ; float p1;p4;p>;p?; cout<<,.nP2@A2@B=.n,; cout<<,.nCntroduceti coordonatele punctului din stanga Dos ,; cout<<,(ba:a este paralela cu abscisa :.n 0 abscisa : ,; cin>>p1; cout<<,.n 0 ordonata : ,;cin>>p4; cout<<,.nCntroduceti lungimea laturii : ,;cin>>p>; patrat pt(p1;p4;p> ; cout<<,.n-oordonatele punctelor sunt :,; cout<<,.n2(,<<pt.*o<<,;,<<pt.<o<<, ;,; cout<<,.nE(,<<(pt.*o5p> <<,;,<<pt.<o<<, ;,; cout<<,.n-(,<<(pt.*o5p> <<,;,<<(pt.<o5p> <<, ;,; cout<<,.n/(,<<pt.*o<<,;,<<(pt.<o5p> <<, ;,; cout<<,.n2ria patratului este : ,<<pt.aria( ; cout<<,.n.n.n/AFP@B6GGCB=,; cout<<,.nCntroduceti coordonatele punctului din stanga Dos ,; cout<<,(ba:a este paralela cu abscisa :.n 0 abscisa : ,; cin>>p1; cout<<,.n 0 ordonata : ,;cin>>p4; cout<<,.nCntroduceti lungimea : ,;cin>>p>; cout<<,.nCntroduceti latimea : ,;cin>>p?; dreptunghi dr(p1;p4;p>;p? ; cout<<,.n-oordonatele punctelor sunt :,; cout<<,.n2(,<<dr.*o<<,;,<<dr.<o<<, ;,; cout<<,.nE(,<<(dr.*o5p> <<,;,<<dr.<o<<, ;,; cout<<,.n-(,<<(dr.*o5p> <<,;,<<(dr.<o5p? <<, ;,; cout<<,.n/(,<<dr.*o<<,;,<<(dr.<o5p? <<, ;,; cout<<,.n2ria dreptunghiului este : ,<<dr.aria( ; cout<<,.n.n.n@ACB6GGCB= C9H9-F=,; cout<<,.nCntroduceti coordonatele punctului din stanga Dos ,;
cout<<,(ba:a este paralela cu abscisa :.n 0 abscisa : ,; cin>>p1; cout<<,.n 0 ordonata : ,;cin>>p4; cout<<,.nCntroduceti coordonatele )arfului :.n 0 abscisa : ,;cin>>p>; cout<<,.n 0 ordonata : ,;cin>>p?; triunghi tr(p1;p4;p>;p? ; cout<<,.n-oordonatele punctelor sunt :,; cout<<,.n2(,<<tr.*o<<,;,<<tr.<o<<, ;,; cout<<,.nE(,<<(tr.*o54*(p>0tr.*o <<,;,<<tr.<o<<, ;,; cout<<,.n-(,<<(p> <<,;,<<(p? <<, ;,; cout<<,.n2ria triunghiului este : ,<<tr.aria( ; getch( ; %
#include<iostream.h> #include<conio.h> class carti {char*denumire;*titlu; int nr'e*emplare;nr'e*'imprum; %; class informatica {carti infor; informatica*inf'ne*t; %; class dictionare {carti dictio; dictionare*dic'ne*t; %; class tehnica {carti tehno; tehnica*teh'ne*t; %; class beletristica {carti belet; beletristica*bel'ne*t; %; class biblioteca:public informatica;public dictionare;public tehnica;public beletristica {int total'carti;total'imprum; %; )oid main( {clrscr( ; getch( ; %
// Program : -omple*.cpp #include<iostream.h> #include<conio.h> class real {public: float Aeal; real( {Aeal!(;% %; class imaginar {public: float Cmaginar; imaginar( {Cmaginar!(;% %; class comple*:public real;public imaginar {public: )oid suma(comple*Ic4 {cout<<,.n.n9uma celor doua numere este :,; cout<<,.n(,<<Aeal<<,;,<<Cmaginar<<, 5(,<<c4.Aeal<<,;,<<c4.Cmaginar; cout<<, !(,<<(Aeal5c4.Aeal <<,;,<<(Cmaginar5c4.Cmaginar <<, ,; % comple*(float re;float im {Aeal!re;Cmaginar!im; % %; )oid main( {clrscr( ; float re1;re4;im1;im4; cout<<,.nCntroduceti primul numar comple* :,; cout<<,.n 0 partea reala : ,;cin>>re1; cout<<,.n 0 partea imaginara : ,;cin>>im1; cout<<,.nCntroduceti cel de0al doilea numar comple* :,; cout<<,.n 0 partea reala : ,;cin>>re4; cout<<,.n 0 partea imaginara : ,;cin>>im4; comple* numar1(re1;im1 ;numar4(re4;im4 ; numar1.suma(numar4 ; getch( ; %
#include<iostream.h> // Jostenire #include<conio.h> #include<math.h> class punct {public: float *o;<o; // obiectul <punct> este definit de doua coordonate : *o;<o )irtual float perimetrul( {return (;% // se defineste o functie )irtuala pentru perimetru )irtual float aria( {return (;% // se defineste o functie )irtuala pentru arie punct( {*o!(;<o!(;% // constructor implicit punct(float *;float < {*o!*;<o!<;% //constructor care defineste punctul prin coordonatele date * si < %; class segment:public punct //clasa <segment> mosteneste clasa <punct>; deci *o si <o )or fi doua coordonate ale sale // din moment ce aceste coordonate sunt mostenite public si pot fi folosite direct si de segment; le )om considera coordonatele punctului de origine al segmentului {public: punct )arf; // se defineste cel de0al doilea punct pentru segment (aici se apelea:a constructorul implicit din clasa punct // clasa <segment> are in acest moment > coordonate : *o;<o;)arf; unde )arf este un punct si poate fi apelat prin coordonatele sale )arf.*o si )arf.<o float perimetrul( {return sKrt(()arf.*o0*o *()arf.*o0*o 5()arf.<o0<o *()arf.<o0<o ;% // functia )irtuala perimetru redefinita intoarce lungimea segmentului float aria( {return (;% // fuctia )irtuala aria segment( {)arf.*o!(;)arf.<o!(;% segment(punct p1;punct p4 {*o!p1.*o;<o!p1.<o;)arf.*o!p4.*o;)arf.<o!p4.<o;% // constructor care defineste un segment a)and date doua puncte %; class patrat:public segment // clasa <patrat> mosteneste clasa <segment>; se considera ca patratul este determinat de ? laturi egale ca lungime cu segmentul mostenit // patratul nu este definit prin punctele sale si nici prin laturile sale (aceste elemente nu sunt cunoscute ; ci doar prin // lungimea laturilor sale care se considera egala cu lungimea segmentului mostenit // el mosteneste de la clasa <segment> coordonatele *o ; <o si punctul )arf; acestea fiind suficiente pentru a determina lungimea laturilor sale si astfel sa fie calculat perimetrul si aria patratului {public: float perimetrul( {return ?*sKrt(()arf.*o0*o *()arf.*o0*o 5()arf.<o0<o *()arf.<o0<o ;% // functia )irtuala intorce de patru ori lungimea segmentului float aria( {return (()arf.*o0*o *()arf.*o0*o 5()arf.<o0<o *()arf.<o0<o ;% // fara radical <sKrt> functia intoarce aria prin patratul lungimii segmentului patrat(segment s {*o!s.*o;<o!s.<o;)arf.*o!s.)arf.*o;)arf.<o!s.)arf.<o;% // constructor care defineste patratul printr0un segment dat %; )oid main( {clrscr( ; punct o(L;M ;)(N;1( ; // se definesc doua puncte prin coordonatele sale segment s(o;) ; // se defineste un segment prin doua puncte date patrat p(s ; // se defineste un patrat printr0un segment dat punct*pp; // pointer la punct pp!Io; // pointerului i se da adresa unui punct asa ca : cout<<,.nPerimetrul punctului este : ,<<pp0>perimetrul( ; // este apelata functia )irtuala definita in clasa punct cout<<,.n2ria punctului este : ,<<pp0>aria( ; pp!Is; // pointerului i se da adresa unui segment; asa ca : cout<<,.n.n=ungimea segmentului este : ,<<pp0>perimetrul( ; // este apelata functia )irtuala redefinita in clasa segment cout<<,.n2ria segmentului este : ,<<pp0>aria( ; pp!Ip; // pointerului i se da adresa unui patrat; asa ca : cout<<,.n.nPerimetrul patratului este : ,<<pp0>perimetrul( ; // este apelata functia )irtuala redefinita in clasa patrat cout<<,.n2ria patratului este : ,<<pp0>aria( ; getch( ; %
// Program : 3ereastra.cpp #include<iostream.h> #include<conio.h> class titlul {public: char*titlu; )irtual )oid @itlu( !(; %; class fereastra:public titlul {public: int *o;<o;lungime;inaltime; )oid @itlu( ; )irtual )oid afisare( ; )oid sterge( ; fereastra( {*o!(;<o!(;lungime!(;inaltime!(; titlu!,,; % fereastra(int *;int <;int lung;int inalt;char*title ; %; fereastra::fereastra(int *;int <;int lung;int inalt;char*title {*o!*; <o!<; lungime!lung; inaltime!inalt; titlu!ne" char#strlen(title $; titlu!title; % )oid fereastra::afisare( {goto*<(*o;<o ; cout<<,5,; for(int i!1;i<!lungime;i55 {goto*<(*o5i;<o ; cout<<,0,; % goto*<(*o5lungime51;<o ; cout<<,5,; for(int g!1;g<!inaltime;g55 {goto*<(*o;<o5g ; cout<<,8,; goto*<(*o5lungime51;<o5g ; cout<<,8,; % goto*<(*o;<o5inaltime51 ; cout<<,5,; for(int i!1;i<!lungime;i55 {goto*<(*o5i;<o5inaltime51 ; cout<<,0,; % goto*<(*o5lungime51;<o5inaltime51 ; cout<<,5,; @itlu( ; % )oid fereastra::@itlu( {goto*<(*o5(lungime0strlen(titlu 04 /4;<o ; cout<<, ,<<titlu<<, ,; %
)oid fereastra::sterge( {for(int i!(;i<!inaltime51;i55 {for(int g!(;g<!lungime51;g55 {goto*<(*o5g;<o5i ; cout<<, ,; % % % class deplasare:public fereastra {public: int deplasare'ori:ontala;deplasare')erticala; )oid afisare( ; deplasare(fereastraIfero;int ori:ontal;int )ertical {*o!fero.*o; <o!fero.<o; inaltime!fero.inaltime; lungime!fero.lungime; titlu!ne" char#strlen(fero.titlu $; titlu!fero.titlu; deplasare'ori:ontala!ori:ontal; deplasare')erticala!)ertical; % %; )oid deplasare::afisare( {sterge( ; *o5!deplasare'ori:ontala; <o5!deplasare')erticala; fereastra::afisare( ; % class modificare:public fereastra { la; fereastra::afisare( ; % )oid main( {clrscr( ; fereastra fer(L;L;>L;1(;,@itlu, ; fer.afisare( ; getch( ; fer.sterge( ; getch( ; fer.afisare( ; getch( ; deplasare fer1(fer;1(;1( ; fer1.afisare( ; getch( ; deplasare fer4(fer1;0L;0N ; fer4.afisare( ; getch( ; modificare fer>(fer4;L;1( ; fer>.afisare( ; getch( ; modificare fer?(fer>;04;0L ; fer?.afisare( ; getch( ; %
// Program : 3iguri.cpp #include<iostream.h> #include<conio.h> #include<math.h> int figura!(; class triunghi {public: float latura1;aria1; )oid Cnitial1( {cout<<,.n.nCntroduceti latura triunghiului echlateral : ,; cin>>latura1; aria1!latura1*latura1*(sin(J'PC/> /4; % %; class patrat {public: float latura4;aria4; )oid Cnitial4( {cout<<,.n.nCntroduceti lungimea laturii patratului : ,; cin>>latura4; aria4!latura4*latura4; % %; class cerc {public: float ra:a;aria>; )oid Cnitial>( {cout<<,.n.nCntroduceti ra:a cercului : ,; cin>>ra:a; aria>!ra:a*ra:a*J'PC; % %; class fig'geom'plana:public triunghi;public patrat;public cerc {public: float sectiune( {if(figura!!1 {return aria1;% else {if(figura!!4 {return aria4;% else {return aria>;% % % %; class fig'geom'spatiu:public fig'geom'plana {public: float inaltimea; %; class piramida:public fig'geom'spatiu {public: piramida( {if(figura!!1 {Cnitial1( ; cout<<,.n3igura geometrica : tetraedru..n.nCntroduceti inaltimea tetraedrului : ,; cin>>inaltimea; cout<<,.n9ectiunea triunghiului de ba:a : ,<<sectiune( ; cout<<,.nOolumul tetraedrului : ,<<sectiune( *inaltimea/>; % else {if(figura!!4 {Cnitial4( ; cout<<,.n3igura geometrica : piramida patratica..n.n,;
cout<<,Cntroducetu inaltimea piramidei : ,; cin>>inaltimea; cout<<,.n9ectiunea patratului de ba:a :,<<sectiune( ; cout<<,.nOolumul piramidei : ,<<sectiune( *inaltimea/>; % else {if(figura!!> {Cnitial>( ; cout<<,.n3igura geometrica : con..n.nCntroduceti inaltimea conului : ,; cin>>inaltimea; cout<<,.n9ectiunea cercului de ba:a : ,<<sectiune( ; cout<<,.nOolumul conului : ,<<sectiune( *inaltimea/>; % % % % %; class prisma:public fig'geom'spatiu {public: prisma( {if(figura!!1 {Cnitial1( ; cout<<,.n3igura geometrica : prisma triunghiulara..n.nCntroduceti inaltimea prismei : ,; cin>>inaltimea; cout<<,.n9ectiunea triunghiului de ba:a : ,<<sectiune( ; cout<<,.nOolumul prismei triunghiulare : ,<<sectiune( *inaltimea; % else {if(figura!!4 {Cnitial4( ; cout<<,.n3igura geometrica : prisma patratica..n.n,; cout<<,Cntroducetu inaltimea prismei : ,; cin>>inaltimea; cout<<,.n9ectiunea patratului de ba:a :,<<sectiune( ; cout<<,.nOolumul prismei : ,<<sectiune( *inaltimea; % else {if(figura!!> {Cnitial>( ; cout<<,.n3igura geometrica : cilindru..n.nCntroduceti inaltimea cilindrului : ,; cin>>inaltimea; cout<<,.n9ectiunea cercului de ba:a : ,<<sectiune( ; cout<<,.nOolumul cilindrului : ,<<sectiune( *inaltimea; % % % % %; )oid main( {clrscr( ; figura!1; piramida pir1; prisma pris1; figura!4; piramida pir4; prisma pris4; figura!>; piramida pir>; prisma pris>; getch( ; %
// Program : Gara.cpp #include<iostream.h> #include<conio.h> #include<stdio.h> class ore {public: int minut;ora; )oid diferenta'ore(ore ora1;ore ora4 ; )oid afis( ; )oid Cnitiali:are( ; ore( {ora!(;minut!(;% %; )oid ore::Cnitiali:are( {cout<<,.nCntroduceti ora : ,; cin>>ora; cout<<,.nCntroduceti minutul : ,; cin>>minut; "hile(minut<( {minut5!M(; ora5!1; % "hile(minut>M( {minut0!M(; ora0!1; % "hile(ora<( {ora5!4?; % "hile(ora>4? {ora0!4?; % cout<<,.nJemorat 0 ,<<ora<<,:,<<minut; % )oid ore::afis( {if(ora<1( {cout<<, ,<<ora;% else {cout<<ora;% cout<<,:,; if(minut<1( {cout<<,(,<<minut;% else {cout<<minut;% % )oid ore::diferenta'ore(ore ora1;ore ora4 {if(ora1.ora>ora4.ora {if(ora1.minut<ora4.minut {minut!M(5ora1.minut0ora4.minut; ora!ora1.ora0ora4.ora01; % else {minut!ora1.minut0ora4.minut; ora!ora1.ora0ora4.ora; % % else {if(ora1.ora!!ora4.ora {if(ora1.minut>!ora4.minut {if(ora1.minut<ora4.minut {minut!M(5ora1.minut0ora4.minut; ora!ora1.ora0ora4.ora01; % else
{minut!ora1.minut0ora4.minut; ora!ora1.ora0ora4.ora; % % else {if(ora4.minut<ora1.minut {minut!M(5ora4.minut0ora1.minut; ora!ora4.ora0ora1.ora01; % else {minut!ora4.minut0ora1.minut; ora!ora4.ora0ora1.ora; % % % else {if(ora4.minut<ora1.minut {minut!M(5ora4.minut0ora1.minut; ora!ora4.ora0ora1.ora01; % else {minut!ora4.minut0ora1.minut; ora!ora4.ora0ora1.ora; % % % % class tren {public: int numar'tren; char*gara'plecare; char*gara'destinatie; char*tip'tren; %; class orar:public tren {public: ore ora'sosire;ora'plecare; ore plecare'gara'plecare; ore sosire'la'destinatie; orar( ; %; orar::orar( {cout<<,.n.n6umarul trenului : ,; cin>>numar'tren; tip'tren!ne" char#1L$; cout<<,.n@ipul trenului : ,; cin>>tip'tren; gara'plecare!ne" char#4($; cout<<,.nGara de plecare : ,; cin>>gara'plecare; cout<<,.nCntroduceti ora de plecare din gara de plecare :.n,; plecare'gara'plecare.Cnitiali:are( ; gara'destinatie!ne" char#4($; cout<<,.nGara de destinatie : ,; cin>>gara'destinatie; cout<<,.nCntroduceti ora de sosire in gara de destinatie :.n,; sosire'la'destinatie.Cnitiali:are( ; cout<<,.nCntroduceti ora de sosire in gara :.n,; ora'sosire.Cnitiali:are( ; cout<<,.nCntroduceti ora de plecare din gara :.n,; ora'plecare.Cnitiali:are( ;
% )oid main( {clrscr( ; ore ora'crt; char*nume'gara; nume'gara!ne" char#4($; cout<<,Cntroduceti numele garii : ,; cin>>nume'gara; orar @ren#L$; getch( ; clrscr( ; goto*<(>P;1 ; cout<<nume'gara<<,.n,; cout<<,.n6umar8@ren 8Gara plecare 8Hra 89osire8Plecare89tationare,; cout<<,.n 8 8/estinatie 8Hra 8/urata8 8,; cout<<,.n00000000000000000000000000000000000000000000000000000000000000000000000000,; for(int i!1;i<!L;i55 {goto*<(1;i*>5> ; cout<<@ren#i01$.numar'tren; goto*<(M;i*>5> ; cout<<,8,<<@ren#i01$.tip'tren; goto*<(M;i*>5? ; cout<<,8,; goto*<(44;i*>5> ; cout<<,8,<<@ren#i01$.gara'plecare; goto*<(44;i*>5? ; cout<<,8,<<@ren#i01$.gara'destinatie; goto*<(?>;i*>5> ; cout<<,8,; ora'crt!@ren#i01$.plecare'gara'plecare; ora'crt.afis( ; goto*<(?>;i*>5? ; cout<<,8,; ora'crt!@ren#i01$.sosire'la'destinatie; ora'crt.afis( ; goto*<(?Q;i*>5> ; cout<<,8,; ora'crt!@ren#i01$.ora'sosire; ora'crt.afis( ; goto*<(?Q;i*>5? ; cout<<,8,; ora'crt.diferenta'ore(@ren#i01$.sosire'la'destinatie;@ren#i01$.plecare'gara'plecare ; ora'crt.afis( ; goto*<(LM;i*>5> ; cout<<,8,; ora'crt!@ren#i01$.ora'plecare; ora'crt.afis( ; goto*<(LM;i*>5? ; cout<<,8,; goto*<(M?;i*>5> ; cout<<,8,; ora'crt.diferenta'ore(@ren#i01$.ora'sosire;@ren#i01$.ora'plecare ; ora'crt.afis( ; goto*<(M?;i*>5? ; cout<<,8,; % getch( ; %
// Program : 6ormare.cpp #include<iostream.h> #include<conio.h> class Hperatia {public: char*denumire'operatie; char*unitate'masura; float )olum; float normati); float posturi'normate(float Oolum;float 6ormati) {return Oolum/6ormati);% Hperatia( ; %; Hperatia::Hperatia( {denumire'operatie!ne" char#4L$; cout<<,.nCntroduceti denumirea operatiei : ,; cin>>denumire'operatie; unitate'masura!ne" char#>$; cout<<,.nCntroduceti unitatea de masura : ,; cin>>unitate'masura; cout<<,.nCntroduceti )olumul : ,; cin>>)olum; cout<<,.nCntroduceti normati)ul : ,; cin>>normati); cout<<,.nPosturile normate sunt : ,<<posturi'normate()olum;normati) <<,.n,; % class 3oaie'acord'pregatiri {public: char*denumire'lucrare; int numar'operatii; int numar'mediu'muncitori; int numar':ile'lucratoare; float salariu'mediu'post; int posturi'programate(int nr'muncitori;int nr':ile {return nr'muncitori*nr':ile;% float total'posturi'normate(int nr'oper ; )irtual float tone'pe'fasie( {return 1;% float norma'acordata(float Posturi'normate'suma;float tone {return tone/Posturi'normate'suma;% float tarif'foaie(float 9alariu'med;float 6orma'ac {return 9alariu'med/6orma'ac;% )oid Cnitiali:are( ; )irtual int tipul'lucrarii( {return 1;% %; float 3oaie'acord'pregatiri::total'posturi'normate(int nr'oper {float @otal'posturi'normate!(; int i; for(i!1;i<!nr'oper;i55 { cout<<,.nCntroducerea datelor operatiei ,<<(i <<,.n,; Hperatia oper'crt; @otal'posturi'normate!@otal'posturi'normate5oper'crt.posturi'normate(oper'crt.)olum;oper'crt.normati) ; % return @otal'posturi'normate; % class 3oaie'acord'abataDe:public 3oaie'acord'pregatiri {public: float inaltime'abataD;lungime'abataD; float tone'pe'fasie( {cout<<,.nCntroduceti lungimea abataDului : ,;
cin>>lungime'abataD; cout<<,.nCntroduceti inaltimea abataDului : ,; cin>>inaltime'abataD; cout<<,.n/e pe o fasie se e*trag ,<<(inaltime'abataD*lungime'abataD*(.M*1.4N <<, to,; return inaltime'abataD*lungime'abataD*(.M*1.4N; % int tipul'lucrarii( {return 4;% %; )oid 3oaie'acord'pregatiri::Cnitiali:are( {int tip!tipul'lucrarii( ; cout<<tip<<,;;.n,; if(tip!!1 {cout<<,.n9e calculea:a foaia de acord pentru pregatiri.n,;% else {cout<<,.n9e calculea:a foaia de acord pentru abataDe.n,;% denumire'lucrare!ne" char#4L$; cout<<,.nCntroduceti numele lucrarii pentru care se calculea:a foaia :.n,; cin>>denumire'lucrare; cout<<,.nCntroduceti numarul mediu de muncitori : ,; cin>>numar'mediu'muncitori; cout<<,.nCntroduceti numarul de :ile lucratoare : ,; cin>>numar':ile'lucratoare; cout<<,.n6umarul de posturi planificate este : ,<<posturi'programate(numar'mediu'muncitori;numar':ile'lucratoare ; float 9uma'tone!tone'pe'fasie( ; cout<<,.n.nCntroduceti salariul mediu pe post : ,; cin>>salariu'mediu'post; cout<<,.nCntroduceti numarul de operatii efectuate de brigada : ,; cin>>numar'operatii; float p'norm!total'posturi'normate(numar'operatii ; cout<<,.n9e definiti)ea:a foaia de acord.n,; cout<<,.n6umele lucrarii : ,<<denumire'lucrare; cout<<,.n6umarul de posturi planificate : ,<<posturi'programate(numar'mediu'muncitori;numar':ile'lucratoare ; cout<<,.n6umarul total de posturi normate : ,<<p'norm; cout<<,.n6orma acordata este : ,<<norma'acordata(p'norm;9uma'tone ; if(tip!!1 {cout<<, ml/post,;% else {cout<<, to/post,;% cout<<,.nProductia planificata : ,<<norma'acordata(p'norm;9uma'tone *posturi'programate(numar'mediu'muncitori;numar':ile'lucratoare ; if(tip!!1 {cout<<, ml,;% else {cout<<, to!,<<norma'acordata(p'norm;9uma'tone *posturi'programate(numar'mediu'muncitori;numar':ile'lucratoare / (9uma'tone/(.M <<, ml,;% cout<<,.n@ariful foii de acord : ,<<salariu'mediu'post/norma'acordata(p'norm;9uma'tone ; if(tip!!1 {cout<<, lei/ml,;% else {cout<<, lei/to,;% getch( ; % )oid main( {clrscr( ; 3oaie'acord'pregatiri*fpreg; 3oaie'acord'pregatiri foaia'preg; 3oaie'acord'abataDe foaia'ab; fpreg!Ifoaia'preg; fpreg0>Cnitiali:are( ; fpreg!Ifoaia'ab; fpreg0>Cnitiali:are( ; %
// Program patrulater.cpp #include<iostream.h> #include<conio.h> #include<math.h> // 9e defineste clasa Punct class Punct { public: float *;<; Punct(float *o!(;float <o!( {*!*o;<!<o;% Punct(PunctIH {*!H.*;<!H.<;% %; // 9e defineste clasa Patrulater con)e* class Patrulater:public Punct { public: Punct 2;E;-;/; float lungime2E;lungimeE-;lungime-/;lungime/2; int unghi2E;unghiE-;unghi-/;unghi/2; Patrulater( {2.*!(;2.<!(;E.*!1(;E.<!(;-.*!1(;-.<!1(;/.*!(;/.<!1(;lungime2E!lungimeE-!lungime-/!lungime/2!1( ;unghi2E!unghi-/!(;unghi-/!unghi/2!Q(;% Patrulater(float *o;float <o;float 2Eo;float E-o;float -/o;int u2E;int uE-;int u-/ ; )oid afisea:a( ; %; Patrulater::Patrulater(float *o;float <o;float 2Eo;float E-o;float -/o;int u2E;int uE-;int u-/ {2.*!*o; 2.<!<o; lungime2E!2Eo; unghi2E!u2E; E.*!2.*5lungime2E*cos(J'PC/1N(*unghi2E ; E.<!2.<5lungime2E*sin(J'PC/1N(*unghi2E ; lungimeE-!E-o; unghiE-!uE-; -.*!E.*5lungimeE-*cos(J'PC/1N(*unghiE- ; -.<!E.<5lungimeE-*sin(J'PC/1N(*unghiE- ; lungime-/!-/o; unghi-/!u-/; /.*!-.*5lungime-/*cos(J'PC/1N(*unghi-/ ; /.<!-.<5lungime-/*sin(J'PC/1N(*unghi-/ ; lungime/2!sKrt((2.*0/.* *(2.*0/.* 5(2.<0/.< *(2.<0/.< ; unghi/2!asin((/.<02.< /lungime/2 ; cout<<,.n3igura : Patrulater.n,; % )oid Patrulater::afisea:a( {cout<<,.nOarfurile au coordonatele :.n,; cout<<,2: *!,<<2.*; cout<<,.n <!,<<2.<; cout<<,.n.nE: *!,<<E.*; cout<<,.n <!,<<E.<; cout<<,.n.n-: *!,<<-.*; cout<<,.n <!,<<-.<; cout<<,.n.n/: *!,<</.*; cout<<,.n <!,<</.<; cout<<,.n.n=aturile au lungimile :,; cout<<,.n2E!,<<lungime2E; cout<<,.nE-!,<<lungimeE-; cout<<,.n-/!,<<lungime-/; cout<<,.n/2!,<<lungime/2;
cout<<,.n.nBnghiurile au masura :,; cout<<,.n2E!,<<unghi2E; cout<<,.nE-!,<<unghiE-; cout<<,.n-/!,<<unghi-/; cout<<,.n/2!,<<unghi/2; getch( ; clrscr( ; % // 9e defineste clasa deri)ata Paralelogram a clasei Patrulater class Paralelogram:public Patrulater { public: Paralelogram( {2.*!(;2.<!(;E.*!1(;E.<!(;-.*!1(;-.<!1(;/.*!(;/.<!1(;lungime2E!lungimeE-!lungime-/!lungime/2!1( ;unghi2E!unghi-/!(;unghi-/!unghi/2!Q(;% Paralelogram(float *o;float <o;float 2Eo;float E-o;int u2E;int uE- ; %; Paralelogram::Paralelogram(float *o;float <o;float 2Eo;float E-o;int u2E;int uE{2.*!*o; 2.<!<o; lungime2E!2Eo; unghi2E!u2E; E.*!2.*5lungime2E*cos(J'PC/1N(*unghi2E ; E.<!2.<5lungime2E*sin(J'PC/1N(*unghi2E ; lungimeE-!E-o; unghiE-!uE-; -.*!E.*5lungimeE-*cos(J'PC/1N(*unghiE- ; -.<!E.<5lungimeE-*sin(J'PC/1N(*unghiE- ; lungime-/!2Eo; unghi-/!u2E51N(; /.*!-.*5lungime-/*cos(J'PC/1N(*unghi-/ ; /.<!-.<5lungime-/*sin(J'PC/1N(*unghi-/ ; lungime/2!lungimeE-; unghi/2!unghiE-51N(; cout<<,.n3igura : Paralelogram.n,; % // 9e defineste clasa deri)ata /reptunghi a clasei Paralelogram class /reptunghi:public Paralelogram { public: /reptunghi( {2.*!(;2.<!(;E.*!1(;E.<!(;-.*!1(;-.<!1(;/.*!(;/.<!1(;lungime2E!lungimeE-!lungime-/!lungime/2!1( ;unghi2E!unghi-/!(;unghi-/!unghi/2!Q(;% /reptunghi(float *o;float <o;float 2Eo;float E-o;int u2E ; %; /reptunghi::/reptunghi(float *o;float <o;float 2Eo;float E-o;int u2E {2.*!*o; 2.<!<o; lungime2E!2Eo; unghi2E!u2E; E.*!2.*5lungime2E*cos(J'PC/1N(*unghi2E ; E.<!2.<5lungime2E*sin(J'PC/1N(*unghi2E ; lungimeE-!E-o; unghiE-!u2E5Q(; -.*!E.*5lungimeE-*cos(J'PC/1N(*unghiE- ; -.<!E.<5lungimeE-*sin(J'PC/1N(*unghiE- ; lungime-/!2Eo; unghi-/!u2E51N(; /.*!-.*5lungime-/*cos(J'PC/1N(*unghi-/ ; /.<!-.<5lungime-/*sin(J'PC/1N(*unghi-/ ;
lungime/2!lungimeE-; unghi/2!unghiE-51N(; cout<<,.n3igura : /reptunghi.n,; % // 9e defineste clasa deri)ata Aomb a clasei Paralelogram class Aomb:public Paralelogram { public: Aomb(float *o;float <o;float 2Eo;int u2E;int uE- ; %; Aomb::Aomb(float *o;float <o;float 2Eo;int u2E;int uE{2.*!*o; 2.< lor /reptunghi si Aomb class Patrat:public /reptunghi { public: Patrat(float *o;float <o;float 2Eo;int u2E ; %; Patrat::Patrat(float *o;float <o;float 2Eo;int u2E {2.*!*o; 2.<!<o; lungime2E!2Eo; unghi2E!u2E; E.*!2.*5lungime2E*cos(J'PC/1N(*unghi2E ; E.<!2.<5lungime2E*sin(J'PC/1N(*unghi2E ; lungimeE-!2Eo; unghiE-!u2E5Q(; -.*!E.*5lungimeE-*cos(J'PC/1N(*unghiE- ; -.<!E.<5lungimeE-*sin(J'PC/1N(*unghiE- ; lungime-/!2Eo; unghi-/!u2E51N(; /.*!-.*5lungime-/*cos(J'PC/1N(*unghi-/ ; /.<!-.<5lungime-/*sin(J'PC/1N(*unghi-/ ; lungime/2!2Eo; unghi/2!unghiE-51N(; cout<<,.n3igura : Patrat.n,; % )oid main( {clrscr( ; Patrulater patr(1L.(;1L.(;1(.(;1(.(;1(.(;Q(;(;Q( ; patr.afisea:a( ; Aomb rombul(1L;1L;1(;?L;1>L ; rombul.afisea:a( ; /reptunghi drept(1L;1L;4(;1(;( ; drept.afisea:a( ; Patrat caro(1L.(;1L.(;1(.(;( ; caro.afisea:a( ; %
// Program : Aaport.cpp #include<iostream.h> #include<conio.h> #include<math.h> class punct {public: float *o;<o; punct( {*o!(;<o!(;% punct(float *crt;float <crt {*o!*crt;<o!<crt;% %; class segment:public punct {public: punct )arf;raport; float R; float unghi; float depl'ori:;depl')ert; segment( ; )oid Aaport( ; )oid rotatie(float alfa ; )oid translatie(float *t;float <t ; %; segment::segment( {cout<<,.nCntroduceti coordonatele punctului de origine :,; cout<<,.n 0 abscisa : ,;cin>>*o; cout<<,.n 0 ordonata : ,;cin>><o; cout<<,.n.n.nCntroduceti coordonatele )arfului :,; cout<<,.n 0 abscisa : ,;cin>>)arf.*o; cout<<,.n 0 ordonata : ,;cin>>)arf.<o; raport.*o!*o;raport.<o!<o; % )oid segment::Aaport( {cout<<,.n.n.n9egmentul este determinat de punctele H(,<<*o<<,;,<<<o<<, si O(,<<)arf.*o<<,;,<<)arf.<o<<, ,; cout<<,.n3ie J(*;< un punct ce apartine segmentului HO care imparte segmenul.nintr0un raport dat R!8HJ8/8 JO8,; cout<<,.n.nCntroduceti raportul R : ,;cin>>R; raport.*o!*o5()arf.*o*R0*o /(15R ; raport.<o!<o5()arf.<o*R0<o /(15R ; cout<<,Punctul J care satisface acest raport este J(,<<raport.*o<<,;,<<raport.<o<<, ..n,; % )oid segment::rotatie(float alfa {float lungime; lungime!sKrt(()arf.*o0*o *()arf.*o0*o 5()arf.<o0<o *()arf.<o0<o ; unghi!asin(()arf.<o0<o /lungime ; cout<<,.n.n.n9egmentul este determinat de punctele H(,<<*o<<,;,<<<o<<, si O(,<<)arf.*o<<,;,<<)arf.<o<<, ,; cout<<,.nPrin rotatie cu unghiul ,<<alfa<<, grade fata de punctul H se obtine segementul,; unghi!unghi5alfa*J'PC/1N(; )arf.<o!<o5lungime*sin(unghi ; )arf.*o!*o5lungime*cos(unghi ; cout<<,.nH(,<<*o<<,;,<<<o<<, si O(,<<)arf.*o<<,;,<<)arf.<o<<, ,; %
)oid segment::translatie(float *t;float <t {cout<<,.n.n.n9egmentul este determinat de punctele H(,<<*o<<,;,<<<o<<, si O(,<<)arf.*o<<,;,<<)arf.<o<<, ,; cout<<,.nPrin translatie cu *!,<<*t<<, si <!,<<<t<<, se obtine segementul,; *o5!*t;<o5!<t; )arf.<o5!<t;)arf.*o5!*t; cout<<,.nH(,<<*o<<,;,<<<o<<, si O(,<<)arf.*o<<,;,<<)arf.<o<<, ,; % )oid main( {clrscr( ; segment s; s.Aaport( ; s.rotatie(>( ; s.translatie(N;? ; getch( ; %