//Proyecto 3. Programa para calcular notas de alumnos.
#include <iostream>
using namespace std;
int main(){
int alumnos=0, alumnomax=0, alumnomen=0, alumnopromedio=0, alumno=0;
float notamax=0, notamen=0, suma=0, promedio=0;
char op = 'S';
cout<<"Cuantos alumnos va a ingresar? "; //pedir los alumnos a ingresar
cin>>alumnos;
/*Alumnos tiene que ser mayor o igual que 20 o menor o igual que 30. En caso de que el numero de alumnos este fuera del rango se debe de mostrar
la opción de ingresar de nuevo el numero de alumnos*/
if( alumnos<20 || alumnos>30){
cout<<endl<<"Tienes que ingresar un rango de 20 a 30 alumnos"<<endl;
return main();
} else ( alumnos >=20 || alumnos <=30);{ //Alumnos tiene que estar en el rango y esto se debe de verificar en el programa
cout<<endl<<"Los alumnos que ingresaras estan dentro del rango y son: "<<alumnos;
}
float notas [alumnos] = { }; //guardar las notas de alumnos en uun arreglo
cout<<endl<<endl<<"Ingresa las notas de los alumnos"<<endl;
for(int i=0; i<alumnos; i++ ){
cout<<"Alumno "<<i+1<<": ";
cin>>notas[i];
suma += notas[i]; //sumar todas las calificaciones
}
promedio = suma / alumnos; //promedio del salón
for( int i=0; i<alumnos; i++){
if( notas [i] > notamax){ //alumno con nota mas alta
notamax = notas[i];
alumnomax = i+1;
}
}
notamen = notas[0];
for(int i=0; i<alumnos; i++){
if(notas[i] <= notamen){ //alumno con menor nota.
notamen = notas[i];
alumnomen = i+1;
}
}
cout<<endl<<"La nota mas alta es de: "<<notamax<<" y corresponde al alumno: "<<alumnomax<<endl;
cout<<endl<<"La nota minima es de: "<<notamen<<" y corresponde al alumno: "<<alumnomen<<endl;
cout<<endl<<"El promedio del salon es de: "<<promedio<<endl;
cout<<endl<<"Las notas promedio estan entre "<<(promedio-1)<<" y "<<(promedio+1)<<" y corresponden a: "<<endl;
for( int i=0; i<alumnos; i++){ //mostrar alumnos con nota promedio (rango de promedio – 1 a promedio + 1)
if( (promedio-1) < notas[i] && notas[i] < (promedio+1)){
cout<<endl<<"Alumno "<<i+1<<": "<< notas[i];
}
}
cout<<endl<<"Alumnos con notas menores o igual que 6 que entregaron trabajo para punto extra:"<<endl;
cout << endl << "Notas normales. \tNotas modificadas." << endl;
float notas2 [alumnos] = { };
for(int i=0; i<alumnos; i++){
if( notas[i] <= 6){ //nota menor o igual a 6 se les encargo un trabajo, este trabajo suma un punto mas a su nota.
notas2[i] = notas[i] + 1; //Se debe de utilizar el arreglo con las notas originales para generar otro arreglo con las notas modificadas de estos alumnos.
alumno = i+1;
cout<<"Alumno"<<alumno<<": "<<notas[i];
cout<<" \t Alumno"<<alumno<<": "<<notas2[i]<<endl;//Imprimir las dos notas en columnas diferentes
}
}
//Al final se debe de mostrar la opción para volver a calcular mas notas de alumnos, o finalizar el programa.
cout<<endl<<"Presiona V para volver al inicio del programa o S si deseas salir: ";
cin>>op;
if(op== 'V' || op== 'v'){
return main();
} else { return 0;
}
return 0;
}