Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <stdio.h>
- #include <conio.h>
- #include <stdlib.h>
- typedef struct { char nome [30]; int tfixo, celular;
- }TContato;
- TContato novocontato ()
- {
- TContato contato;
- printf ("Nome:");
- fflush (stdin);
- gets (contato.nome);
- printf ("Telefone fixo:");
- scanf ("%d", &contato.tfixo);
- printf ("Celular:");
- scanf ("%d", &contato.celular);
- return contato;
- }
- void adicaoContato (FILE *a)
- { TContato contato; int i=0;
- fseek (a, 0, SEEK_END);
- contato = novocontato();
- fwrite (&contato,sizeof (TContato),1, a);
- }
- void buscacontato (FILE *a, int num)
- {
- TContato contato;
- int i=0;
- rewind (a);
- while (!feof(a)){
- fread (&contato,sizeof (TContato), 1,a);
- if (contato.tfixo == num || contato.celular ==num)
- {
- printf ("Contato Encontrado!!!");
- printf ("Nome: %s \n Telefone Fixo: %d \n Celular: %d", contato.nome, contato.tfixo, contato.celular);
- i=1;
- }}
- {
- if (i==0)
- printf ("Contato NAO ENCONTRADO!!!");
- getch();
- }
- }
- main ()
- {
- FILE *a;
- int op; int num;
- a = fopen("contatos.bin", "a+b");
- if (a==NULL)
- { printf ("ERRO AO ABRIR ARQUIVO!!!");}
- else
- printf ("\n \t \t \a MENU DE OPCOES \n \n 1 - CADASTRAR CONTATO \n 2 - LISTAR CONTATO POR NUMERO \n 3 - SAIR");
- scanf ("%d", &op);
- switch (op)
- {
- case 1:
- adicaoContato(a);
- break;
- case 2: printf ("Digite o numero para busca: "); scanf ("%d", &num);
- buscacontato (a, num);
- case 3:
- return 0; break;
- default: return 0;
- }
- fclose (a);
- getche ();
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement