Pesquisar este blog

Livros Recomendados

Mostrando postagens com marcador 2486. Mostrar todas as postagens
Mostrando postagens com marcador 2486. Mostrar todas as postagens

sábado, 13 de março de 2021

URI (BEECROWD) - 2486 - C Mais ou Menos? - Iniciante - C++

C Mais ou Menos? Vamos resolver esse exercício em C e C++!

Plataforma: URI (BEECROWD)

Problema2486

Enunciado:

Ultimamente, diversas pessoas estão indo à Dra. Cláudia Café com Leite para saber se estão consumindo a quantidade recomendada diária de vitamina C. Isso tem a deixado exausta, e por isso ela lhe pediu para escrever um programa que, dado o consumo diário de alimentos ricos em vitamina C por uma pessoa, indique o quanto essa pessoa deve consumir a mais ou a menos para atingir o recomendado.

Para tal, você poderá utilizar a tabela a seguir:

Alimentos ricos em Vitamina CQuantidade de Vitamina C
suco de laranja120 mg
morango fresco85 mg
mamao85 mg
goiaba vermelha70 mg
manga56 mg
laranja50 mg
brocolis34 mg

Considere que o consumo diário recomendado de vitamina C está entre 110 mg e 130 mg, inclusive.

Linguagens: C e C++


Solução:

Código em C:

#include <stdio.h>
#include <string.h>

int main() {
    
    int t, vitaminaC, quantidade, indice, posicao;
    int quantidadePorAlimento[7] = {120, 85, 85, 70, 56, 50, 34};
    
    char alimentoConsumido[16];
    char alimentos[7][16] = {"suco de laranja", "morango fresco", "mamao", "goiaba vermelha", "manga", "laranja", "brocolis" };
    
    while (1) {
        
        scanf("%i", &t);
        
        if (t == 0) break;
        
        vitaminaC = 0;
        
        while (t--) {
            
            scanf(" %i ", &quantidade);
            fgets(alimentoConsumido, 16, stdin);
    
            for (indice = 0; indice < 7; indice++) {
                
                if (strstr(alimentoConsumido, alimentos[indice]) != NULL) {
                    posicao = indice;
                    break;
                }
            }
            
            vitaminaC += (quantidade * quantidadePorAlimento[posicao]);
        }
        
        if (vitaminaC < 110)
            printf("Mais %i mg\n", 110 - vitaminaC);
            
        else if (vitaminaC > 130)
            printf("Menos %i mg\n", vitaminaC - 130);
            
        else
            printf("%i mg\n", vitaminaC);
        
    }
    
    return 0;
}

Código em C++:

#include <iostream>
#include <string.h>

using namespace std;

int main() {
    
    int t, vitaminaC, quantidade, indice, posicao;
    int quantidadePorAlimento[7] = {120, 85, 85, 70, 56, 50, 34};
    
    string alimentoConsumido;
    string alimentos[7] = {"suco de laranja", "morango fresco", "mamao", "goiaba vermelha", "manga", "laranja", "brocolis" };
    
    while (1) {
        
        cin >> t;
        
        if (t == 0) break;
        
        vitaminaC = 0;
        
        while (t--) {
            
            cin >> quantidade;
            cin.ignore();
            getline(cin, alimentoConsumido);
    
            for (indice = 0; indice < 7; indice++) {
                
                if ((alimentoConsumido.compare(alimentos[indice])) == 0) {
                    posicao = indice;
                    break;
                }
            }
            
            vitaminaC += (quantidade * quantidadePorAlimento[posicao]);
        }
        
        if (vitaminaC < 110)
            cout << "Mais " << 110 - vitaminaC << " mg" << endl;
            
        else if (vitaminaC > 130)
            cout << "Menos " << vitaminaC - 130 << " mg" << endl;
            
        else
            cout << vitaminaC << " mg" << endl;
        
    }
    
    return 0;
}

Postagem em destaque

URI (BEECROWD) - 2158 - Helping Uncle Cláudio (Ajudando o Tio Cláudio) - Matemática - C, C++ e Haskell

Buenas! Estou aqui mais uma vez para resolver um problema de Matemática! Agora tenho resolvido alguns dessa categoria, pra que vocês possam ...

Postagens mais visitadas