Ajuda com criação de menu pra C por favor! [RESOLVIDO]

1. Ajuda com criação de menu pra C por favor! [RESOLVIDO]

pudim
pudimowned

(usa Ubuntu)

Enviado em 08/10/2012 - 11:14h

Eu sou muito novo em programação, e não fazia idéia de como criar um menu
então fui chutando do meu jeito até conseguir isto

----------------

#include <stdio.h>
#include <stdlib.h>

int main(){
int op1, op2, maislnd, maislndparc, maisvc, maisvcparc, maisjvm, maisjvmparc;
printf ("Escolha a revista desejada\n"
"1 - Mais linda\n"
"2 - Mais voce\n"
"3 - Mais jovem\n"
"0 - sair\n\n");
scanf ("&d", &op1);
maislnd = 80*0.8;
maislndparc = ((80*0.8)/4)+((0.05*80)/4);
maisvc = 100*0.8;
maisvcparc = ((100*0.8)/4)+((0.05*100)/4);
maisjvm = 120*0.8;
maisjvmparc = ((120*0.8)/4)+((0.05*120)/4);
switch(op1){
case 1:
if (op1=1){
printf("Revista mais linda\n"
"opçao de pagamento: \n"
"1 - A vista\n"
"2 - A prazo \n");
scanf ("%d", op2);
getch();
}
switch(op2){
case 1:
if (op2=1){
printf("O pagamento custa: %d Reais", maislnd);
}
case 2:
if (op2=2){
printf("O pagamento custa 4 parcelas de: %d Reais", maislndparc);
}
}
break;
case 2:
if(op1=2){
printf("revista mais voce\n"
"opçao de pagamento\n"
"1 - A vista \n"
"1 - a prazo \n");
}
switch(op2){
case 1:
if (op2=1){
printf("O pagamento custa: %d Reais", maisvc);
}
case 2:
if (op2=2){
printf("O pagamento custa 4 parcelas de: %d Reais", maisvcparc);
}
}
break;
case 3:
if (op1=3){
printf ("Revista mais jovem"
"opçao de pagamento\n"
"1 - A vista \n"
"1 - a prazo \n");
}
switch(op2){
case 1:
if (op2=1){
printf("O pagamento custa: %d Reais", maisjvm);
}
case 2:
if (op2=2){
printf("O pagamento custa 4 parcelas de: %d Reais", maisjvmparc);
}
}
break;
case 4:
if (op1=0){
printf ("voce saiu do programa");
}
break;
case 5:
if (op1>4){
printf ("opçao invalida");
}
break;
}
getch();
return 0;
}



------

Mas quando a tela abre e eu ponho algum número (de 0 a 4), nada aparece! A conta não é feita, o print não é executado. ajuda por favor!


  


2. Re: Ajuda com criação de menu pra C por favor! [RESOLVIDO]

Felipe Pereira Miranda
felipe300194

(usa Fedora)

Enviado em 08/10/2012 - 12:49h

Tire os getchs eles são desnecessários. Segue o código modificado, eu testei ele aqui e funcionou. Mas está faltando algumas coisas, faltou colocar algumas mensagens, caso por exemplo escolha a revista mais você...


#include <stdio.h>
#include <stdlib.h>

int main(){
int op1, op2, maislnd, maislndparc, maisvc, maisvcparc, maisjvm, maisjvmparc;
printf ("Escolha a revista desejada\n"
"1 - Mais linda\n"
"2 - Mais voce\n"
"3 - Mais jovem\n"
"0 - sair\n\n");
scanf ("%d", &op1);
maislnd = 80*0.8;
maislndparc = ((80*0.8)/4)+((0.05*80)/4);
maisvc = 100*0.8;
maisvcparc = ((100*0.8)/4)+((0.05*100)/4);
maisjvm = 120*0.8;
maisjvmparc = ((120*0.8)/4)+((0.05*120)/4);
switch(op1){
case 1:
if (op1=1){
printf("Revista mais linda\n"
"opçao de pagamento: \n"
"1 - A vista\n"
"2 - A prazo \n");
scanf ("%d", &op2);
}
switch(op2){
case 1:
if (op2=1){
printf("O pagamento custa: %d Reais\n\n", maislnd);
}
case 2:
if (op2=2){
printf("O pagamento custa 4 parcelas de: %d Reais\n\n", maislndparc);
}
}
break;
case 2:
if(op1=2){
printf("revista mais voce\n"
"opçao de pagamento\n"
"1 - A vista \n"
"1 - a prazo \n");
}
switch(op2){
case 1:
if (op2=1){
printf("O pagamento custa: %d Reais\n\n", maisvc);
}
case 2:
if (op2=2){
printf("O pagamento custa 4 parcelas de: %d Reais\n\n", maisvcparc);
}
}
break;
case 3:
if (op1=3){
printf ("Revista mais jovem"
"opçao de pagamento\n"
"1 - A vista \n"
"1 - a prazo \n");
}
switch(op2){
case 1:
if (op2=1){
printf("O pagamento custa: %d Reais\n\n", maisjvm);
}
case 2:
if (op2=2){
printf("O pagamento custa 4 parcelas de: %d Reais\n\n", maisjvmparc);
}
}
break;
case 4:
if (op1=0){
printf ("voce saiu do programa\n\n");
}
break;
case 5:
if (op1>4){
printf ("opçao invalida\n\n");
}
break;
}
return 0;
}


EDIT: Desculpe não posso afirmar se os getchs são ou não necessários, mas a causa do erro eram eles.


3. Re: Ajuda com criação de menu pra C por favor! [RESOLVIDO]

pudim
pudimowned

(usa Ubuntu)

Enviado em 08/10/2012 - 13:16h

Na vredade ja achei meus erros

declarei um par de variáveis de modo errado, e os ifs eram desnecessários, os getchs tb!


4. Re: Ajuda com criação de menu pra C por favor! [RESOLVIDO]

Felipe Pereira Miranda
felipe300194

(usa Fedora)

Enviado em 08/10/2012 - 13:18h

Certo muito bom, nada melhor do que verificar onde errou e corrigir por si mesmo. Esta sem dúvida é uma das melhores ferramentas de estudo.






Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts