Brandon Serna Alonso
EstudianteRespuestas del foro creadas
Brandon Serna Alonso
Miembro18 septiembre, 2020 en 7:44 pm en respuesta a: Ayuda Proyecto 5, Cadenas.Hola, compañera para arreglar ese error solo ingresa el codigo fflush(stdin)en el for donde pides los nombres y las calificaciones, quedaría asi:
for(int i=0; i<=20; i++){
fflush(stdin);//Con este comando se arregla ese inconveniente
cout<<“Ingresa el nombre del estudiante “<<i+1<<“: “;
cin.getline(nombre[i], 23, ‘\n’ );
cout<<endl;
cout<<“Ingresa el apellido del estudiante “<<i+1<<“: “;
cin.getline(apellido[i], 23, ‘\n’ );
cout<<endl;
float calmateria[5];
for (int i=0; i<=4; i++){
cout<<“Ingresa la calificación de la materia “<<materia[i]<<“: “;
cin>>calmateria[i];
}
Hola compañero, lo que pasa es que tiene un cin y despues tiene un cin.getline, debes de proteger tu cin,getline porque lo que hace el cin es que te da un salto de linea y se lo come, ingresa un fflush(stdin) antes del cout del nombre asi mira
También te sugiero que todos los nombres los pongas en una sola matriz para que se te haga mas sencillo al momento de imprimir y no declares tantas matrices.
Espero haberme hecho entender jeje si no me entendiste dime sin problema
Nada mas que en el for me equivoque jeje debe ser i<=9 porque serán 10 alumnos los que deseas ingresar.
Mucha suerte compañero a mi me costo mucho trabajo comprender esa parte de las matrices, pero ayudan demasiado a la simplificación de código
No de que compañero.
Ok entiendo, para poder declarar las matrices puede hacerlos asi: Nombre[6][10]
Donde el 11 representa a los alumnos y el 10 son los espacios para el nombre si quieres puedes modificarlos y ya despues en el apellido lo declaras igual, en el ciclo for para que no tengas problema ingresa un for simple para nombre y apellido y ahi mismo pones la copia y los concatenas, quedaría mas o menos asi:
for(int i=0; i<=4; i++)
{
cin.getline(Nombre[i],10,’\n’);
cin.getline(Apellido[i],10,’\n’);
fflush(stdin); //Yo ingreso este fflush para asegurar mis cin
strcpy(Nombrecompleto[i],Nombre[i]); //Aqui copiamos la matriz Nombre en matriz Nombrecompleto
strcat(Nombrecompleto[i],Apellido[i]); //Aqui concatenamos el nombre con apellido
};esta puede ser una idea para simplificar la parte de los nombres