Documente Academic
Documente Profesional
Documente Cultură
RAPORT
Lucrarea de laborator Nr.2
La Programarea Orientata pe Obiecte
Schimbator Petru
Lisnic Inga
21. Să se creeze tipul abstract de date (structura) – firma, care are denumire, forma de organizare,
adresa şi anul fondării. Să se definească funcţiile de setare, de modificare a datelor, de
comparare. Pentru crearea cîmpurilor textuale să se utilizeze operatorul new. Să se elibereze
memoria. În main să se exemplifice căutarea după cîteva criterii a firmei necesare.
Codul programului:
#include <iostream>
#include <new>
#include <cstdlib>
#include <string.h>
int main()
{
int com;
int i,n,x,k;
char s[20];
char s1[20],s2[20];
int den[20];
firma *a;
com = 0;
while(com<9)
{
cout << "Meniul programului:\n 1)Crearea firmelor\n 2)Afisarea firmelor\n 3)Modificarea
datelor unei firme\n 4)Compararea firmelor dupa anul fondarii\n 5)Cautarea firmei\n 6)Stergerea
memoriei alocate" ;
cout << "Dati numarul comenzii >>> ";
cin >> com;
switch(com)
{
case 1 :cout << "Dati numarul de elemente :";
cin >> n;
a = new firma[20];
create(n,a);
system("pause");
system("cls");
break;
case 2 :afisare(n,a);
system("pause");
system("cls");
break;
case 3 :cout << "Dati denumirea firmei:";
cin >> s;
x = cautare(1,s,a,n);
modify(x,a);
system("pause");
system("cls");
break;
case 4 :cout << "Lista firmelor :\n";
for(int j=0;j<n;j++)
{
cout << "| " ;
cout << a[j].denumire;
cout << " |\n";
}
cout << "Dati firmele care vor fi supuse compararii...\n";
cout << "Prima firma : "; cin >> s1;
cout << "A doua firma : "; cin >> s2;
compare(s1,s2,a,n);
system("pause");
system("cls");
break;
case 5 :cout << "\n1.Dupa denumire\n2.Dupa adresa\n";
cout << "Dati numarul comenzii >>> ";
cin >> x;
if(x==1)
cout<<"Dati denumirea firmei :";
if(x==2)
cout<<"Dati adresa firmei :";
cin >> s;
k = cautare(x,s,a,n);
cout << "Denumirea firmei :" << a[k].denumire << "\n";
cout << "Forma de organizare a firmei :" <<a[k].forma << "\n";
cout << "Adresa firmei :" <<a[k].adresa << "\n";
cout << "Anul fondarii firmei :" <<a[k].anul << "\n";
case 6 :delete[] a;
cout << "\nMemoria a fost eliberata cu succes";
system("pause");
system("cls");
break;
}
}