Enviado em 31/10/2012 - 21:48h
Pessoal, tô com um probs...
#include <stdio.h>
#include <stdlib.h>
void menu(){
system("cls");
printf(" 1 - Inserir um nome na Lista\n");
printf(" 2 - Pesquisar um nome na lista.\n");
printf(" 3 - Imprimir todos os nomes\n");
printf(" 4 - Pesquisar por aproximacao\n");
printf(" 5 - Excluir usuario\n");
printf(" 6 - Sair\n");
printf(" Digite a opcao desejada: ");
}
int main(){
int opcao;
FILE * arquivo;
char nomeArquivo[100];
char nome[100], pesquisa[100];
printf("Digite o nome do arquivo com .txt: ");
scanf("%s", nomeArquivo);
arquivo = fopen(nomeArquivo, "a");
if(arquivo == NULL){
printf("Erro na abertura do arquivo!!! ");
exit(0);
}else {
do {
menu();
scanf("%d", &opcao);
switch(opcao) {
case 1: // inserir um nome
printf("Digite um nome: ");
scanf("%s", nome); // leitura do nome pelo teclado
fprintf(arquivo, "%s\n", nome); // escreve o nome no arquivo
fflush(arquivo);
printf("O nome foi inserido com sucesso!\n");
getchar();
break;
case 2: // pesquisar um nome no arquivo
printf("Digite um nome para buscar: ");
scanf("%s", pesquisa);
fflush(stdin);
rewind(arquivo); // move o ponteiro para o inicio do arquivo
while (!feof(arquivo)) {
fscanf(arquivo, "%s", nome);
if (strcmp(nome,pesquisa)==0) {
printf("ACHOUUUU");
printf("%s\n", nome);
}
}
getchar();
break;
case 3: // Listar todo o conteúdo do arquivo
rewind(arquivo); // move o ponteiro para o inicio do arquivo
while (!feof(arquivo)) {
fscanf(arquivo, "%s", nome);
printf("%s \n", nome);
}
getchar();
break;
case 4: // Buscar um registro por aproximação ?????????????
//if
printf("Digite um numero para buscar por aproximacao: ");
scanf("%20s", nome);
fflush(stdin);
getchar();
break;
case 5: // excluir um registro do arquivo
printf("Digite um numero do registro para excluir: ");
scanf("%20s", nome);
fflush(stdin);
getchar();
break;
}
}while(opcao != 6);
fclose(arquivo); // fecha o arquivo
}
}