Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- //Usando manipulação de arquivos ,crie uma agenda telefônica com um menu. Os dados do contato devem ser salvo em uma struct. Salve em //um arquivo txt no mesmo diretorio onde o programa foi executado. Nome e telefone deverão ter quebra de linha, o endereço deve ficar //em apenas uma linha.
- #include<stdio.h>
- #include<stdlib.h>
- #include<string.h>
- #include<locale.h>
- int opcao=0,n1,n2,n3,i=0;
- struct tipo_endereco
- {
- char Cidade[30];
- char Bairro[30];
- char Rua [30];
- int Numero;
- };
- struct tipo_cadastro
- {
- char Nome[30];
- int Telefone;
- };
- int main ()
- {
- setlocale(LC_ALL,"Portuguese");
- FILE *arquivo; // comando para manipulação de arquivos. Apontando para o ponteiro arquivo, variavel
- arquivo = fopen ("agenda.txt","a"); // abrir o arquivo agenda.txt no modo modificação (append) para nao zerar o arquivo a cada execução do programa
- printf("\t=====AGENDA DE CONTATOS ====\n");
- printf ("Selecione uma opção abaixo para começar\n");
- tipo_endereco Local;
- tipo_cadastro Contato;
- while (opcao!=3)
- {
- printf ("1 - Salvar contato \n");
- printf ("2 - Pesquisar contato \n");
- printf ("3 - Sair da agenda \n");
- scanf ("%d",&opcao);
- switch (opcao)
- {
- case 1:
- fflush (stdin);
- printf ("Você escolheu a opção 1 - Cadastrar contato \n");
- printf("Nome do Contato: ");
- gets (Contato.Nome);
- printf("Telefone: ");
- scanf("%d",Contato.Telefone);
- fflush(stdin);
- printf("Informe a Cidade: ");
- gets (Local.Cidade);
- printf("Informe o Bairro: ");
- gets (Local.Bairro);
- printf ("Informe a Rua: ");
- gets (Local.Rua);
- printf("Informe o Numero da casa: ");
- scanf ("%d",&Local.Numero);
- printf ("Contato Salvo com sucesso!\n");
- system ("pause");
- fprintf (arquivo,"Nome: %s ",Contato.Nome);
- fprintf (arquivo,"Telefone: %d \n",Contato.Telefone);
- fprintf (arquivo,"Cidade: %s ",Local.Cidade);
- fprintf (arquivo,"Bairro: %s ",Local.Bairro);
- fprintf (arquivo,"Rua: % ",Local.Rua);
- fprintf (arquivo,"Casa N°: %d ",Local.Numero);
- fprintf (arquivo,"%s","\n"); // quebra de linha após cadatrar um contato
- break;
- case 2:
- fflush (stdin);
- printf ("Você escolheu a opção 2 - Pesquisa de contato\n");
- FILE *arquivo;
- arquivo = fopen ("agenda.txt", "r");
- if (arquivo == NULL) // Criado uma validação, se o ponteiro apontar para nulo, ou seja o arquivo agenda.txt nao existir ira mostra o erro
- {
- printf ("Erro arquivo agenda.txt não encontrado \n");
- system ("pause");
- return 0;
- }
- char procura [30]; // contato a ser pesquisado
- char texto [300]; // onde sera salvo todo o texto
- int resultado; //resultado da comparação
- printf ("Digite o nome do contato para pesquisa: ");
- gets (procura);
- while (fgets (texto, 300, arquivo)!= NULL)
- { //Para ler todo o texto, while com 3 paramentros : variavel onde sera salvo o texto, quantidade de caracteres, ponteiro.
- //leia todo o texto do arquivo de texto até achar um caracter nulo, sem ele, leria apenas uma linha do texto
- resultado = strncmp (procura,texto,5);
- printf ("Resultado :%d \n",resultado);
- fclose (arquivo);
- }
- break;
- case 3:
- printf ("Obrigado por usar esse programa. Pressione qualquer tecla para sair");
- break;
- exit (0);
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement