Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- //compilacion g++ -std=c++11 -o NombreEjecutable NombreFuente.cpp
- #include <iostream>
- #include <string>
- #include <sstream>
- #include <vector>
- using namespace std;
- struct alumno {string Nombre ; int Edad ;int Boleta ;int Estatura;};
- //----------------------------------------------------------------------
- class Alumno{
- private:
- vector <alumno> base;//Vector base de datos de Alumnos
- vector <alumno> ::iterator it;
- void NuevoAlumno();
- void EliminaAlumno();
- void ActualizaAlumno();
- void lista()const;
- void Salir();
- public://interface publico
- void start();//Todo transcurre aqui, unico metodo publico
- };
- //----------------------------------------------------------------------
- //----------------------------------------------------------------------
- void Alumno::NuevoAlumno(){
- alumno a;
- cout <<"Nombre alumno : ";
- cin>> a.Nombre;
- cout <<"Edad : ";
- cin>> a.Edad;
- cout <<"Estatura : ";
- cin>> a.Estatura;
- a.Boleta=base.size();//numero boleta
- base.push_back(a);//Introduce en el vector el nuevo Alumno
- }
- //----------------------------------------------------------------------
- void Alumno::EliminaAlumno(){
- int boleta(0);
- cout <<"Numero a eliminar : ";
- cin >>boleta;
- it=base.begin()+boleta;
- base.erase(it);
- }
- //----------------------------------------------------------------------
- void Alumno::ActualizaAlumno(){
- int boleta(0);
- string input("");
- cout <<"\nNumero Actualizar : ";
- cin >>boleta;
- cin.clear();cin.ignore();
- cout <<"Nombre : "<< base[boleta].Nombre<<endl;
- getline( cin, input);
- if ( !input.empty()) {base[boleta].Nombre=input;}
- cin.clear();cin.ignore();
- cout <<"Edad : "<< base[boleta].Edad <<endl;
- getline( cin, input );
- if ( !input.empty() ) {
- istringstream stream( input );
- stream >> base[boleta].Edad;}
- cin.clear();cin.ignore();
- cout <<"Estatura : "<< base[boleta].Estatura <<endl;
- getline( cin, input );
- if ( !input.empty() ) {
- istringstream stream( input );
- stream >> base[boleta].Estatura;}
- }
- //----------------------------------------------------------------------
- void Alumno::lista()const{
- for (auto i:base){
- cout <<i.Boleta <<" Nombre : "<<i.Nombre<<
- " , Edad : "<<i.Edad<<" , Estatura : "<<i.Estatura<<endl;
- }
- }
- //----------------------------------------------------------------------
- void Alumno::start(){//Todo transcurre aqui, unico metodo publico
- char seleccion;
- while (true){
- cout <<"1 Nuevo Alumno \n";
- if (!base.empty()){//Muestra si hay datos , alumnos
- cout<<"2 Actualiza Alumno \n";
- cout<<"3 ELimina Alumno \n" ;
- cout<<"4 Lista \n";
- }
- cout<< "5 Salir \n\n";
- cin>>seleccion;
- switch (seleccion){
- case '1': NuevoAlumno();break;
- case '2': ActualizaAlumno();break;
- case '3': EliminaAlumno();break;
- case '4': lista();break;
- case '5': Salir();break;
- default: cout<<"opcion incorrecta ! \n \n" ;break;
- }
- }
- }
- //----------------------------------------------------------------------
- void Alumno::Salir(){exit (EXIT_SUCCESS);}
- //----------------------------------------------------------------------
- int main () {
- Alumno a;
- a.start();
- return 0;
- }
- //----------------------------------------------------------------------
- /*
- una clase alumno con;
- Nombre
- Edad
- Boleta
- estatura.
- el programa hace lo siguiente
- 1.- da de alta a N alumnos
- 2.-da de baja a un alumno identificado por el numero de boleta
- 3.- actualiza a un alumno identificado por el numero de boleta
- 4.-lista
- 5.- salir.
- */
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement