C Mais ou Menos? Vamos resolver esse exercício em C e C++!
Plataforma: URI (BEECROWD)
Problema: 2486
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 C | Quantidade de Vitamina C |
---|---|
suco de laranja | 120 mg |
morango fresco | 85 mg |
mamao | 85 mg |
goiaba vermelha | 70 mg |
manga | 56 mg |
laranja | 50 mg |
brocolis | 34 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; }