Atps estrutura de dados
Por: Anderson gonçalves • 15/11/2015 • Trabalho acadêmico • 1.951 Palavras (8 Páginas) • 254 Visualizações
#include <stdio.h>
#include <conio.h>
#include <string.h>
#include <stdlib.h>
#include <ctype.h>
struct registro {
char marca[40];
char numeracao[5];
char tipo[20];
char cor[20];
char preco[40];
char status;
} reg;
FILE *fp;
/*prototipo das funcoes*/
void incluir (void);
void consultar(void);
void excluir(void);
void alterar(void);
void abrir(void);
void listar(void);
void help(void);
void main(void)
{
char opcao[2], op;
do{
do{
clrscr();
printf("\n\n\n\n\n\n\n");
printf("\t########################################################\n");
printf("\t# #\n");
printf("\t# Programa de Cadastro de Sapatos Versao 1.13 #\n");
printf("\t# #\n");
printf("\t########################################################\n\n\n");
printf("\n Digite uma das op‡oes\n\n");
printf("\n <I> - Incluir");
printf("\n <A> - Alterar");
printf("\n <E> - Excluir");
printf("\n <C> - Consultar");
printf("\n <L> - Listar");
printf("\n <H> - Ajuda");
printf("\n <S> - Sair");
printf("\n\n\n Op‡ao:");
gets(opcao);
op=tolower(*opcao);
} while(!strchr("iaeclsh",op));
switch(op){/*D*/
case 'i' : incluir(); break;
case 'a' : alterar(); break;
case 'e' : excluir(); break;
case 'c' : consultar(); break;
case 'l' : listar(); break;
case 's' : exit(0);
case 'h' : help(); break;
}
}while(1);
}
/*Fun‡oes*/
void help(void) {
clrscr();
printf("\a\n\n\n\n\n\n\n");
printf("\t########################################################\n");
printf("\t# Programa feito por.: KrowniX #\n");
printf("\t# Qualquer d£vida/erro entre em contato krownix@lab.br #\n");
printf("\t########################################################\n\n\n");
printf("\t\t\tTecle <ENTER> para voltar");
getch();
}
void abrir(char tipo[3])
{
if((fp=fopen("C:\\tmp\\sapato.dat", tipo))==NULL)
{printf("\n O arquivo nao pode ser aberto!!\n");
getch();
exit(1);
}
}
void incluir(void)
{ //char *um="0";
abrir("ab+");
fseek(fp,0L, SEEK_END);
do
{
printf("\n Digite o marca ou <FIM> para sair:\n\n");
gets(reg.marca);
if ((strcmp(reg.marca,"fim")!=0)&&(strcmp(reg.marca,"FIM")!=0)){
printf("\n Numero:"); gets(reg.numeracao);
printf("\n Tipo:"); gets(reg.tipo);
printf("\n Cor:"); gets(reg.cor);
printf("\n Pre‡o:"); gets(reg.preco);
reg.status='1';
if(fwrite(®, sizeof(struct registro), 1, fp) != 1)
{
printf("\n Erro de grava‡Æo!!");
getch();
}
else
{ printf("\n Grava‡Æo feita com sucesso...\n\n");}
...