Documente Academic
Documente Profesional
Documente Cultură
RAPORT
Lucrarea de laborator Nr.1
La Programarea Orientata pe Obiecte
Tronciu Alexandru
Lisnic Inga
23. Să se creeze tipul abstract de date (structura) – fişier, care are denumire, data şi timpul creării şi
dimensiunea. 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
sortarea fişierelor după cîteva criterii.
Codul programului:
#include <iostream>
#include <new>
#include <cstdlib>
#include <string.h>
aux = a[i];
a[i] = a[i + 1];
a[i + 1] = aux;
schimbat = 1;
}
}
} while (schimbat);
}
int cautare(int i, char s[20], fisier a[20], int n)
{
int f = 99;
if (i == 1)
{
for (int j = 0; j < n; j++)
{
if (strcmp(s, a[j].denumire) == 0)
{
f = j;
}
}
}
if (i == 2)
{
for (int j = 0; j < n; j++)
{
if (strcmp(s, a[j].timpul) == 0)
{
f = j;
}
}
}
if (f != 99)
{
return (f);
}
else
cout << "Nu s-a gasit asa fisier";
}
int main()
{
int com;
int i, n, x, k;
char s[20];
char s1[20], s2[20];
int den[20];
fisier *a;
com = 0;
while (com < 9)
{
cout << "Meniul programului:\n 0.Exit\n1)Crearea fisierilor\n 2)Afisarea fisierilor\n
3)Modificarea datelor unui fisier\n 4)Compararea fisierilor dupa dimensiune\n 5)Sortare
datelor\n6.Eliberare memory"<<endl;
cout << "Dati numarul comenzii >>> ";
cin >> com;
switch (com)
{
case 0:com=10;cout<<"Goodbye;"<<endl;break;
case 1:
cout << "Dati numarul de elemente :";
cin >> n;
a = new fisier[20];
create(n, a);
system("pause");
system("cls");
break;
case 2:
afisare(n, a);
system("pause");
system("cls");
break;
case 3:
cout << "Dati denumirea fisier:";
cin >> s;
x = cautare(1, s, a, n);
modify(x, a);
system("pause");
system("cls");
break;
case 4:
cout << "Lista fisierilor :\n";
for (int j = 0; j < n; j++)
{
cout << "| ";
cout << a[j].denumire;
cout << " |\n";
}
cout << "Dati fisierile care vor fi supuse compararii...\n";
cout << "Primul fisier : ";
cin >> s1;
cout << "A doilea fisier : ";
cin >> s2;
compare(s1, s2, a, n);
system("pause");
system("cls");
break;
case 5:
sortare(a, n);
cout << "Sortarea a fost executata cu succes, accesati functia 2;)" << endl;
system("PAUSE");
break;
case 6:
delete[] a;
cout << "Memoria a fost eliberata cu succes";
system("pause");
system("cls");
break;
}
}
}
Screenshoturi:
Raspunsuri la intrebari:
1) Un Tip Abstract de Date
(TAD) este o specificare a unui set de date de un anumit tip, împreună cu un set
de operaţii care pot fi executate cu aceste date. Acesta este o entitate matematică abstractă, cu existen
ţă independentă.
7) Da.
8)Nu.
9)Da.
10) Apel prin referinţă se transmite adresa parametrului actual. În cazul apelului prin referinţă,
subprogramul, cunoscând adresa parametrului actual, acţionează direct asupra locaţiei de
memorie indicată de aceasta, modificândvaloarea parametrului actual.