Clase Estudiante
Ejercicio 1 Clases y Objetos de: Fabian Chollet C.I:31.864.832#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; }
Leave a Comment