#include<iostream>
#include<string.h>
using namespace std;
main(){
char nombres[3][40]={}, apellidos[3][40]={}, nomMaterias[5][40]={}, respuesta = 'S';
double notas[3][9]={{0,0,0,0,0,0,0,0,0},{0,0,0,0,0,0,0,0,0},{0,0,0,0,0,0,0,0,0}};
int opcion = 0, materia = 0;
do{
cout<<"Datos de los 3 estudiantes--------------------------"<<endl;
for(int i=0;i<3;i++){
cout<<"Datos del estudiante #"<<i+1<<endl;
cout<<"Nombre: ";
cin>>nombres[i];
cout<< "Apellido: ";
cin>>apellidos[i];
cout<<endl;
}
cout<<"Datos de las 5 materias-----------------------------"<<endl;
for(int i=0;i<5;i++){
cout<<"Nombre de la materia #"<<i+1<<": ";
cin>>nomMaterias[i];
}
cout<<endl<<"Notas de cada alumno-----------------------------"<<endl;
for(int i=0;i<3;i++){
cout<<"Alumno #"<<i+1<<endl;
for(int j=0;j<5;j++){
cout<<"Nota de "<<nomMaterias[j]<<": ";
cin>>notas[i][j];
}
cout<<endl;
}
for(int i=0;i<3;i++){
for(int j=0;j<5;j++){
notas[i][5]=notas[i][5]+notas[i][j];//suma de notas de cada alumno
}
}
for(int i=0;i<3;i++){
notas[i][6]=notas[i][5]/5;//promedio de cada alumno
}
// Calcular nota mayor.
for(int i=0; i<3; i++){
for (int j=0; j<5; j++){
if(notas[i][j]>notas[i][7]){
notas[i][7] = notas[i][j];
}
}
}
// Calcular nota menor.
for(int i=0; i<3; i++){
/*Al menor le damos el valor del máximo al inicio, ya que ese vale 0 al inicio,
y si no lo cambiamos no va a haber un numero menor a 0. */
notas[i][8] = notas[i][7];
for (int j=0; j<5; j++){
if(notas[i][j]<notas[i][8]){
notas[i][8] = notas[i][j];
}
}
}
cout<<"***** Impresiones en pantalla *****"<<endl<<endl;
for(int i=0;i<3;i++){
cout<<nombres[i]<<" "<<apellidos[i]<<endl;
for(int j=0; j<5; j++){
cout<<nomMaterias[j]<<":"<<notas[i][j]<<" - ";
}
cout<<"Suma de calificaciones: "<<notas[i][5]<<" - ";
cout<<"Promedio: "<<notas[i][6]<<" - ";
cout<<"Mayor calificacion: "<<notas[i][7]<<" - ";
cout<<"Menor calificacion: "<<notas[i][8]<<endl<<endl;
}
cout<<endl<<"-------*** Promedio general del grupo ***-------"<<endl;
cout<<(notas[0][6] + notas[1][6] + notas[2][6]) / 3;
cout<<endl<<endl<<"Todos los datos estan correctos S/N: ";
cin>>respuesta;
if(respuesta=='n' || respuesta=='N'){
char respuesta2 = 'n';
while(respuesta=='n' || respuesta=='N'){
cout<<endl<<"Coloca 1 para modificar todos los datos, y 2 para un dato espesifico: ";
cin>>opcion;
if(opcion==2){
cout<<"Coloca 1 para Nombre, 2 para Apellido, 3 para valor de Materia o 4 para nombre de Materia: ";
cin>>opcion;
switch(opcion){
case 1:
cout<<"Numero de alumno, 1, 2 o 3: ";
cin>>opcion;
cout<<"Cambiar -"<<nombres[opcion-1]<<"- por: ";
cin>>nombres[opcion-1];
break;
case 2:
cout<<"Numero de alumno, 1, 2 o 3: ";
cin>>opcion;
cout<<"Cambiar -"<<apellidos[opcion-1]<<"- por: ";
cin>>apellidos[opcion-1];
break;
case 3:
cout<<"Numero de alumno, 1, 2 o 3: ";
cin>>opcion;
cout<<"Numero de la materia 1, 2, 3, 4 o 5: ";
cin>>materia;
cout<<"Cambiar -"<<notas[opcion-1][materia-1]<<" - por: ";
cin>>notas[opcion-1][materia-1];
break;
case 4:
cout<<"Numero de la materia 1, 2, 3, 4 o 5: ";
cin>>materia;
cout<<"Cambiar -"<<nomMaterias[materia-1]<<" - por: ";
cin>>nomMaterias[materia-1];
break;
}
cout<<"***** Impresiones en pantalla *****"<<endl<<endl;
for(int i=0;i<3;i++){
cout<<nombres[i]<<" "<<apellidos[i]<<endl;
for(int j=0; j<5; j++){
cout<<nomMaterias[j]<<":"<<notas[i][j]<<" - ";
}
cout<<"Suma de calificaciones: "<<notas[i][5]<<" - ";
cout<<"Promedio: "<<notas[i][6]<<" - ";
cout<<"Mayor calificacion: "<<notas[i][7]<<" - ";
cout<<"Menor calificacion: "<<notas[i][8]<<endl<<endl;
}
cout<<endl<<"-------*** Promedio general del grupo ***-------"<<endl;
cout<<(notas[0][6] + notas[1][6] + notas[2][6]) / 3;
cout<<endl<<"Todos los datos estan correctos S/N: ";
cin>>respuesta;
} else{
cout<<endl;
respuesta = 'E';
for(int i=0; i<3; i++){
notas[i][5] = 0;
notas[i][6] = 0;
}
}
}
}
} while(respuesta=='n'||respuesta=='N'||respuesta=='E');
return 0;
}