#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()或類似的方法有疑問。我一直試圖解決這個很長一段時間沒有結果。我做了一個雙線評論,說「我認爲這是問題。」我相信問題是。POO和STL向量(將對象添加到變量中)
請建立您的問題用一個簡約編譯例子大小寫並在此處發佈該示例。 –
1)首先,如果您有要分享的代碼,請將代碼與此處的問題一起發佈。不要讓用戶從第三方網站下載它。 2)如果你共享代碼,只分享它的相關部分,不要把整個文件3)試着把一些努力背後的問題,如果你想回答.. – Krishnabhadra
@Cœur請不要碰撞舊的,封閉的,死的問題與微不足道的編輯。 –