Jump to content
o0ONoaHO0o

[Resolvido] Dúvida programa de Listas

Recommended Posts

o0ONoaHO0o

Nesta função:

#pragma region Testes de Control
void verificaFarmaceutica(Farmaceuticas* fmc, char *nomefarm, char *nomemed, int pa)
{
bool encontrado=false;

do
{
if(strcmp(fmc->nomeFARM,nomefarm))
{
fmc->medicamento = novoMedicamento(fmc->medicamento,nomemed, pa);
encontrado=true;
}
else
{
fmc = fmc->seguinte;
}
}while((fmc->seguinte!=NULL) || (encontrado==false));

if (encontrado==true)
{
printf("Medicamento registado com sucesso!");
}
else
{
printf("Farmaceutica não foi encontrada!");
}
}


#pragma endregion

Dá-me este erro:

'novoMedicamento' : cannot convert parameter 3 from 'int' to 'char *'

Alguém sabe o que preciso fazer?

Não vejo o erro não sei se é de já à estar muito tempo a programar....

Desde já obrigado pela ajuda

Edited by thoga31
Tags de quote para code + GeSHi

Share this post


Link to post
Share on other sites
HappyHippyHippo

void verificaFarmaceutica(Farmaceuticas* fmc,
                         char * nomefarm,
                         char * nomemed,
                         int pa) // <-----------------
{
 // ...

 fmc->medicamento = novoMedicamento(fmc->medicamento,
                                    nomemed,
                                    pa); // <---------------

 // ...
}

qual o protótipo da função novoMedicamento ?

  • Vote 1

IRC : sim, é algo que ainda existe >> #p@p

Share this post


Link to post
Share on other sites
o0ONoaHO0o
Medicamentos* novoMedicamento(Medicamentos* mds, char *nomemed, char *pa)
{

Medicamentos *novo;

novo = (Medicamentos*)malloc(sizeof(Medicamentos));

strcpy(mds->nomeMED,nomemed);
strcpy(mds->principioAct,pa);
novo->seguinte = mds;

return (novo);

}

Edited by thoga31
Tags de quote para code + GeSHi

Share this post


Link to post
Share on other sites
pwseo

O compilador já te deu a resposta:

'novoMedicamento' : cannot convert parameter 3 from 'int' to 'char *'

e o HappyHippyHippo já tentou apontar-te no caminho certo:

qual o protótipo da função novoMedicamento ?

mas por algum motivo não reparaste ainda que novoMedicamento recebe um apontador para um char (provavelmente uma string com o princípio activo do medicamento, certo?) e tu estás a passar-lhe um int, que são tipos de dados incompatíveis.

  • Vote 1

Share this post


Link to post
Share on other sites
o0ONoaHO0o

Obrigado a ambos, depois de ver o que postei reparei no erro... Foi mesmo distracção/cansaço... :D

Share this post


Link to post
Share on other sites

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.