Lo he estado intentado pero no he sido capaz de implementar el vector de manera correcta. Os dejo lo que tengo escrito a ver si me podeis ayudar. Está escrito de manera que coja los datos pero mi objetivo es en un futuro poder almacenar más datos a continuacion de los que ya tengo (utilizando push_back)
Este es el main
Código:
#include <iostream>
#include <string>
#include <profesor.h>
#include <vector>
using namespace std;
int main ()
{
profesor profesores;
int eleccion;
start:
cout << "1. Introducir nuevos profesores" << endl;
cout << "2. Mostrar todos los profesores" << endl;
cout << "3. Volver al menu inicial" << endl;
cout << "" << endl;
cin >> eleccion;
cout << "**************************" << endl;
switch (eleccion)
{
case 1 :
{
cout << endl;
profesores.crear_profesor();
cout << endl;
}
break;
case 2:
{
cout << endl;
profesores.mostrar_profesor();
cout << endl;
}
break;
case 3: goto start;
}
}
Y este es el profesor.h
Código:
#ifndef PROFESOR_H
#define PROFESOR_H
#include <iostream>
#include <string>
using namespace std;
class profesor
{
protected:
char nombre[20];
int edad;
int telefono;
int n;
public:
void crear_profesor ()
{
cout << "Cuantos profesores va a introducir: " << endl;
cin >> n;
for (int i=0; i<n; i++)
{
cout << "Nuevo profesor: " << endl;
cout << "Introduzca el nombre: ";
cin >> nombre;
cout << "Introduzca la edad: ";
cin >> edad;
cout << "Introduzca el telefono: ";
cin >> telefono;
cout << "" << endl;
}
}
void mostrar_profesor (void)
{
for (int i=0; i<n; i++)
{
cout << "Datos del profesor " << i+1 << endl;
cout << "Nombre: " << nombre << endl;
cout << "Telefono: " << telefono << endl;
cout << "Edad: " << edad << endl;
}
}
Muchas gracias a todos por la ayuda