Ir ao conteúdo
  • Cadastre-se

C Imprimir total em float


Thiago Hartmann

Posts recomendados

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

#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!

Link para o comentário
Compartilhar em outros sites

@Thiago Hartmann

#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();
        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;
}

Funcionou?

Link para o comentário
Compartilhar em outros sites

Crie uma conta ou entre para comentar

Você precisa ser um usuário para fazer um comentário

Criar uma conta

Crie uma nova conta em nossa comunidade. É fácil!

Crie uma nova conta

Entrar

Já tem uma conta? Faça o login.

Entrar agora

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...

Ebook grátis: Aprenda a ler resistores e capacitores!

EBOOK GRÁTIS!

CLIQUE AQUI E BAIXE AGORA MESMO!