Ir ao conteúdo
  • Comunicados

    • Gabriel Torres

      Seja um moderador do Clube do Hardware!   12-02-2016

      Prezados membros do Clube do Hardware, Está aberto o processo de seleção de novos moderadores para diversos setores ou áreas do Clube do Hardware. Os requisitos são:   Pelo menos 500 posts e um ano de cadastro; Boa frequência de participação; Ser respeitoso, cordial e educado com os demais membros; Ter bom nível de português; Ter razoável conhecimento da área em que pretende atuar; Saber trabalhar em equipe (com os moderadores, coordenadores e administradores).   Os interessados deverão enviar uma mensagem privada para o usuário @Equipe Clube do Hardware com o título "Candidato a moderador". A mensagem deverá conter respostas às perguntas abaixo:   Qual o seu nome completo? Qual sua data de nascimento? Qual sua formação/profissão? Já atuou como moderador em algo outro fórum, se sim, qual? De forma sucinta, explique o porquê de querer ser moderador do fórum e conte-nos um pouco sobre você.   OBS: Não se trata de função remunerada. Todos que fazem parte do staff são voluntários.
    • DiF

      Poste seus códigos corretamente!   21-05-2016

      Prezados membros do Fórum do Clube do Hardware, O Fórum oferece um recurso chamado CODE, onde o ícone no painel do editor é  <>     O uso deste recurso é  imprescindível para uma melhor leitura, manter a organização, diferenciar de texto comum e principalmente evitar que os compiladores e IDEs acusem erro ao colar um código copiado daqui. Portanto convido-lhes para ler as instruções de como usar este recurso CODE neste tópico:  
isaiasms

Ler arquivo

Recommended Posts

Pessoal me ajudem por favor nesse problema não consigo ler  o arquivo. na função mostrarAgenda.
 

struct TpAgenda{    int CodSeq,destinatario;    char IdenDono[20];};void Agenda(FILE *arq){    int pos,tamanho;	TpAgenda reg;	TpUsuario rog;    char aux1[10];    int aux,op,i=0,y=0,p;    system("cls");    system("color 90");    titulo();    gotoxy(1,7);    reg.CodSeq=0;    FILE *arq1;	arq= fopen("agenda.dat","rb+");	arq1=fopen("dados.dat","rb");	if(arq==NULL)    {//se o arq não existir	   arq=fopen("agenda.dat","wb+");	   reg.CodSeq=0;    }    printf("\n[1]Adicionar Contato \n[2]Mostrar agenda");    printf("\nOpcao:");    scanf("%d",&op);    switch(op)    {    	case 1:        printf("\nDigite o telefone do contato:");    	scanf("%d",&aux);        fread(®,sizeof(TpAgenda),1,arq);    					pos=BuscaContato(arq,aux);    					if(pos!=-1)    					{    					  MessageBox(NULL, "Contato ja existe", "Contato", MB_OK + MB_ICONINFORMATION);    					  getch();    					}    					else    					{                           p=BuscaFone(arq1,aux);    					   if(p!=-1)    					   {                                if(aux!=user.tel)                                {                                    printf("\nNome: ");                                    fflush(stdin);                                    gets(reg.IdenDono);    					            reg.destinatario=aux;                                     reg.CodSeq=1;                                     MessageBox(NULL, "Cadastrado com sucesso", "Contato", MB_OK + MB_ICONINFORMATION);                                     fseek(arq,0,1);                                     fwrite(®,sizeof(TpAgenda),1,arq);                                }                                else                                {                                    printf("\nSeu proprio numero");                                    getch();                                }                            }                            else                            {                                printf("\nNao existe Usuario");                                getch();                            }                        }                        break;    	case 2:MostraAgenda(arq); break;        }     opcao();     fclose(arq1);     fclose(arq);}void MostraAgenda(FILE *arq){            TpAgenda age;            arq=fopen("agenda.dat","ab+");                      clrscr();	          fseek(arq,0,2);    	        int tl=ftell(arq)/sizeof(TpAgenda);    	        for(int i=0; i<tl; i++)                 {   			    	fseek(arq,i*sizeof(TpAgenda),0);    			    	fread(&age,sizeof(TpAgenda),1,arq);    		printf("Nome:%s \tTelefone:%d\n\n",age.IdenDono,age.destinatario);    		  }        	  	 fread(&age,sizeof(TpAgenda),1,arq);        	     getch();     fclose(arq);}
Editado por isaiasms

Compartilhar este post


Link para o post
Compartilhar em outros sites

O que está errado é que você abre o arquivo na função "Agenda()" e depois tenta abrir o mesmo arquivo novamente da função "MostrarAgenda()" por isso dá pau. 

Compartilhar este post


Link para o post
Compartilhar em outros sites

Crie uma conta ou entre para comentar

Você precisar ser um membro para fazer um comentário






Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas publicações 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

×