Ir ao conteúdo
  • Cadastre-se

brunopandradef

Membro Júnior
  • Posts

    3
  • Cadastrado em

  • Última visita

Reputação

0
  1. Preciso saber por que quando eu chamo a funçao "funbusca" ela fica repetindo varias vezes o que ta escrito no cadastro.txt ..???.>>> #include <stdio.h> #include <stdlib.h> #include <string.h> #include <windows.h> char url[]="cadastro.txt"; struct registro { char nome[25]; char bairro[20]; char uf[2]; char rua[25]; char cidade[20]; char telefone[20]; int cpf, num; char cod[20]; }; void gotoxy(int x, int y){ SetConsoleCursorPosition(GetStdHandle(STD_OUTPUT_HANDLE),(COORD){x-1,y-1}); } void funcadastro() { struct registro cadastro; int resp; FILE *arq; arq = fopen(url, "a+"); if(arq == NULL) printf("Erro, nao foi possivel abrir o arquivo\n"); else { gotoxy(15,2); printf("Informe seu codigo: "); scanf("%d",&cadastro.cod); fprintf(arq, "Codigo: %d\n", cadastro.cod); gotoxy(15,4); printf("Informe seu nome: "); fflush(stdin); gets(cadastro.nome); fprintf(arq, "Nome: %s\n", cadastro.nome); gotoxy(15,6); printf("Informe seu UF: "); fflush(stdin); gets(cadastro.uf); fprintf(arq, "UF: %s\n", cadastro.uf); gotoxy(15,8); printf("Informe sua cidade: "); fflush(stdin); gets(cadastro.cidade); fprintf(arq, "Cidade: %s\n", cadastro.cidade); gotoxy(15,10); printf("Informe seu bairro: "); fflush(stdin); gets(cadastro.bairro); fprintf(arq, "Bairro: %s\n", cadastro.bairro); gotoxy(15,12); printf("Informe sua rua: "); fflush(stdin); gets(cadastro.rua); fprintf(arq, "Rua: %s\n", cadastro.rua); gotoxy(15,14); printf("Informe seu CPF: "); scanf ("%d",&cadastro.cpf); fprintf(arq, "CPF: %d\n", cadastro.cpf); gotoxy(15,16); printf("Informe seu numero: "); scanf("%d",&cadastro.num); fprintf(arq, "Numero: %d\n", cadastro.num); gotoxy(15,18); printf("Informe seu telefone: "); fflush(stdin); gets(cadastro.telefone); fprintf(arq, "Telefone: %s\n", cadastro.telefone); } fclose(arq); gotoxy(15,20); system("cls"); printf("\t\tDeseja continuar? 1-SIM / 0-NAO: "); scanf("%d", &resp); while(resp < 0 || resp > 1) { printf("Valor incorreto tente novamente, 1-SIM / 2-NAO: "); scanf("%d",&resp); } if(resp != 0) return main(); } void funbusca () { FILE *arq; char linha[100]; char *result; int i; // Abre um arquivo TEXTO para LEITURA arq = fopen("cadastro.txt", "rt"); if (arq == NULL) // Se houve erro na abertura { printf("Problemas na abertura do arquivo\n"); return; } i = 1; while (!feof(arq)) { result = fgets(linha, 100, arq); if (result) printf(linha); } fclose(arq); } int main() { int resp; gotoxy(15,2); printf("1 - CADASTRO\n"); gotoxy(15,4); printf("2 - ALTERACAO\n"); gotoxy(15,6); printf("3 - BUSCA\n"); gotoxy(15,8); printf("4 - EXCLUSAO\n"); gotoxy(15,10); printf("0 - SAIR\n"); gotoxy(15,12); printf("Escolha a opcao desejada: "); scanf("%d", &resp); while(resp < 0 || resp > 4) { printf("Valor incorreto, Tente novamente: "); scanf("%d", &resp); } system("cls"); while(resp!=0) { switch(resp) { case 1: funcadastro(); break; case 2: //funalteracao(); break; case 3: funbusca(); break; case 0: printf("\nSAINDOO\n"); break; } } return 0; }
  2. O que eu fiz ate agora. Quero saber como posso excluir um cadastro do cadastro.txt . #include <stdio.h> #include <stdlib.h> #include <string.h> struct registro { char nome[25]; char bairro[20]; char uf[2]; char rua[25]; char cidade[20]; char telefone[20]; int cpf, num; char cod[20]; }; void funcadastro() { struct registro cadastro; int resp; char url[]="cadastro.txt"; FILE *arq; arq = fopen(url, "a+"); if(arq == NULL) printf("Erro, nao foi possivel abrir o arquivo\n"); else { printf("\n\t\tInforme seu nome: "); fflush(stdin); gets(cadastro.nome); fprintf(arq, "Nome: %s\n", cadastro.nome); printf("\n\t\tInforme seu UF: "); fflush(stdin); gets(cadastro.uf); fprintf(arq, "UF: %s\n", cadastro.uf); printf("\n\t\tInforme sua cidade: "); fflush(stdin); gets(cadastro.cidade); fprintf(arq, "Cidade: %s\n", cadastro.cidade); printf("\n\t\tInforme seu bairro: "); fflush(stdin); gets(cadastro.bairro); fprintf(arq, "Bairro: %s\n", cadastro.bairro); printf("\n\t\tInforme sua rua: "); fflush(stdin); gets(cadastro.rua); fprintf(arq, "Rua: %s\n", cadastro.rua); printf("\n\t\tInforme seu CPF: "); scanf ("%d",&cadastro.cpf); fprintf(arq, "CPF: %d\n", cadastro.cpf); printf("\n\t\tInforme seu numero: "); scanf("%d",&cadastro.num); fprintf(arq, "Numero: %d\n", cadastro.num); printf("\n\t\tInforme seu telefone: "); fflush(stdin); gets(cadastro.telefone); fprintf(arq, "Telefone: %s\n", cadastro.telefone); printf("\n\t\tInforme seu codigo: "); scanf("%d",&cadastro.cod); fprintf(arq, "Codigo: %d\n", cadastro.cod); } fclose(arq); printf("\t\tDeseja continuar? 1-SIM / 0-NAO: "); scanf("%d", &resp); while(resp < 0 || resp > 1) { printf("Valor incorreto tente novamente, 1-SIM / 2-NAO: "); scanf("%d",&resp); } if(resp != 0) return main(); } int main() { int resp; printf("\n\t\t1 - CADASTRO\n"); printf("\n\t\t2 - ALTERACAO\n"); printf("\n\t\t3 - EXCLUSAO\n"); printf("\n\t\t0 - SAIR\n"); printf("\n\t\tEscolha a opcao desejada: "); scanf("%d", &resp); while(resp < 0 || resp > 3) { printf("Valor incorreto, Tente novamente: "); scanf("%d", &resp); } while(resp!=0) { switch(resp) { case 1: funcadastro(); break; case 2: //funalteracao(); break; case 3: //funexclusa(); break; case 4: //funçaobusca case 0: break; } } return 0; }

Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas comunidades sobre tecnologia do Brasil. Leia mais

Direitos autorais

Não permitimos a cópia ou reprodução do conteúdo do nosso site, fórum, newsletters e redes sociais, mesmo citando-se a fonte. Leia mais

×
×
  • Criar novo...