Arquivo binario

Disponível somente no TrabalhosFeitos
  • Páginas : 3 (571 palavras )
  • Download(s) : 0
  • Publicado : 16 de dezembro de 2012
Ler documento completo
Amostra do texto
#include #include #include #define Caminho "arquivo.mrb" #define Caminho_temp "arquivo_temp.mrb" #define Num_car 30 typedef struct animal { int cod; char nome[Num_car]; char raca[Num_car]; charpais[Num_car]; }animal; int menu(); void cadastro(FILE * arq,animal cad); void listar(FILE * arq,animal cad); void conta_pais(FILE * arq,animal cad,char pais[Num_car]); void remover(FILE *arq,FILE*arq_temp,animal cad,int cod); int main() { FILE *arq,*arq_temp; animal cad; int a=0,cod; char pais[Num_car]; printf("\nPrograma de cadastro\n"); a=menu(); while(a!=5) { switch (a) { case 1:cadastro(arq,cad); a = menu(); break; case 2: listar(arq,cad); a = menu(); break; case 3: printf("\nInforme o pais "); scanf("%s",pais);

conta_pais(arq,cad,pais); a = menu(); break; case 4: printf("\nInforme ocodigo "); scanf("%i",&cod); remover(arq,arq_temp,cad,cod); a = menu(); break; default: printf("\nOpcao invalida\n"); a = menu(); break; } } return 0; }

int menu() { int a=0; printf("\n");printf("MENU DE OPCOES\n\n"); printf("\t1 - Cadastrar animal\n"); printf("\t2 - Mostrar todos os animais\n"); printf("\t3 - Contar o numero de animais de um determinado pais \n"); printf("\t4 - Removeranimal\n");; printf("\t5 - Sair\n\n"); printf("Escolha uma opcao "); scanf("%i",&a); return a; }

void cadastro(FILE * arq,animal cad) { arq = fopen(Caminho,"ab"); printf("\nInforme o codigo ");scanf("%i",&cad.cod); fwrite(&cad.cod,sizeof(int),1,arq); printf("\nInforme o nome "); scanf("%s",cad.nome); fwrite(cad.nome,sizeof(char),Num_car,arq);

printf("\nInforme o raca ");scanf("%s",cad.raca); fwrite(cad.raca,sizeof(char),Num_car,arq); printf("\nInforme o pais de origem "); scanf("%s",cad.pais); fwrite(cad.pais,sizeof(char),Num_car,arq); fclose(arq); } void listar(FILE * arq,animal cad){ arq=fopen(Caminho,"rb"); printf("\nLista: \n"); while(!feof(arq)) { fread(&cad.cod,sizeof(int),1,arq); fread(cad.nome,sizeof(char),Num_car,arq); fread(cad.raca,sizeof(char),Num_car,arq);...
tracking img