Ir ao conteúdo

Posts recomendados

Postado

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!

Postado

@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?

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

LANÇAMENTO!

eletronica2025-popup.jpg


CLIQUE AQUI E BAIXE AGORA MESMO!