AL REPUBLICII MOLDOVA
Universitatea Tehnică a Moldovei
Facultatea Calculatoare, Informatică şi Microelectronică
Departamentul Informatică şi Ingineria Sistemelor
Raport
pentru lucrarea de laborator Nr.4
Verificat:
Guțu Maria lect. univ.
Departamentul Informatică şi IS,
Facultatea FCIM, UTM
Chișinău – 2021
Sarcina: Pentru fișierele binare cu elemente de tip structură (conform variantelor) să se
afișeze la ecran
în acest fișier.
typedef struct
char denumire[50];
char adresa[50];
char telefon[10];
int nr_locuri;
float pret;
2
}cinematograf;
typedef struct
char denumirea[50];
char genul[25];
int durata;
}film;
*arr=(cinematograf*)malloc(n*sizeof(cinematograf));
printf("Numarul cinematografului:%d\n",i+1);
printf("Denumirea:");
scanf("%s",arr[i].denumire);
fflush(stdin);
printf("Adresa:");
scanf("%s",arr[i].adresa);
fflush(stdin);
printf("Telefonul:");
scanf("%s",arr[i].telefon);
3
fflush(stdin);
printf("Numarul de locuri:");
scanf("%d",&arr[i].nr_locuri);
fflush(stdin);
printf("Pretul:");
scanf("%f",&arr[i].pret);
printf("\n");
fflush(stdin);
return;
printf("Numarul cinematografului:%d\n",i+1);
printf("Denumirea: %s\n",arr[i].denumire);
printf("Adresa:%s",arr[i].adresa);
printf("Numarul de telefon:%s",arr[i].telefon);
printf("Numarul de locuri:%d",arr[i].nr_locuri);
printf("Pretul:%.2f",arr[i].pret);
4
{
printf("Numarul filmului:%d\n",i+1);
printf("Denumirea:");
scanf("%s",arr1[i].denumirea);
fflush(stdin);
printf("Genul:");
scanf("%s",arr1[i].genul);
fflush(stdin);
printf("Durata:");
scanf("%d",&arr1[i].durata);
fflush(stdin);
printf("\n");
fflush(stdin);
return;
cinematograf aux;
if (strcmp(&arr[i].pret,&arr[i+1].pret)<0){
aux=arr[i];
5
arr[i]=arr[i+1];
arr[i+1]=aux;
FILE *fp1;
FILE *fp2;
fp1=fopen("cinematograf.bin","rb");
fp2=fopen("cinematograf2.bin","wb");
int nr=0;
fflush(stdin);
scanf("%d",&nr);
cinematograf mag;
for(int i=1;i<=n;i++){
fread(&mag,sizeof(mag),1,fp1);
if(i!=nr){
fwrite(&mag,sizeof(mag),1,fp2);
fclose(fp2);
6
fclose(fp1);
fp2=fopen("cinematograf2.bin","rb");
fp1=fopen("cinematograf.bin","wb");
while(fread(&mag,sizeof(mag),1,fp2)){
fwrite(&mag,sizeof(mag),1,fp1);
n--;
fclose(fp2);
fclose(fp1);
printf("\n***Eliminat cu succes***\n");
int complet=0;
printf("--------------------------\n");
printf("--------------------------\n");
do{
7
printf("\n4. Adaugarea unui element nou la sfarsit..");
scanf("%d", &aleg);
printf("--------------------------\n");
switch(aleg){
case 1:
scanf("%d",&n);
if(n <= 0) {
scanf("%d",&n);
aloc_mem(&arr,n);
if (arr==NULL){
8
else{
mem=1;
printf("\n\n--------------------------\n");
break;
case 2:
if(mem==1){
scrie_cinematograf(arr,n);
complet=1;
printf("--------------------------\n");
else{
system("cls");
printf("Nu ati alocat memorie pentru tablou\nAccesati punctul '1' pentru a efectua
introducerea in tablou\n\n");
printf("--------------------------\n");
break;
9
//afisarea datelor
case 3:
if(!mem){
system("cls");
else if(!complet){
system("cls");
printf("Te rugam sa accesezi punctul '1' din meniu apoi punctul '2'\n");
printf("--------------------------\n");
else{
afisare_cinematograf(arr,n);
printf("--------------------------\n");
break;
case 4:
add_muzeu(arr,n);
break;
10
case 5:
//modificarea
break;
case 6:
//cautarea
break;
case 7:
sortare(arr,n);
break;
case 8:
eliminare(arr,n);
break;
case 9:
// eliberarea memoriei
break;
case 0:
break;
default:
11
system("cls");
printf("--------------------------\n");
while(aleg!=0);
int main(void)
int n;
cinematograf* arr[2];
FILE *fp;
fp=fopen("cinematograf.bin","wb");
if(!fp){
return printf("Eroare!");
else{
meniu(arr,n);
fclose(fp);
return 0;
12
#include <stdio.h>
#include <stdlib.h>
int main()
int i,j,m,n,count=0;
int suma1=0,suma2=0,suma3=0,suma4=0;
int arr[4][j];
FILE *fp1;
FILE *fp2;
fp1 = fopen("BUGET.TXT","r");
13
fp2 = fopen("OUT.TXT","w");
if (!fp1)
else{
fscanf(fp1,"%d",&arr[i][j]);
fclose(fp1);
count = 0;
14
fprintf(fp2,"Distractii %d", suma1);
fclose(fp2);
return 0;
#include <stdio.h>
#include <stdlib.h>
int main()
int n,k,i,j,maxim,indice;
int arr[8][10];
int v[8];
15
FILE *fp1;
FILE *fp2;
fp1=fopen("turistIN.txt","r");
if(!fp1)
return printf("Eroare!");
else{
fscanf(fp1," %d %d",&n,&k);
fscanf(fp1,"%d",&arr[i][j]);
fclose(fp1);
fp2=fopen("turistOUT.txt","w");
printf("\n");
16
maxim=v[0]; indice = 0;
maxim = v[i];
indice = i;
fprintf(fp2,"%d",indice);
fclose(fp2);
return 0;
#include <stdio.h>
17
#include <stdlib.h>
int main()
int n,i,v[100],cantitate=0,sum=0;
FILE *fp;
fp=fopen("petrol.txt","r");
if(!fp){
return printf("Eroare!");
else{
fscanf(fp,"%d",&n);
fscanf(fp,"%d",&v[i]);
fclose(fp);
cantitate=v[i];
v[i]=cantitate;
sum+=cantitate;
printf("%d",sum);
if (sum<3000) {printf("\nNu");}
18
else if(sum>3000) {printf("\nDa");}
return 0;
19