Está en la página 1de 3

/* Operatii asupra fisierelor Nivel INFERIOR */

#include <stdio.h>
#include <fcntl.h>
#include <ctype.h>
#include <sys\stat.h>
#include <conio.h>
#include <io.h>

struct abonat
{
char np[30];
char adr[30];
char nr_tel[11];
};
typedef struct abonat Tabonat;
Tabonat ZA;

char nume_fis[30], c, ENTER='\n';


int df;

void creare(void)
{
printf("\nIntroduceti numele fisierului : ");
fflush(stdin); scanf("%s",nume_fis);
df=creat(nume_fis, S_IWRITE | S_IREAD);
printf("\n\tAdaugati articole ?! [D/N] ");
fflush(stdin); scanf("%s",&c); c=toupper(c);

while(c=='D')
{
printf("Nume abonat : ");
fflush(stdin); gets(ZA.np);
printf("Adresa abonat : ");
fflush(stdin); gets(ZA.adr);
printf("Telefon abonat : ");
fflush(stdin); gets(ZA.nr_tel);
write(df, &ZA, sizeof(ZA) );
write(df, &ENTER, sizeof(ENTER) );
printf("\n\tMai adaugati articole ?! [D/N] ");
fflush(stdin); scanf("%s",&c); c=toupper(c);
}
}/* Creare */

void consultare(void)
{
printf("\nIntroduceti numele fisierului : ");
fflush(stdin); scanf("%s",nume_fis);
df=open(nume_fis, S_IREAD);
while( !(eof) )
{
read(df, &ZA, sizeof(ZA));
printf("\n\nNume abonat : %s", ZA.np);
printf("\nAdresa abonat : %s", ZA.adr);
printf("\nTelefon abonat : %s", ZA.nr_tel);
}
getch();

close (df);
}/* Consultare */

void main(void)
{
char op;
do
{
clrscr();
printf("\t\tOperatii asupra fisierelor Nivel INFERIOR\n\n\n");
printf("C.Creare \n");
printf("L.Consultare \n");
printf("E.Iesire \n\n");
printf("Introdu optiunea: ");
fflush(stdin); scanf("%c",&op); op=toupper(op);
switch(op)
{
case 'C': creare();
break;
case 'L': consultare();
break;
case 'E': break;
default : printf("\nOptiune eronata !!! \n");
break;
}/*switch*/
getch();
}while(op != 'E');
}/* MAIN */

También podría gustarte