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++
É feita a leitura de n1. Então, é verificado se ele está no intervalo de 0 a 10. Caso não esteja, é feita a leitura novamente, repetindo o processo até que ele esteja neste intervalo. Quando ele estiver neste intervalo, então é feita a leitura de n2, seguindo a mesma ideia.
Posteriormente é impresso a média, fazendo a soma dos valores n1 e n2 e dividindo o resultado por 2.
Após fazer o cálculo da média, é perguntado ao usuário se o processo deve ser repetido, onde um while externo é responsável por repetir quando o valor digitado for 1.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 | #include <iostream> #include <iomanip> using namespace std; int main() { float n1,n2; cout<<setprecision(2)<<fixed; int n_calculo =1; while(n_calculo==1){ cin >> n1; while(n1<0 or n1>10){ cout << "nota invalida"<< endl; cin >> n1; } cin >> n2; while(n2<0 or n2>10){ cout << "nota invalida"<< endl; cin >> n2; } cout << "media = "<<(n1+n2)/2.0<<endl; cout << "novo calculo (1-sim 2-nao)"<<endl; cin >> n_calculo; while(n_calculo!=1 and n_calculo!=2){ cout << "novo calculo (1-sim 2-nao)"<<endl; cin >> n_calculo; } } return 0; } |
Nenhum comentário:
Postar um comentário