Imprimir total em float.
Olá, estou com dificuldades para imprimir o total desta soma da maneira correta, já tentei mudar os tipos das var para float´mas o resultado sempre sai como um número inteiro, sei que deve ser algo besta que não estou percebendo, se alguém puder me ajudar!
Segue o código
Obrigado!
Segue o código
#include <stdio.h> #include <stdlib.h> #include <locale.h> #include <conio.h> void entrada (){ printf ("*************************************\n"); printf ("**** Bem Vindo ****\n"); printf ("**** a ****\n"); printf ("**** UNIPIZZA ****\n"); printf ("*************************************\n"); } int menu (){ int op; printf (" \nCardápio \n\n"); printf ("1 - Pizzas. \n"); printf ("2 - Bebidas. \n"); printf ("3 - Finalizar o pedido.\n"); printf ("Digite a opção desejada: \n"); scanf("%d", &op); printf ("\n"); ; return op; } int controladorapizza (int op) { int oppizza; printf ("\n1 - Pizza Mussarela - 18,50 R$ \n"); printf ("2 - Pizza Calabresa - 18,50 R$ \n"); printf ("3 - Pizza Franco com Catupiry - 18,50 R$ \n"); printf ("4 - Pizza Quatro Queijos - 22,50 R$ \n"); printf ("5 - Pizza Portuguesa - 22,50 R$ \n"); printf ("Digite a opção desejada: \n"); scanf ("%d", &oppizza); switch (oppizza){ case 1: printf ("\nVocê adicionou pizza de Mussarela a sua bandeja!\n"); break; case 2: printf ("\nVocê adicionou pizza de Calabresa a sua bandeja!\n"); break; case 3: printf ("\nVocê adicionou pizza de Frango com Catupiry a sua bandeja!\n"); break; case 4: printf ("\nVocê adicionou pizza de Quatro Queijos a sua bandeja!\n"); break; case 5: printf ("\nVocê adicionou pizza de Portuguesa a sua bandeja!\n"); break; default: printf ("\nValor incorreto, tente novamente\n"); break;} return oppizza; } int controladorabebida (int op) { int opbebida; char str [10]; printf ("\n1 - Suco - 5,00 R$ \n"); printf ("2 - Refrigerante Lata - 4,00 R$\n"); printf ("3 - Refrigerante 2L - 13,00 R$\n"); printf ("Digite a opção desejada: \n"); scanf ("%d", &opbebida); switch (opbebida){ case 1: printf ("\nInforme o sabor do suco: \n"); scanf ("%s", str); printf ("\nVocê adicionou suco de %s a sua bandeja!\n", str); break; case 2: printf ("\nInforme o refrigerante lata: "); scanf ("%s", str); printf ("\nVocê adicionou %s lata a sua bandeja!\n", str); break; case 3: printf ("\nInforme o refrigerante 2 Litros: "); scanf ("%s", str); printf ("\nVocê adicionou %s 2 Litros a sua bandeja!\n", str); break; default: printf ("\nComando incorreto, tente novamente\n"); break;} return opbebida; } float somapizza (int oppizza){ float precopizza; switch (oppizza){ case 1: precopizza = 18,50; break; case 2: precopizza = 18,50; break; case 3: precopizza = 18,50; break; case 4: precopizza = 22,50; break; case 5: precopizza = 22,50; break;} return precopizza; } int somabebida (int opbebida){ int precobebida; switch (opbebida){ case 1: precobebida = 5; break; case 2: precobebida = 4; break; case 3: precobebida = 13; break; } return precobebida; } int main(){ setlocale(LC_ALL,""); int op,oppizza,opbebida; float tpiz = 0; float tbeb = 0; float totalpedido; float precopizza,precobebida; entrada(); do{ op = menu(op); switch(op){ case 1: oppizza = controladorapizza(oppizza); precopizza = somapizza(oppizza); tpiz = precopizza + tpiz; break; case 2: opbebida = controladorabebida(opbebida); precobebida = somabebida(opbebida); tbeb = precobebida + tbeb; break; } }while(op != 3 ); totalpedido = tpiz+tbeb; printf ("O valor total de seu pedido é: %.2f", totalpedido); printf("\n\n\n"); return 0; }
Obrigado!
Thiago Costa
Curtidas 0
Respostas
Lucas Conceição
26/11/2019
Oi Thiago,
Então, para definir casa decimal, se usa o . (ponto final) e não , (virgula).
Toque isso:
Por isso:
e pronto, seu resultado vai sair com casal decimal.
Então, para definir casa decimal, se usa o . (ponto final) e não , (virgula).
Toque isso:
precopizza = 18,50;
Por isso:
precopizza = 18.50;
e pronto, seu resultado vai sair com casal decimal.
GOSTEI 0