Clase Estudiante
Ejercicio 1 Clases y Objetos de: Fabian Chollet C.I:31.864.832unknown
c_cpp
a year ago
5.7 kB
14
Indexable
#include <iostream>
#include <iomanip>
#include <locale.h>
using namespace std;
class Estudiante {
private:
int estdID, numCalif;
double promEstd, califArray[5];
public:
Estudiante(int = 0, int = 0, double = 0); //Todo debe iniciar en cero, luego en main() el usuario ingresa los datos
void setID(int);
void subirNota(double);
void calcProm();
void mostrarDatosEstd();
};
Estudiante::Estudiante(int ID, int nCalifc, double prom){
estdID = ID;
numCalif = nCalifc;
promEstd = prom;
for (int i = 0; i <= 4; i++){
califArray[i] = 0;
}
}
void Estudiante::setID(int id){
estdID = id;
cout<<endl<<"Ahora la ID de este estudiante es: "<<estdID<<endl<<endl;
return;
}
void Estudiante::subirNota(double Nota){
if (numCalif < 5){
califArray[numCalif] = Nota;
numCalif++;
cout<<"La nota "<<Nota<<" se ha cargado correctamente."
<<endl<<"Número total de notas cargadas: "<<numCalif<<endl<<endl;
} else {
cout<<"Todas las notas están cargadas."<<endl<<endl;
}
return;
}
void Estudiante::calcProm(){
double sumCalif = 0;
if (numCalif > 0){
for (int i = 0; i <= numCalif; i++){
sumCalif += califArray[i];
}
promEstd = sumCalif/numCalif;
cout<<"El promedio de "<<numCalif<<" nota(s) es de: "<<setw(4)<<fixed<<setprecision(2)<<promEstd<<endl<<endl;
} else {
cout<<"Aún no se ha cargado alguna nota."<<endl<<endl;
}
return;
}
void Estudiante::mostrarDatosEstd(){
cout<<endl<<"////////////////////////////////////////////////////////\n"
<<"/// Datos del estudiante "<<estdID<<". \n"
<<"/// \n"
<<"/// Número de notas cargadas: "<<numCalif<<" \n"
<<"/// Promedio de notas: "<<setw(4)<<fixed<<setprecision(2)<<promEstd<<"\n"
<<"/// Lista de notas: \n";
for (int i = 0; i<=4 ; i++){
cout<<"/// Nota "<<i + 1<<": ["<<califArray[i]<<"] "<<endl;
}
cout<<"////////////////////////////////////////////////////////"<<endl<<endl;
}
void caso1(Estudiante&, Estudiante&);
void caso2(Estudiante&, Estudiante&);
void caso3(Estudiante&, Estudiante&);
void caso4(Estudiante&, Estudiante&);
int main(){
setlocale(LC_CTYPE,"Spanish");
Estudiante E1(0, 0, 0), E2(0, 0, 0);
bool MenuUsuario = true;
int opcionUsuario, opcionEstd, ID;
cout<<"/////////////////////////////////////////////////////////\n"
<<"/// Bienvenido usuario. Aquí podrá actualizar los ///\n"
<<"/// datos de dos estudiantes. A continuación, ///\n"
<<"/// su menú de usuario: ///\n"
<<"/////////////////////////////////////////////////////////\n"<<endl;
while (MenuUsuario){
cout<<"////////////////////////////////////////////////////////\n"
<<"/// Opciones: ///\n"
<<"/// [Ingrese un número dependiendo de su opción] ///\n"
<<"/// ///\n"
<<"/// Ingresar nueva ID de estudiante [1] ///\n"
<<"/// Subir una nota nueva [2] ///\n"
<<"/// Calcular promedio de notas [3] ///\n"
<<"/// Mostrar datos del estudiante [4] ///\n"
<<"/// Cerrar menú [5] ///\n"
<<"////////////////////////////////////////////////////////\n\n"
<<"[...] "; cin>>opcionUsuario;
cout<<"["<<opcionUsuario<<"]"<<endl<<endl;
switch(opcionUsuario){ //Opcion del menu
case 1:
caso1(E1, E2);
break;
case 2:
caso2(E1, E2);
break;
case 3:
caso3(E1, E2);
break;
case 4:
caso4(E1, E2);
break;
case 5:
cout<<"Cerrando menú. Gracias por usar este servicio."<<endl;
MenuUsuario = false;
break;
default:
cout<<"Debe escoger una de las opciones dadas en el menú."<<endl;
}
}
return 0;
}
void caso1(Estudiante& e1, Estudiante& e2){
int ID, opcionEstd;
cout<<"Elija al estudiante (1 ó 2) para ingresar su nueva ID: "; cin>>opcionEstd;
switch (opcionEstd){ //Opcion entre los dos estudiantes
case 1:
cout<<"Ingrese la ID del estudiante 1."<<endl; cin>>ID;
e1.setID(ID);
break;
case 2:
cout<<"Ingrese la ID del estudiante 2."<<endl; cin>>ID;
e2.setID(ID);
break;
default:
cout<<"Debe elejir uno de los dos estudiantes disponibles (1 ó 2)."<<endl;
}
return;
}
void caso2 (Estudiante& es1, Estudiante& es2){
int opcE;
double nota;
cout<<"Elija al estudiante (1 ó 2) para cargar su nueva nota: "; cin>>opcE;
switch (opcE){
case 1:
cout<<"Ingrese la nota del estudiante 1: "; cin>>nota;
es1.subirNota(nota);
break;
case 2:
cout<<"Ingrese la nota del estudiante 2: "; cin>>nota;
es2.subirNota(nota);
break;
default:
cout<<"Debe elejir uno de los dos estudiantes disponibles (1 ó 2)."<<endl;
}
return;
}
void caso3(Estudiante& est1, Estudiante& est2){
int opcEs;
cout<<"Elija al estudiante (1 ó 2) para calcular su promedio de notas: "; cin>> opcEs;
switch (opcEs){
case 1:
est1.calcProm();
break;
case 2:
est2.calcProm();
break;
default:
cout<<"Debe elejir uno de los dos estudiantes disponibles (1 ó 2)."<<endl;
}
return;
}
void caso4(Estudiante& estu1, Estudiante& estu2){
int opcEst;
cout<<"Elija al estudiante (1 ó 2) para mostrar sus datos: "; cin>> opcEst;
switch (opcEst){
case 1:
estu1.mostrarDatosEstd();
break;
case 2:
estu2.mostrarDatosEstd();
break;
default:
cout<<"Debe elejir uno de los dos estudiantes disponibles (1 ó 2)."<<endl;
}
return;
}Editor is loading...
Leave a Comment