Jump to content

Recommended Posts

Posted

Boas. Tenho um problema com tipos abstractos de dados. Num programa que estou a tentar fazer ele nao consegue ir buscar uma variavel que se encontra num ficheiro.h . Como e que consigo fazer isso?

O exemplo e

no ficheiro.h

typedef struct docente

{

char Nome[MAX_CHAR];

char Email[MAX_CHAR];

nota avaliacao;

int Numero;

int numc;

}infoDocente, *apDocente;

no main.c

sscanf(line,"%c %d",&Nome,&Numero)!=ARG_USED

Ele diz que o Nome e Numero nao foi declarado.

Posted

E não foram. Não existem variáveis com esses identificadores. A estrutura que defines tem dois dos membros com esses nomes, mas não tens quaisquer variáveis assim definidas. Para fazeres o que queres no main.c terias que ter algo do género:

infoDocente prof1;
sscanf(line,"%s %d",prof1.Nome,&(prof1.Numero));

Repara: tens que declarar uma estrutura do tipo que queres. No sscanf tens que usar %s e não %c porque queres ler uma string, suponho. (E não precisas de & em prof1.Nome já que Nome é um apontador para o primeiro caracter do vector de caracteres).

Não respondo a dúvidas por mensagem.

Posted

Não. Quando defines uma estrutura estás apenas a definir um novo tipo de dados. Não estás a criar variáveis novas.

Eu estou a criar uma variável nova que é do tipo da estrutura que tu definiste e dá pelo nome de prof1.

Se calhar tens que rever as estruturas...

Não respondo a dúvidas por mensagem.

Posted

Só se quiseres ter uma função que crie docentes e usá-los depois fora da função. Isto porque, a partir do momento em que defines o que é aquela estrutura, podes declarar variáveis dela como se fossem de outro tipo qualquer.

Não respondo a dúvidas por mensagem.

Posted

Eu tenho uma estrutura que define um so docente e outra o conjunto dos docente......entao prof1 e um docente e o teu infoDocente e o conjunto dos varios prof's certo?

Posted

Não. Aquando da definição da estrutura, ele fez dois typedefs.

- infoDocente que é o tipo da estrutura, ou seja, equivalente a struct docente

- apDocente que é o tipo de apontador para a estrutura, ou seja, equivalente a struct docente *

Eu limitei-me a declarar uma variável (chamada prof1) do tipo da estrutura, para lhe mostrar que precisava de ter uma variável para poder guardar o nome e o número.

Não respondo a dúvidas por mensagem.

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.