Hola a todos,
Estoy tratando de ingresar una cadena completa con espacios entre medio
ejemplo: hola a todos
lo que guarda es solo el
hola y nada mas.
aqui pongo el codigo, esta separado por archivos, tambien puede servir de ayuda para algunos que no les funcione el codigo con herencia y archivos de cabezera.
// main.cpp
Código C++:
Ver original#include <iostream>
#include <vector>
using namespace std;
#include "Profesor.h"
int main() {
int opcion;
int numeroI;
int edad;
char nom[30];
char cla[30];
vector<Profesor> ListaP;
for(int i=0; i<2; i++){
Profesor np;
cout<<endl;
cout<<"Numero : ";
cin>>numeroI;
np.setInscripcion(numeroI);
cout<<endl;
cout<<"Edad : ";
cin>>edad;
np.setEdad(edad);
cout<<endl;
cout<<"Nombre : ";
cin>>nom;
np.setNombre(nom);
cout<<endl;
cout<<"Clase : ";
cin>>cla;
np.setClase(cla);
cout<<endl;
ListaP.push_back(np);
}
for(int i=0; i<ListaP.size(); i++){
cout<<ListaP[i].getInscripcion()<<" : "<<ListaP[i].getEdad()<<" : "<<ListaP[i].getNombre()<<" : "<<ListaP[i].getClase()<<endl;
}
cout<<endl;
return 0;
}
// Persona.cpp
Código C++:
Ver original#include "Persona.h"
#include <iostream>
using namespace std;
Persona::Persona(){}
Persona::~Persona(){}
void Persona::setInscripcion(int num){
this->numeroInscripcion=num;
}
int Persona::getInscripcion(){
return this->numeroInscripcion;
}
// Nombre de la persona
void Persona::setNombre(char const *nom){
//no lo acepta c++
//this->nombre=nom;
//cout<<this->nombre<<" Lo Copia "<<endl;
}
char * Persona::getNombre(){
return this->nombre;
}
// Edad de la persona
void Persona::setEdad(int edad){
this->edad=edad;
}
int Persona::getEdad(){
return this->edad;
}
// Persona.h
Código C++:
Ver original#ifndef PERSONA
#define PERSONA
class Persona{
private:
int numeroInscripcion;
char nombre[30];
int edad;
public:
Persona();
~Persona();
void setInscripcion(int num);
void setNombre(char const *nom);
void setEdad(int edad);
int getInscripcion();
char * getNombre();
int getEdad();
};
#endif
// Profesor.cpp
Código C++:
Ver original#include <iostream>
#include "Profesor.h"
using namespace std;
Profesor::Profesor(){}
Profesor::~Profesor(){}
void Profesor::setClase(char const *clase){
//this->clase=clase;
}
char * Profesor::getClase(){
return this->clase;
}
// Profesor.h
Código C++:
Ver original#ifndef PROFESOR
#define PROFESOR
#include "Persona.h"
class Profesor : public Persona {
private:
char clase[30];
public:
Profesor();
~Profesor();
void setClase(char const *clase);
char * getClase();
};
#endif