1
resposta

[Projeto] Desafio: Calculando valor da entrega

#include <stdio.h>

int main() {
    float distancia, taxa;
    char chuva;

    printf("Digite a distancia da entrega (km): ");
    scanf("%f", &distancia);

    printf("Esta chovendo? (S/N): ");
    scanf(" %c", &chuva);

    // Define a taxa conforme a distancia
    if (distancia <= 5) {
        taxa = 5.0;
    } else if (distancia <= 10) {
        taxa = 8.0;
    } else {
        taxa = 10.0;
    }

    // Acrescenta R$ 2,00 se estiver chovendo
    if (chuva == 'S' || chuva == 's') {
        taxa = taxa + 2.0;
    }

    printf("Valor final da taxa de entrega: R$ %.2f\n", taxa);

    return 0;
}
1 resposta

Oi, Desire! Como vai?

O seu programa ficou bem organizado e resolve corretamente o desafio, usando if, else if e else para definir a taxa com base na distância da entrega. Também foi uma boa escolha tratar a resposta da chuva com chuva == 'S' || chuva == 's', porque assim o código aceita tanto letra maiúscula quanto minúscula.

Você aplicou bem a lógica condicional e deixou comentários que ajudam a entender cada parte do processo. Uma dica é testar alguns cenários diferentes, como entrega de 4 km com chuva, 8 km sem chuva e 12 km com chuva, para confirmar o valor base e o acréscimo da taxa em cada caso. Qual desses testes você usaria primeiro para validar o cálculo final?

Alura Conte com o apoio da comunidade Alura na sua jornada. Abraços e bons estudos!