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

mejaime

[Resolvido] Duvida em duas funções

5 mensagens neste tópico

Criei a função  void DefinirComposicao()  que define o número de compostos, o nome de cada um deles e a quantidade

com que cada composto contribui para o medicamento.

e criei outra  void Stocks(char nome[MAX][80], int numComp, quant[MAX])  que define, para cada um dos compostos, a capacidade existente em stock.

a primeira função funciona bem mas a segunda nao, os parametros que recebe nao são os que a função definirComposição()  cria .

void DefinirComposicao()
{

int numComp=0;
int i;
float quant[MAX];
char nome[MAX][80], opconfig;

       
         printf("Numero de Compostos:");
         scanf("%d",&numComp); 
       
        for(i=0;i<numComp;i++)
            { printf("Nome do Composto: ");
                gets(nome[i]);
             
               printf("Qt Composto [%] : ");
               scanf("%f",&quant[i]);
            }
}



void Stocks(char nome[MAX][80], int numComp)
{

   int i, sto[MAX];
      for(i=0;i<numComp;i++)
       { printf("Nome composto: %s   ",nome[i]);
         printf("stock:");
         scanf("%d",&sto[i]);
       }


   for(i=0;i<numComp;i++)
        printf(" %s   %d   %d\n",nome[i], quant[i], sto[MAX]);

}

Era suposto este ultimo printf apresentar os dados inseridos na primeira função mais o stock correspondente a cada composto.

Se alguem souber que me ajude .

Obrigado .

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Tens a primeira função onde o utilizador mete os dados que quer, mas depois quando a função termina todas as váriaveis dessa função são eliminadas e com elas os dados do utilizador.

Tens duas formas de resolver a questão:

1º Crias as variaveis em ambiente global.

2ª returnar um array com os dados todos que precisas para a segunda função

Acho que devias colocar o main tambem no post.

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

n podes fazer return de arrays =)

ate tens um errozito, pois defines as duas funcoes como void ou seja, nenhuma delas passa nada para a outra =)

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Obrigado pelas dicas pessoal, já consegui resolver o problema. :P

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