Ver Mensaje Individual
  #1 (permalink)  
Antiguo 04/03/2013, 15:14
l222p
 
Fecha de Ingreso: julio-2010
Mensajes: 191
Antigüedad: 13 años, 9 meses
Puntos: 2
Problemas con ciclo While

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
  1. #include<stdio.h>
  2. #include<windows.h>
  3. main()
  4. {
  5.     int C=0,alumnos=0,nota1,nota2,nota3;
  6.     float promedio;
  7.     char NomAlumno[40],NomClase[40],*msj;
  8.  
  9.     printf("\tPROMEDIO DE NOTAS");
  10.     printf("\n\t******** ** *****");
  11.  
  12.     printf("\n\nIngrese el nombre de la clase: ");
  13.     gets(NomClase);
  14.    
  15.     while(alumnos<=0)
  16.     {
  17.         printf("\nIngrese cantidad de alumnos: ");
  18.         scanf("%d",&alumnos);
  19.         if (alumnos<=0)
  20.             printf("\nIngrese numeros validos");
  21.     }
  22.    
  23.    
  24.     while(C<alumnos)
  25.     {
  26.         C++;
  27.         nota1=110;
  28.         nota2=101;
  29.         nota3=102;
  30.  
  31.         printf("\nIngrese nombre del estudiante: ");
  32.         gets(NomAlumno);
  33.        
  34.        
  35.         while(nota1<0 || nota1>100)
  36.         {
  37.             printf("\nIngrese nota 1: ");
  38.             scanf("%d",&nota1);
  39.             if(nota1<0 || nota1>100)
  40.                 printf("Ingrese valores entre 0 - 100");
  41.  
  42.  
  43.         }
  44.  
  45.         while(nota2<0 || nota2>100)
  46.         {
  47.             printf("\nIngrese nota 2: ");
  48.             scanf("%d",&nota2);
  49.             if(nota2<0 || nota2>100)
  50.                 printf("Ingrese valores entre 0 - 100");
  51.  
  52.  
  53.         }
  54.         while(nota3<0 || nota3>100)
  55.         {
  56.             printf("\nIngrese nota 3: ");
  57.             scanf("%d",&nota3);
  58.             if(nota3<0 || nota3>100)
  59.                 printf("Ingrese valores entre 0 - 100");
  60.  
  61.  
  62.         }
  63.  
  64.  
  65.        
  66.         promedio=(float)(nota1+nota2+nota3)/3;
  67.  
  68.         if(promedio<=70)
  69.             msj="Reprobado";
  70.         else
  71.             msj="Aprobado";
  72.  
  73.         printf("\nPROMEDIO ALUMNO %d",C);
  74.         printf("\nNombre: %s",NomAlumno);
  75.         printf("\nPromedio: %.2lf",&promedio);
  76.         printf("\nEstado: %s\n",&msj);
  77.         }
  78.  
  79.  
  80.  
  81.     return 0;
  82.     }