Pesquisar na Comunidade
Mostrando resultados para as tags ''manipulação de arquivo''.
Encontrado 2 registros
-
Olá pessoal, acabei de me cadastrar, então desculpe por algum erro.. Tenho de fazer um exercício em C, onde devo fazer uma agenda de dados e salvá-los em disco. Mas o meu único problema é que não sei como eu faço para conseguir pesquisar por nome as informações em um arquivo salvo em disco, no caso arquivo.txt Meu programa está assim: ------ #include<stdlib.h> #include<stdio.h> #include<conio.h> #include<string.h> #include<time.h> #include<ctype.h> struct dados { char nome[40], rg[30], telefone[10], estadocivil[40]; }; int main() { int menu, quant, quant1; char pesquisa[40]; struct dados func; FILE *agenda; agenda = fopen("agenda.txt", "at"); if (agenda == NULL) { printf("Não foi possível abrir o arquivo"); return 0; } do { printf("----------------------------------------------------------------------\n1-Consultar cliente;\n2-Cadastrar cliente;\n3-SAIR;\n\n"); scanf("%d", &menu); system("cls"); switch (menu) { case 1: printf("Digite o nome de quem deseja consultar: \n"); scanf("%s", &pesquisa); break; ----------- Não tenho a mínima ideia de como faço o item 1... os outros eu já me virei. Obs..: Não faz nem 1 mês direito que comecei a aprender a programar em C, então desculpem qualquer coisa. Pesquisei no site sobre a mesma dúvida, mas as respostas que vi não me ajudaram. Programa: Dev C++
- 3 respostas
-
- ponteiro
- arquivo.txt
- (e %d mais)
-
Pessoal, estou tento um probleminha com meu código. Estou desenvolvendo uma agenda telefônica como exercício do curso C++. Tudo está indo bem, porém estou com dificuldade de fazer um contador para auxiliar na exibição dos contatos. Ex: 1) Fulano - 00000. A minha ideia é, escanear o ultimo número de contador escrito no arquivo .txt que armazena os dados e depois incrementa-lo e escreve-lo novamente na linha seguinte para o próximo contato. Nos primeiros dois contatos ele escreveu correto, mas depois do segundo começou a repetir o numero 2 para todos os outros. Tentei fazer laços e atribuir o valor para outra variável auxiliar mas não obtive sucesso. Segue parte do código. void CadastroNT(char nome[30], int tel){ FILE *arquivo; char nome1[30]; int tel1 = 0; int contador = 0; arquivo = AbrirA("Lista.txt",'l'); while(!feof(arquivo)){ fscanf(arquivo,"%d %s %d\n",&contador,&nome1,&tel1); if ((strcasecmp(nome1,nome)==1) || (tel1 != tel)){ FechA(arquivo); arquivo = AbrirA("Lista.txt",'a'); contador ++; fprintf(arquivo,"%d %s %d\n", contador, nome,tel); printf("Cadastro efetuado.\n"); FechA(arquivo); break; }else{ FechA(arquivo); printf("Nome ou Telefone já existe. Tente novamente!\n"); break; } } }