Buenas,
Estoy haciendo un ejercicio de la clase de C++ sobre Estructuras. El enunciado pide;
"Crear una estructura con las variables nombre, edad, sexo y club. Solicitar al usuario una entrada de datos para cada una e imprimir por pantalla el resultado agregando además el tipo de club al que pertenece en relacion a su edad; <=18 años Juvenil, <=40 Señor, >40 Veterano"
Tras codificar el ejercicio y compilar el ejercicio me hayo que;
- La consola me pide inicialmente el "nombre" y solo almacena los 2 primeros caracteres, por ejemplo, de Carlos almacena solos "Ca"
- Tras introducir el nombre y pultar Intro ya no pide ningun otro dato más, imprime directamente el resto de couts
Llevo Googleando desde ayer y no veo error el error, de hecho, en la solucion del problema del libro usan exactamente el mismo codigo y el resultado es satisfactorio
void Estructura(){
struct corredor{
char nombre [30];
int edad;
char sexo [1];
char club [30];
}var1;
char categoria[20];
cout << "Introducir nombre del corredor: " << endl;
cin.getline(var1.nombre, 29, 'n');
fflush(stdin);
cout << "Introducir edad del corredor: " << endl;
cin >> var1.edad;
cout << "Introducir sexo del corredor: " << endl;
cin.getline(var1.sexo,1,'n');
cout << "Introducir club del corredor: " << endl;
cin.getline(var1.club,29,'n');
if (var1.edad<=18){
strcpy(categoria,"Juvenil");}
if (var1.edad<=40){
strcpy(categoria,"Señor");}
if(var1.edad>40){
strcpy(categoria,"Veterano");}
cout << "El corredor de nombre: " << var1.nombre << ", de " << var1.edad << " años, perteneciente al club " << var1.club << "participa en la categoria: " << categoria << endl;