Extras din notiță
Inregistrare In fisier relativ
void creare()
{
FILE *f;
produs e;
char numef[20],flush[20];
printf("n Introduceti un nume pentru fisier ");gets(flush);gets(numef);
f=fopen(numef,"wb"); assert (f != NULL);
fseek(f,0,0);
printf(" -=Pentru a reveni la meniu introduceti 0=- n");
printf(" Introduceti codul produsului: "); scanf("%d", &e.cod);
while(e.cod!=0)
{ printf(" Tip produs: ");gets(flush);gets(e.tip_produs);
printf(" Culoare produs: ");gets(e.culoare_produs);
printf(" Cantitatea dorita: ");scanf("%d", &e.cantitate);
printf(" Pretul dorit: ");scanf("%d", &e.pret);
fwrite(&e,sizeof(produs),1,f);
printf(" Introduceti codul produsului: "); scanf("%d", &e.cod);
}
fclose(f);
}
Afisare inreg. din fisier relativ
void afisare ()
{FILE * f; produs e;char numef[20], flush[20];
printf(" Introduceti numele fisierului unde doriti sa se faca afisarea datelor comandate: ");gets(flush);gets(numef);
f=fopen(numef,"rb"); assert (f != NULL);
fseek(f,0,0);
printf("nn");
while (fread (&e,sizeof(e),1,f)==1)
printf (" Cod: %d Produs:%-10s Culoare:%-10s Cantitate:%d Pret:%d n",e.cod, e.tip_produs, e.culoare_produs, e.cantitate, e.pret);
fclose (f);
}
Adaugare inreg. in fisier relativ
void adaugare ()
{FILE * f; produs e,x; char numef[20], flush[20];
printf(" Numele comenzii in care veti adauga date: ");gets(flush);gets(numef);
f=fopen(numef,"ab"); assert (f != NULL);
fseek(f,0,SEEK_END);
printf(" Codul produsului: "); scanf("%d", &e.cod);
printf(" Tipul produsului: ");gets(flush);gets(e.tip_produs);
printf(" Culoarea produsului ");gets(e.culoare_produs);
printf(" Cantitatea dorita: ");scanf("%d", &e.cantitate);
printf(" Pretul dorit: ");scanf("%d", &e.pret);
fwrite(&e,sizeof(produs),1,f);
fclose (f);
}
Stergere inregistrare din fisier relativ
void stergere()
{ FILE *f;
produs x;
printf(" nnt STERGERE ");
fflush(stdin);
printf("nn Introduceti numele fisierului : ");
char nume[30];
gets(nume);
if(!(f=fopen(nume,"rb+")))
printf(" n Fisierul nu poate fi deschis sau nu exista ");
else
{ int nr;
printf("nnIntroduceti numarul articolului ale carui informatii doriti sa le stergeti: ");
scanf("%d",&nr);
while(!feof(stdin))
{ fflush(stdin);
int q=nr_articole(f,sizeof(produs));
if(nr>=q)
printf(" nnNu puteti sterge un articol inexistent");
else { fseek(f,nr*sizeof(produs),0);
fread(&x,sizeof(produs),1,f);
if(x.is==1) {
Preview document
Conținut arhivă zip
- Algoritmi.doc
- copiutza.doc
- copiute .doc