Dificuldade em usar a Função SWitch

Dificuldade em usar a Função SWitch

by Luiz Ricardo Carvalho Uchoa -
Number of replies: 8

Olá a todos,

Pessoal estou montando o meu EP, e estou com duvida, qual melhor função para analise de alternativas?

 - If 

- Switch

no caso da Switch (estou tentando usa-la) não consigo copilar no Devc++.

 

In reply to Luiz Ricardo Carvalho Uchoa

Re: Dificuldade em usar a Função SWitch

by Daniel Bazilio Zibordi -
Olá Luiz,

No meu EP estou usando o Switch.
O que exatamente ocorre ao tentar gerar o exe no Devc++ usando o Switch?
In reply to Daniel Bazilio Zibordi

Re: Dificuldade em usar a Função SWitch

by Luiz Ricardo Carvalho Uchoa -

o erro que aparece éo seguinte;

int function "int main()"

switch quality not integer

In reply to Luiz Ricardo Carvalho Uchoa

Re: Dificuldade em usar a Função SWitch

by Luiz Ricardo Carvalho Uchoa -
scanf("%d",&prod_escolhido);
  prod = prod_escolhido - 1;
     switch (prod)
  {
     case MINERALBA:
In reply to Luiz Ricardo Carvalho Uchoa

Re: Dificuldade em usar a Função SWitch

by Victor Gomes -
Vc poderia mandar mais partes do seu código? Especialmente onde vc cria a variável prod e a constante MINERALBA ?
In reply to Luiz Ricardo Carvalho Uchoa

Re: Dificuldade em usar a Função SWitch

by Daniel Bazilio Zibordi -
Luiz,

Essa sua variável prod é de q tipo? int, char?

O switch funciona da segunte forma no C. Primeiro declaramos uma variável para receber a "opção" que o switch irá seguir. Então lemos essa variável e começamos o switch.

Por exemplo:

int opc;
 
scanf("%d", &opc)

switch (opc){
case 1:
/*bloco de 1º comandos*/
break;

case 2:
/*bloco de 2º comandos*/
break;
}

O valor que estiver na variável opc será o "caminho" que o switch seguirá.
Ou seja: se opc == 1, será executado o 1ºbloco de comandos. O valor em vermelho é exatamente o que o switch comparará com a variável de parâmetro (opc) para fazer o fluxo do programa.

No seu código, está escrito case MINERALBA, isso é uma cadeia de caractéres, o programa não consigurá comparar a cadeia de caractér MINERALBA com a sua variável prod, que deve ser um int, provavelmente.

Como curiosidade, ainda existe o default que seria um "case neutro", caso o usuário digite alguma opção que não existe nos cases. A utilidade que eu vejo como super iniciante em programação seria de tratamento e validação de entrada de dados para o switch. Dando uma mensagem, por exemplo, "opção incorreta" ou "opção não existente". Mas como no nosso EP o professor não pede validação de entrada de dados, não vejo utilidade.

EX:
int opc;
...
scanf("%d", &opc)

switch (opc){
case 1:
/*bloco de 1º comandos*/
break;

case 2:
/*bloco de 2º comandos*/
break;

default: /*não precisa fechar com break;*/
/*bloco de comandos que será executado caso nenhuma outro case seja acessado*/

}

Se não ficou claro, por favor avise que eu tente explicar de outra forma.



In reply to Daniel Bazilio Zibordi

Re: Dificuldade em usar a Função SWitch

by Luiz Ricardo Carvalho Uchoa -

Ohhh, Daniel está quebrando um senhor galho, então cara, estive observando  que a variavel "Prod" não está como Int talves descuido no momento em que escrevi, ainda não pude alterar, mais estarei copilando hoje com essa alteração,

O sentido era o seguinte tenho um switch  para a escolha do produto,após a escolha do produto entrava em uma outra  switch (prod) com o retornod e uma mensagem tipo;"a sua escolha foi Choc-Cola",  então achei melhor tirara-la pela orientação passada aqui, estava perdendo muito tempo.

valeu mesmo...duvidas ainda tenho mais vou postando conforme o andamento do meu EP. 

 

In reply to Daniel Bazilio Zibordi

Re: Dificuldade em usar a Função SWitch

by Leonardo Sussumu Shimada Osorio -

www.fmpfm.edu.br/modules.php?name=Downloads&d_op=getit&lid=209 -

Cara achei aki uma apostila...nao sei c vai te ajudar....