• Revista PROGRAMAR: Já está disponível a edição #53 da revista programar. Faz já o download aqui!

sdvferreira

abrir um file e usar o malloc

4 mensagens neste tópico

viva tenho andado à volta com isto e não estou a conseguir continuar isto... pois bem. Estou a fazer um programa para gerir uma clínica, ora bem como a lista de utentes é dinâmica, sempre que quero inserir um utente ou apagar tenho de abrir o ficheiro e  usar o malloc para depois alterar.. agora não sei como fazer uma função para fazer isso.. se alguem tiver uma ideia...

algum do código que tenho feito:



utente preenche_utente(){

utente u;
  
     printf("======================================\n");
     printf("             Insere Utente            \n");
     printf("======================================\n");
     printf("\n Nome do utente : ");
     scanf("%s",u.nome);
     
     printf("\n data de nascimento : ");
     scanf("%s", u.dNascimento);
     
     printf("\n tipo de sexo : ");
     u.sexo=tipo_sexo();
     
 printf("\n Morada : ");
 scanf("%s", u.morada);
     
     printf("\n E-mail : ");
     scanf("%s", u.email);
     
     printf("\n Telefone : ");
     scanf("%i", &u.telf);
     
     printf("\n Numero do bilhete de Identidade : ");
     scanf("%i", &u.bi);

 printf("historial clinico");
 scanf("%s", u.historia);

 return u;
}

utente* insere_lista(utente *p, utente *novo){
   
        utente *p1=p;
   
          if(p==NULL){
     
                  p = p1 = (utente *)malloc( sizeof(utente) ); // Alocar memoria
   
        }else {
                while(p->seg!=NULL) p=p->seg; // Procurar o fim da lista

                p->seg = (utente *)malloc( sizeof(utente) ); // Alocar memoria

                p=p->seg; // Fazer avancar o ponteiro
        }
       
          *p=*novo; // copia o que esta em nova para a lista
         
          p -> seg=NULL; // marca o fim da lista
         
         
         
          return p1; // Devolver ponteiro para o início da lista


    }



0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

não percebi a ligação entre o malloc e o ficheiro...

para abrir um ficheiro tens a função 'fopen'.

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

mas como?  onde o faço? é a minha duvida.. como funciona  :eek: ando mesmo  :wallbash:

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Crie uma conta ou ligue-se para comentar

Só membros podem comentar

Criar nova conta

Registe para ter uma conta na nossa comunidade. É fácil!


Registar nova conta

Entra

Já tem conta? Inicie sessão aqui.


Entrar Agora