Tengo un pequeño problema al utilizar while((getchar()) != '\n'); y es que cuando se ingresan menos caracteres de los que hay en el buffer se queda esperando el enter que es como deberia ser pero queda un poco feo. No doy encontrado la solucion si alguien me puede ayudar se lo agradezco un saludo!
Código [Seleccionar]
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
struct alumno{
char nombre[20];
char apellido[20];
char colegio[20];
};
void imprimir_datos(){
struct alumno alu;
printf("Pon el nombre: ");
fgets(alu.nombre,20,stdin);
while((getchar()) != '\n');
printf("Pon el apellido: ");
fgets(alu.apellido,20,stdin);
while((getchar()) != '\n');
printf("Pon el colegio: ");
fgets(alu.colegio,20,stdin);
printf("%s\n",alu.nombre);
printf("%s\n",alu.apellido);
printf("%s",alu.colegio);
}
int main(){
imprimir_datos();
return 0;
}