Programação de computadores - 25 de Maio de 2016
Correção do exercício
a) ler 40 números para um arquivo
b) separar as notas em 2 vetores:
>=5,0
<5,0
c) imprimir as notas
d) quantidade de notas entre 4 e 5
e) Média das notas
Resposta:
#include <iostream>
#include <fstream>
using namespace std;
const int qtdNotas = 10;
float nota1[qtdNotas]; // Notas maiores ou iguais a 5
float nota2[qtdNotas]; // Notas menores que 5
int cont1=0, cont2=0;
void LeNotas(){
ofstream arqNotas("dados.txt");
for(int i=0;i<qtdNotas;i++){
float nota;
cout<<"Informe uma nota: ";
cin>>nota;
arqNotas<<nota<<endl;
} // fechamento do for
arqNotas.close();
} // fechamento do void
void SeparaNotas(){
ifstream arqNotas("dados.txt");
for(int i=0; i<qtdNotas;i++){
float nota=0;
arqNotas>>nota;
if(nota>=5.0){
nota1[cont1] = nota;
cont1++;
} // fechamento do if
else{
nota2[cont2] = nota;
cont2++;
} // fechamento do else
} // fechamento do for
arqNotas.close();
} // fechamento do void
void ImprimeNotas(){
cout<<"Notas maiores ou iguais a 5: ";
for(int i=0;i<cont1;i++){
cout<<nota1[i]<<",";
} // fechamento do for
cout<<endl;
cout<<"Notas menores que 5: ";
for(int i =0; i<cont2;i++){
cout<<nota2[i]<<", ";
} // fechamento do for
} // fechamento do void
int QtdNotasEsuplementar(){
int contNotasES=0;
for(int i=0;i<cont2;i++){
if(nota2[i]>=4.0 && nota2[i] < 5.0){
contNotasES++;
} // fechamento do if
} // fechamento do for
return contNotasES;
} // fechamento do void
float MediaV1() {
float soma=0;
for(int i=0; i<cont1;i++){
soma = soma+nota1[i];
} // fechamento do for
float media = soma/cont1;
return media;
} // fechamento do float
void MediaV2() {
float soma=0;
for(int i=0; i<cont1;i++){
soma = soma+nota1[i];
} // fechamento do for
float media = soma/cont1;
cout<<"Media: "<<media<<endl;
if(media>6){
cout<<"A media está acima de 6.0";
} // fechamento do if
else{
cout<<"A média está abaixo de 6.0";
} // fechamento do else
} // fechamento do float
int main(){
LeNotas();
SeparaNotas();
Imprime Notas();
int qtd = QtdNotasESuplementar();
cout<<"Quantidade para o exames suplementar: "<<qtd<<endl;
// versão 1 para o cálculo da média
float m = MediaV1();
if(m>=6){
cout<<"A média está acima de 6.0";
} // fechamento do if
else{
cout<<"A média está abaixo de 6.0";
} // fechamento do else
// versão 2 para o cálculo da média
MediaV2();
return 0;
} // fechamento do int main
Lucas T R Freitas
Nenhum comentário:
Postar um comentário