Informática, perguntado por FabioMacedo, 1 ano atrás

linguagem C pelo dev c++.  
1)    
Um
hotel cobra R$ 300,00 por diária e mais uma taxa adicional de serviços. Se o
número de diárias for menor que 15 a taxa é de R$ 20,00. Se o número de diárias
for igual a 15 a taxa é de R$ 14,00 e se o número for maior que 15 a taxa é de
R$ 12,00. Faça um programa que leia o número de diárias e  o nome do hóspede e forneça o preço final que
o hóspede irá pagar


HuIk: é string
rooseveltbr: Conseguiu fazer Dexter?! é só colocar char pow, se fosse em C eu fazia agora, mas C++ só olhando, se não conseguir manda pra mim que faço agora.
rooseveltbr: kkkk, faço aqui? Huck?!
HuIk: O Dexter vai resolve
rooseveltbr: A lógica é o seguinte, 3 variáveis, uma string: nome, dias: int e taxa: int, você pede pra dar entrada no nome e nos dias, salvou isso, beleza, joga no loop, de if com a condição de dias pra retorna o valor da taxa, no final você multiplica o valor da diária pelos dias e soma a taxa, você pode criar uma variável pra retornar o total: int, dai já retorna também o nome do hospede.

Soluções para a tarefa

Respondido por DennisRitchie
11
#include <stdio.h>
#define DIARIA 300

float taxa( int diarias );
float preco_final( float taxa, int diarias );

int main()
{
    int diarias;
    char nome[100];

    printf("Primeiro Nome do hospede: ");
    scanf("%s", &nome);

    printf("\nNumero de diarias: ");
    scanf("%d", &diarias);

    printf("\n\nO hospede %s, ira pagar R$ %.2f.\n", &nome, preco_final(taxa(diarias), diarias));
    getch();
}

float taxa( int diarias )
{
    if( diarias < 15 )
        return 20.0;
    else
        if( diarias == 15 )
            return 14.0;
    else
        return 12.0;
}

float preco_final( float fun_taxa, int diarias )
{
    return DIARIA * diarias + taxa(diarias);
}

Perguntas interessantes