#include <stdio.h>	
#include <string.h>
#include <stdlib.h>		
	
int main(int argc, char *argv[]) 	
{			
     float media, n1, n2;   
     int i;
     int resp_invalida;    /* ISTO EH UM FLAG SINALIZADOR */
     char resp;

     i=1;
     for ( ; ; )   
     {
        printf ("Aluno %d\n",i);
        i++;
        
        /* Le a primeira nota: soh aceita notas validas */
        resp_invalida=1;
        while (resp_invalida)
        {
           printf ("Nota 1:  ");  scanf  ("%f",&n1);	
           if (n1 < 0.0 || n1 > 10.0) 
           { 
               resp_invalida=1;
               printf("Nota Invalida! Digite novamente...\n");
           } 
           else
           {
               resp_invalida=0;   /* Nota Valida: Sai do Laco */
               printf ("Valor digitado: %.2f\n",n1);
           }
        }
        
        /* Le a segunda nota: soh aceita notas validas */               
        resp_invalida=1;
        while (resp_invalida)
        {
            printf ("Nota 2:  ");  scanf  ("%f",&n2);
            if (n2 < 0.0 || n2 > 10.0) 
          { 
               resp_invalida=1;
               printf("Nota Invalida! Digite novamente...\n");
           } 
           else
           {
               resp_invalida=0;   /* Nota Valida: Sai do Laco */
               printf ("Valor digitado: %.2f\n",n2);        
           }
        }
        
     
        /* Calcula e exibe a media simples */
        media = (n1+n2)/2.0;
        printf ("Media Simples: %.2f\n",media);
        
        /* Determina se o aluno foi aprovado ou reprovado */
        if  (media >= 5.0) 
        { printf ("Aprovado!\n"); } 
        else 
        { printf ("Reprovado!\n"); }
        
        /* Pergunta se deseja parar... soh aceita resposta valida */
        resp_invalida=1;
        while (resp_invalida)
        {
           printf ("Deseja parar? (0 para sair, 1 para continuar)");
           scanf  ("%d",&resp);
           if (resp != 0 && resp != 1) 
           {   resp_invalida = 1; printf ("Resposta invalida. Digite novamente...\n"); }
           else 
               resp_invalida = 0;
        }
        if (resp==0) break;
    }
    
    system("PAUSE");	
    return 0;   
}	
