#include <cstdlib>
#include <iostream>
#include <vector>
#include <string>
#include <string.h>
using namespace std;
class Empleado {
private:
string m_nombre;
string m_provincia;
string m_trabajo;
int m_ID;
public:
void ImprimirInfo();
void Toma_Nombre( string nombre ) { m_nombre = nombre ;}
void Toma_Provincia( string provincia) { m_provincia = provincia ;}
void Toma_Trabajo ( string trabajo ) { m_trabajo = trabajo ;}
void Toma_ID ( int ID ) { m_ID = ID ;}
string Dame_Nombre( ){ return m_nombre ;}
string Dame_Provincia( ){ return m_provincia ;}
string Dame_Trabajo( ){ return m_trabajo ;}
int Dame_ID( ){ return m_ID ;}
};
void Empleado::ImprimirInfo( )
{
cout << "Nombre: " << m_nombre << '\n';
cout << "Provincia: " << m_provincia << '\n';
cout << "Puesto: " << m_trabajo << '\n';
cout << "Salario: " << m_ID << '\n';
}
Empleado Agregar_Nuevo()
{
Empleado nuevo_empleado;
string name;
string state;
string job;
int identification;
cout<<"\nIngrese su nombre: ";
scanf("%s",&name);
cout<<"\nIngrese su provincia: ";
scanf("%s",&state);
cout<<"\nIngrese su puesto: ";
scanf("%s",&job);
cout<<"\nIngrese su ID: ";
scanf("%d",&identification);
nuevo_empleado.Toma_ID(identification);
nuevo_empleado.Toma_Nombre(name);
nuevo_empleado.Toma_Provincia(state);
nuevo_empleado.Toma_Trabajo(job);
return nuevo_empleado;
}
int main()
{
string name;
string state;
string job;
int identification=0;
Empleado new_empleado;
vector <Empleado> v;
int menu=0;
while (menu!=6)
{
cout<<"-------Menu Principal------\n"<<endl;//just a menu
cout<<"1.Agregar Empleado"<<endl;
cout<<"2.Eliminar Empleado"<<endl;
cout<<"3.Modificar Empleado"<<endl;
cout<<"4.Imprimir Empleado"<<endl;
cout<<"5.Imprimir todos los empleados"<<endl;
cout<<"6.Salir"<<endl;
cout<<"\n En que opcion desea Ingresar: ";
cin>>menu;
switch(menu)
{
case 1:
new_empleado=Agregar_Nuevo();// I think here is the problem
cout<<"H"<<endl;
v.push_back(new_empleado);
cout<<"Agregado con exito"<<endl;
break;
case 2:
cout<<"\nIngrese el ID a eliminar: ";
scanf("%d",&identification);
for (int i=0;i< v.size();i++)
{
v.at(i).ImprimirInfo();
}
break;
case 3:
cout<<"Modificar Empleado"<<endl;
break;
case 4:
/*nuevo_empleado.Dame_Nombre();*/
break;
}
}
return 0;
cin.get();
}
好的,我是 C++ 编程的新手。我对名为 AgregarEmpleados() 或类似的方法有疑问。我一直试图解决这个问题很长时间没有结果。我做了一条双线评论,上面写着“我认为这就是问题所在。” 我认为问题出在哪里。