Plataforma: URI
Problema: 1118
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