Esta es una adaptación del programa anterior pero usando el ciclo while
#include <conio.h>   
#include <iostream.h> 
void main ()   
{ 
    //Variables Globales.   
    double calf=0,scalf=0, pcalf=0,mcalf=0,pmg=0,cf=0,global=0,x=0; 
    //Variables para los for   
    int grupo=0, alumnos=0, materias=0, calificaciones=0; 
    //While para los grupos   
    while (grupo!=2)    
    {    
      //Sumador de Grupo -- Grupo vale 0+n donde n es un número natural > 0.    
      grupo++; 
      /*Estas variables se hacen 0 para no arrastrar basura al otro cálculo*/   
      x=0;    
      pmg=0; 
      //While para contar los alumnos   
      while (alumnos!=2)    
      {    
       //Sumador de Alumnos -- Alumnos vale 0+n donde n es un número natural > 0.    
       alumnos++; 
       /*Estas variables se hacen 0 para no arrastrar basura al otro cálculo*/   
       scalf=0;    
       mcalf=0; 
        while (materias!=2)   
        { 
         //Sumador de Materias -- materias vale 0+n donde n es un número natural > 0.   
         materias++; 
          while (calificaciones!=3)   
           {    
            calificaciones++; 
            cout << "Digite la calificación: "<<calificaciones<<" : ";   
            cin >> calf; 
             //Calcula la suma de calificaciones.   
               scalf +=calf;    
              pcalf = scalf/3; 
}//Fin While Calificaciones
calificaciones=0;
} //Fin While Materias
        /*Hacemos el contador 0 en el primer paso para que este vuelva a entrar al siguiente.   
     O sea que materias = 0 + n    
     */    
        materias=0; 
         //Sumador para calcular el pomedio del Alumno   
          mcalf += pcalf;    
          cf= mcalf/2;    
          cout << "La Calificación Promedio del alumno es: "<< alumnos << " : "<< cf <<endl; 
               //Sumador para calcular el promedio del Grupo.   
               pmg += cf; 
} // Fin While Alumnos
      /*Hacemos el contador 0 en el primer paso para que este vuelva a entrar al siguiente.   
     O sea que alumnos = 0 + n    
     */    
      alumnos=0; 
x = pmg/2;
cout << "La calificación del Grupo " << grupo << " Es: "<<x<<endl;
             //Sumador para el promedio total de los Grupos   
             global+=x;    
    } //Fin While Grupos 
     /*Hacemos el contador 0 en el primer paso para que este vuelva a entrar al siguiente.   
     O sea que grupo = 0 + n    
     */ 
grupo=0;
     global/=2;   
     cout << "El promedio de todos los grupos es: "<< global; 
     //Espera que el usuario presione una tecla para continuar (Borland C++ Custom)   
     getch();    
}
 
