Ir ao conteúdo
  • Cadastre-se

Duvida em código(C com condicionais IF/Else)


ron2
Ir à solução Resolvido por Leticia F,

Posts recomendados

Bom dia,tenho uma duvida neste codigo, gostaria de saber se o if que coloquei esta correto, a condição é para exibir a mennsagem troco invalido se troco for menor que o vtotal, caso esteja errado por favor me digam aonde e por que, sou novo em programação, obrigado

#include <stdio.h>#include <stdlib.h>#include <conio.h>/* run this program using the console pauser or add your own getch, system("pause") or input loop */int main(int argc, char *argv[]) {int pe=0,ma=0,ba=0;float pev,mav,bav,vtotal,dinpag,troco;printf("Digite a quantidade de macas: ");     scanf("%d",&ma);printf("Digite a quantidade de bananas: ");     scanf("%d",&pe);printf("Digite a quantidade de peras: ");     scanf("%d",&ba);printf("Informe o valor das macas: ");scanf("%f",&mav);printf("Informe o valor das bananas: ");scanf("%f",&bav);printf("Informe o valor das peras: ");scanf("%f",&pev);printf("Informe o dinheiro a ser pago: ");scanf("%f", &dinpag);vtotal= (mav*ma)+(ba*bav)+(pe*pev);troco= vtotal-dinpag;if (vtotal<troco){printf("Favor informar um valor de troco maior que o valor total ") else {printf("O valor de sua compra é: %f",vtotal);printf("\n");}}printf("O seu troco é de: %f",troco);    printf("\n");system("Pause");return 0;}
Link para o comentário
Compartilhar em outros sites

  • Solução

O seu programa está errado porque:

 

1- quando vs calcula o valor total, vs se enrola com as varíaveis: em vez de calcular quantidade de bananas vezes o valor das bananas, vs calcula a quantidade de pêras vezes o valor das bananas e também acontece o mesmo em pe*pev;

 

vtotal= (mav*ma)+(ba*bav)+(pe*pev);
 
Você pode colocar (ba*pev) ou mudar na hora do scanf, e mudar o pe*pev também!
 
2- O valor do seu troco sempre vai ser menor ou igual a zero. O troco é calculado pela diferença entre o valor que vs paga e o valor que a conta dá. Você tá fazendo isso ao contrário:
 
troco= vtotal-dinpag;
 
Nesse caso, troco vai ser igual a dinpag-vtotal.
 
 
3- No if:
if (vtotal<troco){
 
a sua condição tem que ser dinpag<vtotal.
 
O resto dos erros que der é por falta de parênteses ou ;
Dica: pra facilitar a leitura do código, coloca o nome todo da variável, por exemplo: dinpag=dinheiro_pago ou DinheiroPago. Isso vai te facilitar muito e diminuir a probabilidade de erros como aconteceu na hora de calcular o quanto a pessoa devia pagar =)
Link para o comentário
Compartilhar em outros sites

Visitante
Este tópico está impedido de receber 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...