Pessoal,
Minha primeira postagem. Espero ser a primeira de muitas, tanto como sendo ajudado, como ajudando.
Fiz um programa com a seguinte requisição:
"O Sr. Manoel Joaquim expandiu seus negócios para além dos negócios de 1,99 e agora possui uma loja de conveniências. Faça um programa que implemente uma caixa registradora rudimentar. O programa deverá receber um número desconhecido de valores referentes aos preços das mercadorias. Um valor zero deve ser informado pelo operador para indicar o final da compra. O programa deve então mostrar o total da compra e perguntar o valor em dinheiro que o cliente forneceu, para então calcular e mostrar o valor do troco. Após esta operação, o programa deverá voltar ao ponto inicial, para registrar a próxima compra. A saída deve ser conforme o exemplo abaixo:
Lojas Tabajara
Produto 1: R$ 2.20
Produto 2: R$ 5.80
Produto 3: R$ 0
Total: R$ 9.00
Dinheiro: R$ 20.00
Troco: R$ 11.00"
O código ficou assim:
#include <stdio.h>
#include <stdlib.h>
int main()
{
float preco, troco, dinheiro, total;
int i;
total = 0;
i = 1;
preco = 1;
printf("LOJAS TABAJARA \n");
printf("Insira o valor de seus produtos. \nDigite 0 para finalizar a insercao.\n \n");
while (preco > 0)
{
printf ("Insira o Preco do Produto: \n", i);
scanf("%f", &preco);
i = i+1;
total = total + 1;
}
printf("Total a pagar: R$ %4.2f \n", total);
printf("Insira o valor pago: R$ %4.2f \n");
scanf("%f", &dinheiro);
troco = dinheiro - total;
printf("Troco: R$ %4.2f", troco);
system ("PAUSE");
system ("CLS");
}
A variável TOTAL deve receber valores aleatoriamente e para indicar o fim das inserções, deve ser digitado 0.
O problema é o seguinte: Ao ser digitado 0, o programa está pegando os valores e subtraindo, ao invés de exibir o total a pagar e pedir o valor pago para calcular o troco.
Desde já, grato.