• API
• FAQ
• Tools
• Archive
daily pastebin goal
55%
SHARE
TWEET

# Untitled

a guest Feb 19th, 2019 94 Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
1. #include <iostream>
2. #include <string>
3. #include <math.h>
4.
5. using namespace std;
6.
7. class Numere {
8. public:
9.     int nr1;
10.     int nr2;
11.     Numere();
12.     Numere(int, int);
14. };
15.
16. Numere::Numere() {
17.     nr1 = 0;
18.     nr2 = 0;
19. }
20.
21. Numere::Numere(int a, int b) {
22.     nr1 = a;
23.     nr2 = b;
24. }
25.
27.     cout<<nr1+nr2;
28. }
29.
30. void pb1() {
31.     int a, b;
32.     cout<<"a = "; cin>>a;
33.     cout<<"b = "; cin>>b;
34.     Numere x;
35.     x.nr1 = a;
36.     x.nr2 = b;
38. }
39.
40. class NumerePerfecte {
41. public:
42.     int inf;
43.     int sup;
44.     int suma;
45.     NumerePerfecte();
46.     NumerePerfecte(int, int);
47.     void ParcurgereNumere();
49.     void AfisareNumar(int);
50. };
51.
52. NumerePerfecte::NumerePerfecte() {
53.     inf = 0;
54.     sup = 0;
55.     suma = 0;
56. }
57.
58. NumerePerfecte::NumerePerfecte(int a, int b) {
59.     inf = a;
60.     sup = b;
61. }
62.
64.     if (x == 0 || x == 1) {
65.         return 1;
66.     }
67.     int i, suma = 1;
68.     for (i = 2; i <= x/2; i++) {
69.         if (x % i == 0) {
70.             suma+=i;
71.         }
72.     }
73.     return suma;
74. }
75.
76. void NumerePerfecte::AfisareNumar(int x) {
77.     cout<<x<<" ";
78. }
79.
80. void NumerePerfecte::ParcurgereNumere() {
81.     int i;
82.     for (i = inf; i <= sup; i++) {
83.         if (NumerePerfecte::SumaDivizori(i) == i) {
84.             NumerePerfecte::suma += i;
85.         }
86.     }
87.     NumerePerfecte::AfisareNumar(NumerePerfecte::suma);
88. }
89.
90. void pb2() {
91.     int a, b;
92.     cout<<"Limita inferioara = "; cin>>a;
93.     cout<<"Limita superioara = "; cin>>b;
94.     NumerePerfecte x;
95.     x.inf = min(a, b);
96.     x.sup = max(a, b);
97.     x.ParcurgereNumere();
98.
99. }
100.
101. typedef struct {
102.     char forma[50];
103.     double gem;
104.     double frisca;
105. } forme;
106.
107. class Bunicuta {
108. protected:
109.     double pi = 3.1415;
110. public:
111.     int contor;
112.     forme Forme[100];
113.     Bunicuta();
114.     void Add(char*, int, int, int);
115.     void Remove(int);
116. };
117.
118. Bunicuta::Bunicuta() {
119.     contor = 0;
120. }
121.
122. void Bunicuta::Remove(int x) {
123.     for (int i = x; i < contor; i++) {
124.         Forme[i] = Forme[i+1];
125.     }
126.     contor--;
127. }
128.
129. void Bunicuta::Add(char forma[50], int v1, int v2, int v3 = 0) {
130.     double perimetruB = 0, ariaB = 0;
131.     contor++;
132.     strcpy(Forme[contor].forma, forma);
133.     if (strcmp(Forme[contor].forma, "cerc") == 0) {
134.         perimetruB = 2 * pi * v1;
135.         ariaB = pi * v1 * v1;
136.         Forme[contor].gem = ariaB * v2 * 2;
137.         Forme[contor].frisca = perimetruB * v2;
138.     } else if (strcmp(Forme[contor].forma, "dreptunghi") == 0) {
139.         perimetruB = 2*(v1 + v2);
140.         ariaB = v1 * v2;
141.         Forme[contor].gem = ariaB * v3 * 2;
142.         Forme[contor].frisca = perimetruB * v3;
143.     } else if (strcmp(Forme[contor].forma, "patrat") == 0) {
144.         perimetruB = 4*v1;
145.         ariaB = v1 * v1;
146.         Forme[contor].gem = ariaB * v2 * 2;
147.         Forme[contor].frisca = perimetruB * v2;
148.     } else if (strcmp(Forme[contor].forma, "triunghi") == 0) {
149.         double ipotenuza = sqrt(v1*v1 + v2*v2);
150.         perimetruB = (double) v1 + v2 + ipotenuza;
151.         ariaB = (double) v1*v2/2;
152.         Forme[contor].gem = ariaB * v3 * 2;
153.         Forme[contor].frisca = perimetruB * v3;
154.     }
155.     cout<<Forme[contor].gem<<" "<<Forme[contor].frisca<<"\n";
156. }
157.
158. void pb3() {
159.     Bunicuta x;
160.     char opt[10];
161.     char forma[50];
163. //    cin.get(opt, 10);
164. //    cin.get();]
165. //    cin>>opt;
166.     while (strcmp(opt, "STOP") != 0) {
168. //        cin.get(opt, 10);
169. //        cin.get();
170.         cin>>opt;
171.         if (strcmp(opt, "ADD") == 0) {
172.             cout<<"Citeste forma (cerc, dreptunghi, patrat, triunghi): ";
173. //            cin.get(forma, 50);
174.             cin>>forma;
175.             if (strcmp(forma, "cerc") == 0) {
176.                 int raza, inaltime;
177.                 cout<<"Citeste raza: ";
178.                 cin>>raza;
179.                 cout<<"Citeste inaltimea: ";
180.                 cin>>inaltime;
182.             } else if (strcmp(forma, "dreptunghi") == 0) {
183.                 int l, L, inaltime;
184.                 cout<<"Citeste latimea: "; cin>>l;
185.                 cout<<"Citeste lungimea: "; cin>>L;
186.                 cout<<"Citeste inaltimea: "; cin>>inaltime;
188.             } else if (strcmp(forma, "patrat") == 0) {
189.                 int l, inaltime;
190.                 cout<<"Citeste latura: "; cin>>l;
191.                 cout<<"Citeste inaltimea: "; cin>>inaltime;
193.             } else if (strcmp(forma, "triunghi") == 0) {
194.                 int c1, c2, inaltime;
195.                 cout<<"Citeste cateta mica: "; cin>>c1;
196.                 cout<<"Citeste cateta mare: "; cin>>c2;
197.                 cout<<"Citeste inaltimea: "; cin>>inaltime;
199.             }
200.         } else if (strcmp(opt, "REMOVE") == 0) {
201.             int el;
202.             cout<<"Elementul care va fi sters: "; cin>>el;
203.             x.Remove(el);
204.         }
205.     }
206.     double total_gem = 0, total_frisca = 0;
207.     for (int i = 1; i <= x.contor; i++) {
208.         total_gem += x.Forme[i].gem;
209.         total_frisca += x.Forme[i].frisca;
210.     }
211.     cout<<"Total gem: "<<total_gem<<"\nTotal frisca: "<<total_frisca;
212. }
213.
214. int main() {
215.     int option = 1;
216.     while (option) {
217.         cout<<"0. Opreste\n1. Problema 1\n2. Problema 2\n3. Problema 3\n";
218.         cout<<"Optiunea ta: ";
219.         cin>>option;
220.         switch(option) {
221.             case 1: {
222.                 pb1();
223.                 break;
224.             }
225.             case 2: {
226.                 pb2();
227.                 break;
228.             }
229.             case 3: {
230.                 pb3();
231.                 break;
232.             }
233.             default: break;
234.         }
235.         cout<<"\n";
236.     }
237.     return 0;
238. }
RAW Paste Data
We use cookies for various purposes including analytics. By continuing to use Pastebin, you agree to our use of cookies as described in the Cookies Policy.

Top