Jump to content

sera possivel? ou estou a inventar?


Recommended Posts

Posted

😛 malta, tenho aqui um problema (estou a inventar), mas nao consigo aceder ao ponteiro, nem sei se isto e possivel  ?




typedef struct objecto {
        char nome[20];
        char titulo[20];
        int preco;
        }livro;

typedef struct temp{
         livro **pointer; // ponteiro para vetor
        }no;
        
  
        
void busca(livro *ptr, int total){
            int dados;
            livro 
            no.pointer=&ptr;/// como faço??
            
            printf(" dados %d\n",(*pointer)->preco);
            };


basicamente é tenho um vetor de livros, ja preenchido, e que ter uma estrutura que aponte para o ponteiro que aponta para o vetor de livros  :nono1:

parece um bocado complexo  :wallbash:

*ptr // e o ponteiro que recebe o endereco do vetor dos livros

total// e o numero de livros

agora como o livro **pointer esta numa estrutura como acedo no.ptr?? nao da  :wallbash:

alguem me pode ajudar? nesta duvida?

muito obrigada

Posted

Mesmo sem conseguir compreender nada da tua duvida acho que o erro esta na estrutura no

Estas  a espera de receber um poiter para uma referencia mas so estas a atribuir uma referencia

"There are two kinds of programmers. Those who write something to get the work done and those who want to write good code."João BrandãoWebsite e blog: http://jamab.blogspot.com/

Posted

:wallbash: desculpem isto e muito dificil de explicar  😄🙂😄

mas vou tentar, o que eu quero, e já ando ha 3 dias de volta disto e nao sei como se faz:S

na minha aplicação tenho um vetor de medicos ja prenchido.

e quero que cada medico tenha uma lista ligada de consultas.

assim sempre que uma paciente quiser uma consulta

percorro o arrays dos medicos, verifico qual o nome do medico e acrescento uma consulta.

ja andei a mexer em vetores de ponteiros. mas enfim nada resulta, alguem sabe como isso se faz??

muito obrigada

? 😞

Posted

Vais percorrendo o array e verificando se o nome do médico da posição do array em que te encontras é igual ao que tu queres.

Quando o encontrares, basta percorrer a lista ligada desse médico até ao fim, crias uma nova consulta com o malloc e preenches com os respectivos dados e metes o apontador da última célula a apontar para a nova que acabaste de criar.

Posted

:wallbash:

mas nao tou a conseguir , da me erro




#include<stdio.h>
#include<string.h>
#include <stdlib.h>
# define MAX 100





typedef struct objecto consulta,*pconsulta;

typedef struct mau livro ,*plivro;
struct mau{
       char nome[50];
       int idade;
       pconsulta primeira;
       };
struct objecto{
        char tipo[50];
        pconsulta seg;
        };




void escreve_pagina(pconsulta f)
{
while(f!=NULL)
  {
  puts(f->tipo);
  f=f->seg;
  }
};

void insere_consulta(plivro ptr,int total,char *s){
         int i;
         pconsulta novo,aux;
         char n[50],vai[50];
         printf(" qual o nome\n");
         fflush(stdin);
         gets(n);
         
         
         
         
         for(i=0;i<total;i++){
            if(strcmp(n,ptr[i].nome)==0)
                printf(" %d\n",ptr[i].idade);
                 novo=(consulta*)malloc(sizeof(consulta));
                 if(novo==NULL)
                    return;
                 novo->seg=NULL;
                 
                 strcpy(novo->tipo,s);
                 if(ptr->primeira==NULL){
                     ptr->primeira=novo;
                     escreve_pagina(novo);
                     }
                 else
                 {
                 aux=ptr->primeira;
                 while(aux->seg!=NULL)
                  aux=aux->seg;
                  aux->seg=novo;
                  
                  
                  }
                }
         };
                 







é assim tenho um vetor de clientes, ja prrenchido e tneho um vetor ptr que é o vetor que vai comunicar com a função main

tio isto

ptr->[][][]

acontece que dentro de cada cliente quero ter uma lista ligada.

1  - vou percorrer o meu vetor, ate encontrar o cliente que quero, inserir a lista

2 - Achando o cliente, tenho um ponteiro consulta (primeira), (que e uma variavel da estrutura cliente) que aponta para uma lista.

como faço para ir buscar esse ponteiro (primeira)?

ptr->primeira??  é a mesma coisa que ir buscar a idade tipo ptr->idade???

isto ta uma confucsao:(

alguem me pode ajudar :wallbash:

obrigada

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...

Important Information

By using this site you accept our Terms of Use and Privacy Policy. We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.