-
Posts
11 -
Cadastrado em
-
Última visita
Tipo de conteúdo
Artigos
Selos
Fabricantes
Livros
Cursos
Análises
Fórum
posts postados por fabricio fts
-
-
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-agendaNota: 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");
}
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
Solução para pen drive falsificado e programas para formatação
em Pen drives e cartões de memória
Postado
ôlá amigos !!!
estou com problema com um pendrive que se diz ter "32G da kingston", ai joguei um monte de arquivos nele um bakup do meu pc pra formatar... só que quando fui retornar com os arquivos pro meu pc nao encontrei mais nada sumiu tudo , passei o anti virus o KAV e ele nao encontra nada diz ter 1 objeto, vou em propriedades e vejo que tem 7 giga usado do total "32G", alguem sabe uma solução ai para eu recuperar meus arquivos? por favor..."muito importaNTE ".
Detalhe: Toda vez que eu envio arquivos para ele enquanto eu nao removo o pendrive ele fica la mais quando eu o removo e coloco novamente ele ja tem sumido "toda vida acontece isso ".. me ajudem..