Elabore um algoritmo em C++ que deixe o usuário entrar com seu nome e as notas de trabalho lançadas pelo professor (este deve informar 3 notas com pontuação total de 200, 300 e 500 respectivamente) e calcule a média do aluno em porcentagem. O programa deve ter a seguinte saída:
Caro <nome do aluno>, suas notas são as seguintes:
Nota 1: 150 pontos em 200 pontos
Nota 2 : 290 pontos em 300 pontos
Nota 3 : 500 pontos em 500 pontos
Total: 940 pontos em 1000 pontos, com média de 94,0%

Passo 1

O enunciado pede um programa em C ++ que leia o nome do aluno e três notas com pesos totais de 200, 300 e 500 pontos, calcule o total obtido, o total possível ( 1000 pontos) e apresente a média em porcentagem.

Passo 2

Definimos variáveis para armazenar o nome do aluno (std::string nome), as três notas obtidas (int nota\(1\), nota\(2\), nota\(3\)) e constantes para os totais possíveis de cada nota (const int MAX\(1=200\), MAX\(2=300\), MAX\(3=500\)).
Fazemos a leitura do nome (usando std::getline) e em seguida lemos as três notas com std::cin.

Passo 3

Calculamos o total obtido como
total = nota1 + nota2 + nota3
e o total possível é
totalpossivel = MAX1 + MAX2 + MAX3 = 1000

Passo 4

A média em porcentagem é dada por
Armazenamos isso em uma variável double media.
Por fim, exibimos as informações no formato exigido, usando std::fixed e std::setprecision(\(1\)) para mostrar uma casa decimal na média.

Resposta

#include <iostream>
#include <iomanip>
#include <string>

int main() {
    std::string nome;
    int nota1, nota2, nota3;
    const int MAX1 = 200, MAX2 = 300, MAX3 = 500;

    std::cout << "Digite o nome do aluno: ";
    std::getline(std::cin, nome);

    std::cout << "Digite a nota \(1\) (\(0\) a " << MAX1 << "): ";
    std::cin >> nota1;
    std::cout << "Digite a nota \(2\) (\(0\) a " << MAX2 << "): ";
    std::cin >> nota2;
    std::cout << "Digite a nota \(3\) (\(0\) a " << MAX3 << "): ";
    std::cin >> nota3;

    int total = nota1 + nota2 + nota3;
    int total_possivel = MAX1 + MAX2 + MAX3;
    double media = (static_cast<double>(total) / total_possivel) * 100.0;

    std::cout << "\nCaro " << nome << ", suas notas são as seguintes:\n";
    std::cout << "Nota \(1\): " << nota1 << " pontos em " << MAX1 << " pontos\n";
    std::cout << "Nota \(2\): " << nota2 << " pontos em " << MAX2 << " pontos\n";
    std::cout << "Nota \(3\): " << nota3 << " pontos em " << MAX3 << " pontos\n";
    std::cout << "Total: " << total << " pontos em " << total_possivel
              << " pontos, com média de "
              << std::fixed << std::setprecision(1) << media << "%\n";

    return 0;
}

Exercícios relacionados