Creare
#define_CRT_SECURE_NO_WARNINGS
#include<stdio.h>
Typedef struct {
int cod;
char nume[20];
int cant;
float pret;
} PRODUS;
Void main()
{
FILE *f;
Char numef[30];
PRODUS p;
printf("numefis:");
scanf("%s", numef);
f = fopen(numef, "wb");
if(!f) printf("eroare");
else
{
printf("cod="); scanf("%d", &p.cod);
while(!feof(stdin))
{
getchar();
printf("nume="); scanf("%s", p.nume);
printf("cant="); scanf("%d", &p.cant);
printf("pret=");
scanf("%f", &p.pret);
fwrite(&p, sizeof(PRODUS), 1, f);
printf("cod="); scanf("%d", &p.cod);
}
fclose(f);
}
}
Adaugare
Modificammodul de deschidere “wb” devine “rb+”
#define_CRT_SECURE_NO_WARNINGS
#include<stdio.h>
Typedef struct {
int cod;
char nume[30];
int cant;
float pret;
} PRODUS;
Void main()
{
FILE *f;
charnumef[30];
PRODUS p;
printf("numefis:");
scanf("%s", numef);
f = fopen(numef, "rb+");
if(!f) printf("eroare");
else
{
fseek(f, 0, 2);
printf("cod="); scanf("%d", &p.cod);
while(!feof(stdin))
{
getchar();
printf("nume="); scanf("%s", p.nume);
printf("cant="); scanf("%d", &p.cant);
printf("pret=");
scanf("%f", &p.pret);
fwrite(&p, sizeof(PRODUS), 1, f);
printf("cod="); scanf("%d", &p.cod);
}
fclose(f);
}
}
CONSULTARE INTEGRALA
#define_CRT_SECURE_NO_WARNINGS
#include<stdio.h>
typedefstruct {
int cod;
charnume[20];
intcant;
floatpret;
} PRODUS;
voidmain()
{
FILE *f;
charnumef[30];
PRODUS p;
printf("numefis:");
scanf("%s", numef);
f = fopen(numef, "rb+");
if(!f) printf("eroare");
else
{
FILE *g;
printf("numeraport:");
scanf("%s", numef);
g = fopen(numef, "w");
fread(&p, sizeof(PRODUS), 1, f);
while(!feof(f))
{
fprintf(g, "%4.d %30s %3d %4.1f\n", p.cod, p.nume, p.cant, p.pret);
fread(&p, sizeof(PRODUS), 1, f);
}
fclose(f);
fclose(g);
}
}
Pentru a vedea rezultatele, apelam o data modificare cu selectie, apoi aplam consultarei
ntegrala.