Hola tengo un problema con este programa, tengo que validar los datos de entrada de modo que solo se puedan ingresar numeros en un rango de 0 - 100, todo eso me funciona, en la parte de
printf("\nIngrese nombre del estudiante: ");
gets(NomAlumno);
no se porque pasa de un solo, osea no lee NomAlumno.
y tambien el proceso de:
promedio=(float)(nota1+nota2+nota3)/3;
no hace este proceso no lo calcula y no se porque?
Que tengo malo?
Código C:
Ver original#include<stdio.h>
#include<windows.h>
main()
{
int C=0,alumnos=0,nota1,nota2,nota3;
float promedio;
char NomAlumno[40],NomClase[40],*msj;
printf("\tPROMEDIO DE NOTAS"); printf("\n\t******** ** *****");
printf("\n\nIngrese el nombre de la clase: ");
while(alumnos<=0)
{
printf("\nIngrese cantidad de alumnos: "); if (alumnos<=0)
printf("\nIngrese numeros validos"); }
while(C<alumnos)
{
C++;
nota1=110;
nota2=101;
nota3=102;
printf("\nIngrese nombre del estudiante: ");
while(nota1<0 || nota1>100)
{
if(nota1<0 || nota1>100)
printf("Ingrese valores entre 0 - 100");
}
while(nota2<0 || nota2>100)
{
if(nota2<0 || nota2>100)
printf("Ingrese valores entre 0 - 100");
}
while(nota3<0 || nota3>100)
{
if(nota3<0 || nota3>100)
printf("Ingrese valores entre 0 - 100");
}
promedio=(float)(nota1+nota2+nota3)/3;
if(promedio<=70)
msj="Reprobado";
else
msj="Aprobado";
printf("\nPROMEDIO ALUMNO %d",C
); printf("\nNombre: %s",NomAlumno
); printf("\nPromedio: %.2lf",&promedio
); printf("\nEstado: %s\n",&msj
); }
return 0;
}