Pesquisar este blog

Livros Recomendados

sábado, 2 de janeiro de 2021

URI - 1118 - Várias Notas Com Validação - Iniciante - C++ - Solução Alternativa

Plataforma: URI
Problema1118

Enunciado:
Escreva um programa para ler as notas da primeira e a segunda avaliação de um aluno. Calcule e imprima a média semestral. O programa só deverá aceitar notas válidas (uma nota válida deve pertencer ao intervalo [0,10]). Cada nota deve ser validada separadamente. No final deve ser impressa a mensagem “novo calculo (1-sim 2-nao)”, solicitando ao usuário que informe um código (1 ou 2) indicando se ele deseja ou não executar o algoritmo novamente, (aceitar apenas os código 1 ou 2). Se for informado o código 1 deve ser repetida a execução de todo o programa para permitir um novo cálculo, caso contrário o programa deve ser encerrado.

Linguagem: C++

Solução:

#include <iostream>
#include <iomanip>
using namespace std;
double recebeNota() {
    double nota;
    while (cin >> nota) {
        if (nota < 0 || nota > 10)
            cout << "nota invalida" << endl;
        else
            return nota;
    }
}
int recebeOpt() {
    int opt;
    while (1) {
        cout << "novo calculo (1-sim 2-nao)" << endl;
        cin >> opt;
        if (opt == 2)
            exit(0);
        if (opt == 1)
            return 1;
    }
}
int main() {
    int novoCalculo;
    double nota1, nota2;
    while (1) {
        nota1 = recebeNota();
        nota2 = recebeNota();
        cout << "media = " << fixed << setprecision(2) << (nota1+nota2)/2.0 << endl;
        novoCalculo = recebeOpt();
    }
    return 0;
}

Nenhum comentário:

Postar um comentário

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