Ir ao conteúdo
  • Cadastre-se

Duvida em C++ , programa nao faz seleçao


Fanatico

Posts recomendados

Eu nao consegui resovler esse problema, eu fiz todo o programa e ta funcionando, mais quando eu coloco ele para rodar, acontece isso:

se eu seleciono as primeiras tomadas de decisão , ele vai continuar ate chegar no fim do programa.

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

Exemplo:

(tem 2 case, cada 1 com 2 alternativas) eu escolho o primeiro case (case1) e a primeira alternativa (case1(alternativa)1) , ele vai passar por todas a partir dai.

case1(alternativa)2 >> case2(alternativa)1 >> case2(alternativa)2 >> termina o programa.

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

é difícil de explicar então vou estar colocando o codigo fonte do programa aqui, e vocês dao uma olhada.

#include <stdio.h>

#include <stdlib.h>

#include <conio.h>

#include <math.h>

#include <string.h>

void main()

{

int envio,formato,resposta,preco;

float comprimento,altura,largura,diametro,peso,valor_cubo,valor_cilindro,peso_cubado,valor_pago;

do

{

printf ("Seja Bem Vindo - Servico de Transportacao\n\n");

printf ("Escolha o metodo a ser enviado\n");

printf ("(1)-Aereo\n");

printf ("(2)-Maritimo\n");

scanf ("%d",&envio);

switch (envio)

{

case 1:

{

printf ("\nEscolha o formato do produto a ser enviado\n");

printf ("(1)-Cubo\n");

printf ("(2)-Cilindro\n");

scanf ("%d",&formato);

preco=5.000;

if (formato == 1)

{

printf ("\nInsira as medidas de Comprimento, Altura Largura e Peso\n");

printf ("Comprimento: ");

scanf ("%f", &comprimento);

printf ("Altura: ");

scanf ("%f", &altura);

printf ("Largura: ");

scanf ("%f", &largura);

printf ("Peso: ");

scanf ("%f", &peso);

valor_cubo= comprimento*altura*largura;

peso_cubado= valor_cubo*166,66;

if (peso_cubado < peso)

{

valor_pago= peso*preco;

printf ("O total a ser pago e: R$ ");

printf ("%f", valor_pago);

}

else

{

valor_pago= peso_cubado*preco;

printf ("O total a ser pago e: R$ ");

printf ("%f", valor_pago);

}

}

else

{

if (formato == 2)

{

printf ("\nInsira as medidas de Comprimento e Diametro\n");

printf ("Comprimento: ");

scanf ("%f", &comprimento);

printf ("Diametro: ");

scanf ("%f", &diametro);

printf ("Peso: ");

scanf ("%f", &peso);

valor_cilindro= comprimento*diametro*diametro;

peso_cubado= valor_cilindro*166,66;

if (peso_cubado < peso)

{

valor_pago= peso*preco;

printf ("O total a ser pago e: R$ ");

printf ("%f", valor_pago);

}

else

{

valor_pago= peso_cubado*preco;

printf ("O total a ser pago e: R$ ");

printf ("%f", valor_pago);

}

}

else

{

printf ("\nEsse produto nao pode ser enviado, pois vai contra as normas da empresa \n");

}

}

}

case 2:

{

printf ("Escolha o formato do produto a ser enviado\n");

printf ("(1)-Cubo\n");

printf ("(2)-Cilindro\n");

scanf ("%d",&formato);

preco= 1.000;

if (formato == 1)

{

printf ("\nInsira as medidas de Comprimento, Altura Largura e Peso\n");

printf ("Comprimento: ");

scanf ("%f", &comprimento);

printf ("Altura: ");

scanf ("%f", &altura);

printf ("Largura: ");

scanf ("%f", &largura);

printf ("Peso: ");

scanf ("%f", &peso);

valor_cubo= comprimento*altura*largura;

peso_cubado= valor_cubo*166,66;

if (valor_cubo<=1000)

{

valor_pago= 1000*preco;

printf ("O total a ser pago e: R$ ");

printf ("%f", valor_pago);

}

else

if (peso_cubado < peso)

{

valor_pago= peso*preco;

printf ("O total a ser pago e: R$ ");

printf ("%f", valor_pago);

}

else

{

valor_pago= peso_cubado*preco;

printf ("O total a ser pago e: R$ ");

printf ("%f", valor_pago);

}

}

else

{

if (formato == 2)

{

printf ("\nInsira as medidas de Comprimento e Diametro\n");

printf ("Comprimento: ");

scanf ("%f", &comprimento);

printf ("Diametro: ");

scanf ("%f", &diametro);

printf ("Peso: ");

scanf ("%f", &peso);

valor_cilindro= comprimento*diametro*diametro;

peso_cubado= valor_cilindro*166,66;

if (valor_cubo<=1000)

{

valor_pago= (1000*preco);

printf ("O total a ser pago e: R$ ");

printf ("%f", valor_pago);

}

else

{

if (peso_cubado < peso)

{

valor_pago= peso*preco;

printf ("O total a ser pago e: R$ ");

printf ("%f", valor_pago);

}

else

{

valor_pago= peso_cubado*preco;

printf ("O total a ser pago e: R$ ");

printf ("%f", valor_pago);

}

}

}

else

{

printf ("\nEsse produto nao pode ser enviado, pois vai contra as normas da empresa \n");

}

}

}

}

printf ("Deseja Efetuar outro Envio?\n");

printf ("(1)-Sim\n");

printf ("(2)-Nao\n");

scanf ("%d", &resposta);

}

while (resposta== 1);

}

Link para o comentário
Compartilhar em outros sites

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas comunidades sobre tecnologia do Brasil. Leia mais

Direitos autorais

Não permitimos a cópia ou reprodução do conteúdo do nosso site, fórum, newsletters e redes sociais, mesmo citando-se a fonte. Leia mais

×
×
  • Criar novo...

 

GRÁTIS: ebook Redes Wi-Fi – 2ª Edição

EBOOK GRÁTIS!

CLIQUE AQUI E BAIXE AGORA MESMO!