Sistema manipulando arquivos

Disponível somente no TrabalhosFeitos
  • Páginas : 5 (1011 palavras )
  • Download(s) : 0
  • Publicado : 30 de novembro de 2011
Ler documento completo
Amostra do texto
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
struct livraria
{
char titulo[50];
char autor[100];
char serie[20];
char idioma[50];
char ano[5];
char pg[5];

};

FILE *fp;
char *str1 = "livraria.txt";
char c;

//prototipo das funcoes
void name(void);
void altera(void);
void excluir(void);
void consulta(void);
voidabrir(void);
void lista(void);
int insere(void);

//procurar por titulo
void name()
{
struct livraria reg;
char n[50];
int i=0,aux=0;

system("cls");
printf("Procura por Titulo do Livro\n\n");
printf("Digite o nome a ser pesquisado\n");
gets(n);
rewind(fp);

while(fread(®,sizeof(struct livraria),1,fp)==1)
{if(!strcmp(n,reg.titulo))
{
system("cls");
printf("\n\nRegistro: %i\n",i);
printf("\n\nTitulo: %s\n",reg.titulo);
printf("Autor: %s\n",reg.autor);
printf("Serie: %s\n\n",reg.serie);
printf("Idioma: %s\n",reg.idioma);
printf("Ano de Lancamento: %s\n",reg.ano);
printf("Numero de Paginas:%s\n\n",reg.pg);
aux=1;
sleep(5000);
}
i++;
}
if(aux==0)
{
printf("\nEsse livro nao consta em nosso cadastro\n");
}
};

//inicio do alterar

void altera()
{
struct livraria reg_alt, reg_lido;
int i, c;

system("cls");
printf("Alteracao\n\n");
printf("Digite o numero doregistro\n");
scanf("%d",&i);
fseek(fp,i*sizeof(struct livraria),SEEK_SET);
if(fread(®_lido,sizeof(struct livraria),1,fp)!=1)
{
printf("Registro inexistente\n\n");
}
else
{
system("cls");
printf("\n\nTitulo: %s\n",reg_lido.titulo);
printf("Autor: %s\n",reg_lido.autor);
printf("Serie:%s\n\n",reg_lido.serie);
printf("Idioma: %s\n",reg_lido.idioma);
printf("Ano de Lancamento: %s\n",reg_lido.ano);
printf("Numero de Paginas: %s\n\n",reg_lido.pg);

reg_alt=reg_lido;
printf("Escolha para alterar: 1 - Titulo 2 - Autor 3 - Serie 4 - Idioma 5 - Ano de Lancamento 6 - Quantidade de Paginas\n");
scanf("%d",&c);getchar();
printf("\n\n");

switch (c)
{
case 1:
printf("Titulo: ");
gets(reg_alt.titulo);
break;

case 2:
printf("Autor: ");
gets(reg_alt.autor);
break;

case 3:printf("Serie: ");
gets(reg_alt.serie);
break;

case 4:
printf("Idioma: ");
gets(reg_alt.idioma);
break;

case 5:
printf("Ano de Lancamento: ");
gets(reg_alt.ano);
break;

case 6:printf("Numero de Paginas: ");
gets(reg_alt.pg);
break;
}
fseek(fp,-1*sizeof(struct livraria) ,SEEK_CUR);
fwrite(®_alt,sizeof(struct livraria),1,fp);
}
};

//inicio do excluir
void excluir()
{
struct livraria reg;
int i;
char c;system("cls");
printf("Exclui um Cadastro\n\n");
printf("Digite o numero do registro\n");
scanf("%d",&i);
fseek(fp,i*sizeof(struct livraria),SEEK_SET);

if(fread(®,sizeof(struct livraria),1,fp)!=1)
{
printf("Registro inexistente\n\n");
}
else
{
printf("\n\nTitulo: %s\n",reg.titulo);
printf("Autor: %s\n",reg.autor);...
tracking img