Ir ao conteúdo
  • Cadastre-se

Programa simples(agenda)


fabricio fts

Posts recomendados

Fazer uma agenda eletrônica (na linguagem C);

• Cadastrar:

• num de Telefone residencial e celular;

• endereço;

• data de aniversário;

• e-mail

É o seguinte o programa que se segue ai a baixo ele está dando erro , nao de compilação mais sim de exibição , para testar inclua dois contatos e peça para exibi-los e veja o que aparece, aparece errado..."nao consigo saber aonde está o erro :S " por favor me ajudem..

/* Mini-agenda

Nota: os registros são numerados a partir do 0. Assim, o

primeiro registro é 0, o segundo é 1, ...

*/

#include <stdio.h>

#include <stdlib.h>

FILE *arquivo;

char *nomearq="agenda.dat";

struct pessoa{

char nome[40];

char telefonefixo[20];

//char celular[20];

char endereco[80];

char email[40];

};

int Escolhe() {

int opcao;

do {

printf ("\nMini-agenda\n\n");

printf ("1 - Mostrar todos os registros\n");

printf ("2 - Incluir um registro\n");

printf ("0 - Sair\n\n");

printf ("Opcao:");

scanf("%d",&opcao);

} while(opcao<0||opcao>2);

return opcao;

}

void MostraTodos() {

int reg;

struct pessoa umapessoa;

// posiciona o arquivo no inicio

fseek(arquivo,0,SEEK_SET); /*queria saber mais direitinho tambem o que essa função faz */

reg=0;

do {

// le registro

fread(&umapessoa, sizeof(struct pessoa), 1, arquivo);

// se chegou ao fim, para

if (feof(arquivo)) break; /*esse (feof(arquivo))break pra que serve?*/

// mostra dados

printf ("\nRegistro numero: %d\n",reg);

printf ("Nome: %s\n",umapessoa.nome);

printf ("Telefonefixo: %s\n",umapessoa.telefonefixo);

//printf ("celular: %s\n",umapessoa.celular);

printf ("Endereco: %s\n",umapessoa.endereco);

printf ("email: %s\n\n",umapessoa.email);

printf ("--------------------------------\n");

reg++;

} while(!feof(arquivo)); // repete enquanto nao chegar ao fim

}

void IncluiRegistro() {

char lixo[255];

struct pessoa umapessoa;

// limpa o buffer do teclado

gets(lixo);

// posiciona o arquivo no final

fseek(arquivo,0,SEEK_END);

// coloca os dados da pessoa no registro umapessoa

printf ("\nDigite os dados da pessoa nos campos abaixo:\n");

printf ("Nome:");

gets(umapessoa.nome);

printf ("Telefone fixo:");

gets(umapessoa.telefonefixo);

//celular("celular:");

//gets(umapessoa.celular);

printf ("Endereco:");

gets(umapessoa.endereco);

printf ("email:");

gets(umapessoa.email);

// grava o registro no final do arquivo

fwrite(&umapessoa, sizeof(struct pessoa), 1, arquivo);

printf ("Registro gravado!\n");

}

main () {

int opcao;

arquivo = fopen(nomearq,"ab+");

do {

opcao = Escolhe();

if (opcao == 1) MostraTodos();

if (opcao == 2) IncluiRegistro();

} while (opcao!=0);

printf ("Ate logo!\n");

}

Link para o comentário
Compartilhar em outros sites

  • 3 anos depois...
Visitante
Este tópico está impedido de receber novas respostas.

Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas comunidades sobre tecnologia do Brasil. Leia mais

Direitos autorais

Não permitimos a cópia ou reprodução do conteúdo do nosso site, fórum, newsletters e redes sociais, mesmo citando-se a fonte. Leia mais

×
×
  • Criar novo...

 

GRÁTIS: ebook Redes Wi-Fi – 2ª Edição

EBOOK GRÁTIS!

CLIQUE AQUI E BAIXE AGORA MESMO!