Iniciei na programação há 4 dias e estou criando códigos para treinar meu aprendizado. O programa abaixo é uma simulação de uma interface de compra de produtos, que deveria dar o valor dos produtos, e posteriormente o troco a se retornar. Deixarei o código abaixo. Pelo que identifiquei, o problema inicia-se na linha 43, e o programa pula para a 41. Não estou tendo nenhum problema na compilação, mas sim na execução. Agradeceria imensamente por ajuda.
#include <iostream>
#include <cstdlib>
using namespace std;
int main ()
{
//Definição das variáveis
float bolachas,salgadinhos,refrigerantes,pagamento,faltantes;
char resposta, s = 's';
//Apresentação dos produtos e início das compras
cout <<"Preço unitário dos produtos:" <<endl <<"Pacote de bolacha: R$2,50" <<endl <<"Salgadinho: R$ 5,00" <<endl <<"Refrigerante: R$ 4,50" <<endl;
cout <<"Pressione qualquer tecla para iniciar suas compras";
getchar();
system ("clear");
//Compras;
cout <<"Quantos pacotes de bolacha você gostaria de adquirir?" <<endl;
cin >> bolachas;
system ("clear");
cout <<"Quantos salgadinhos você gostaria de adquirir?" <<endl;
cin >> salgadinhos;
system ("clear");
cout<< "Quantos refrigerantes você gostaria de adquirir?" <<endl;
cin >> refrigerantes;
system ("clear");
// Valor das compras e pagamento;
float total;
total = 2.50 * bolachas + 5.00 * salgadinhos + 4.50 * refrigerantes;
cout <<"O valor de sua compra é de R$ " <<total <<"." <<endl;
cout <<"Digite a soma do valor das notas inseridas na máquina." <<endl;
cin >> pagamento;
system ("clear"); //daqui, vai para a linha 71 e não executa os comandos no meio
// Troco ou valor faltando;
float troco=(pagamento-total);
if (troco > 0) { cout <<"Você receberá o troco no valor de R$ " <<troco <<". Retire na máquina" <<endl ;
}else {
if (troco == 0) {cout <<"Não há troco" <<endl ;
}else {cout <<"Desculpe, não é possível concluir a compra, faltam R$ " <<troco <<". Para prosseguir, insira o valor em falta, ou cancele o procedimento." <<endl;
cout <<"Deseja prosseguir com a compra (s/n)? Em caso negativo, os procedimento será cancelado." <<endl;
cin >> resposta;
if (resposta == s) { cout <<"Obrigado! Prosseguiremos com a compra." <<endl;
cout <<"Insira as notas faltantes e indique o valor da soma" <<endl;
cin >>faltantes;
cout <<endl;
system ("clear");
cout <<"O seu troco é de R$ " <<faltantes+troco <<endl; }
else { cout <<"A sua compra foi cancelada." <<endl; }
}
}
//Final e reinício da operação;
cout <<"Operação finalizada. Agradecemos a preferência. Pressione ENTER para confirmar" <<endl;
getchar();
system("clear");
cout <<"Pressione qualquer botão para iniciar sua compra!" <<endl;
getchar ();
system ("clear");
Pergunta
joaoguinadin
Olá,
Iniciei na programação há 4 dias e estou criando códigos para treinar meu aprendizado. O programa abaixo é uma simulação de uma interface de compra de produtos, que deveria dar o valor dos produtos, e posteriormente o troco a se retornar. Deixarei o código abaixo. Pelo que identifiquei, o problema inicia-se na linha 43, e o programa pula para a 41. Não estou tendo nenhum problema na compilação, mas sim na execução. Agradeceria imensamente por ajuda.
#include <iostream>
#include <cstdlib>
using namespace std;
int main ()
{
//Definição das variáveis
float bolachas,salgadinhos,refrigerantes,pagamento,faltantes;
char resposta, s = 's';
//Apresentação dos produtos e início das compras
cout <<"Preço unitário dos produtos:" <<endl <<"Pacote de bolacha: R$2,50" <<endl <<"Salgadinho: R$ 5,00" <<endl <<"Refrigerante: R$ 4,50" <<endl;
cout <<"Pressione qualquer tecla para iniciar suas compras";
getchar();
system ("clear");
//Compras;
cout <<"Quantos pacotes de bolacha você gostaria de adquirir?" <<endl;
cin >> bolachas;
system ("clear");
cout <<"Quantos salgadinhos você gostaria de adquirir?" <<endl;
cin >> salgadinhos;
system ("clear");
cout<< "Quantos refrigerantes você gostaria de adquirir?" <<endl;
cin >> refrigerantes;
system ("clear");
// Valor das compras e pagamento;
float total;
total = 2.50 * bolachas + 5.00 * salgadinhos + 4.50 * refrigerantes;
cout <<"O valor de sua compra é de R$ " <<total <<"." <<endl;
cout <<"Digite a soma do valor das notas inseridas na máquina." <<endl;
cin >> pagamento;
system ("clear"); //daqui, vai para a linha 71 e não executa os comandos no meio
// Troco ou valor faltando;
float troco=(pagamento-total);
if (troco > 0) { cout <<"Você receberá o troco no valor de R$ " <<troco <<". Retire na máquina" <<endl ;
}else {
if (troco == 0) {cout <<"Não há troco" <<endl ;
}else {cout <<"Desculpe, não é possível concluir a compra, faltam R$ " <<troco <<". Para prosseguir, insira o valor em falta, ou cancele o procedimento." <<endl;
cout <<"Deseja prosseguir com a compra (s/n)? Em caso negativo, os procedimento será cancelado." <<endl;
cin >> resposta;
if (resposta == s) { cout <<"Obrigado! Prosseguiremos com a compra." <<endl;
cout <<"Insira as notas faltantes e indique o valor da soma" <<endl;
cin >>faltantes;
cout <<endl;
system ("clear");
cout <<"O seu troco é de R$ " <<faltantes+troco <<endl; }
else { cout <<"A sua compra foi cancelada." <<endl; }
}
}
//Final e reinício da operação;
cout <<"Operação finalizada. Agradecemos a preferência. Pressione ENTER para confirmar" <<endl;
getchar();
system("clear");
cout <<"Pressione qualquer botão para iniciar sua compra!" <<endl;
getchar ();
system ("clear");
return 0;
}
Link para o comentário
Compartilhar em outros sites
0 respostass a esta questão
Posts Recomendados
Participe da discussão
Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.