Ir para conteúdo
Fórum Script Brasil

SJonathan

Membros
  • Total de itens

    1
  • Registro em

  • Última visita

Tudo que SJonathan postou

  1. Olá, fiz um trabalho parecido com esse, no meu caso era uma lista telefônica, usuário inseria nomes e telefones, depois faria uma consulta com aquele nome, segue o código: void modo_consulta() { FILE *pont; char *str_result; char nome_pesq[50]; char letra; char opc; int linha,x,t_struct=-1,erro=0; struct consulta consultas[50]; pont = fopen("telefones.txt","r"); if(pont==NULL) { printf("Erro ao ler o arquivo, reinicie a aplicacao."); exit(1); } else { printf("Para consultar um registro, digite o nome do contato:\r\n"); fflush(stdin); gets(nome_pesq); gets(nome_pesq); for(linha=0,x=0;!feof(pont);x++)// LÊ O ARQUIVO E INSERE LINHA POR LINHA NA STRUCT 'CONSULTAS'. { letra=fgetc(pont); if(letra!='\n') { consultas[linha].contato[x]=letra; } else//Quando encontrar o '\n', insere na próxima linha da STRUCT. { linha++; x=0; consultas[linha].contato[x]=letra; } } for(x=0;t_struct!=0;x++)//Enquanto não chega na última linha. { t_struct = strlen(consultas[x].contato); str_result = strstr(consultas[x].contato,nome_pesq); //Guarda na variavel toda a linha da STRUCT, em que o nome pesquisado foi encontrado. if(str_result!=NULL)//Só imprime na tela se a variável conter o contato pesquisado. { printf("\n%s",str_result); erro=1; } } if(erro==0) { printf("\r\n*Contato não encontrado\r\n"); } printf("\nDeseja fazer outra consulta?(S/N)"); scanf("%c",&opc); if(opc=='s' || opc=='S') { modo_consulta(); } else { menu_principal(); } } fclose(pont); } *Obs: Nesse algoritmo eu li todo o arquivo e salvei em um Struct, linha por linha, já que o nome e telefone era na mesmo linha, no seu caso você vai ter que diferenciar cada linha, para saber qual é o campo, uma idéia é inserir antes de cada campo um nº para identificar, por ex: 1 - 001 // Código da venda, voce saberia pelo nº 1 que é o campo Código, apenas uma idéia.
×
×
  • Criar Novo...