Advertisement
ricardorichsn

qto_notaAzul

Oct 14th, 2012
61
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 3.95 KB | None | 0 0
  1. #include<stdlib.h>
  2. #include<stdio.h>
  3.  
  4. float geraNacMedia(int sem);
  5.  
  6. int main()
  7. {
  8.     int resposta, sem;
  9.     float md, am, nacM, ps;
  10.    
  11.     do
  12.     {
  13.           printf("Voce esta em que semestre?\n(1) para 1 semestre\n(2) para 2 semestre.\nR:");
  14.           scanf("%d", &sem);
  15.           switch(sem)
  16.           {
  17.                      case 1:
  18.                      {
  19.                           system("cls");
  20.                           printf("Vamos calcular quanto voce necessita para ficar com azul no PRIMEIRO semestre.\n\n");
  21.                           nacM = geraNacMedia(sem);
  22.                           printf("Digite a nota da AM do %d semestre: ", sem);
  23.                           scanf("%f", &am);
  24.                           ps = (6 - 0.2*nacM - 0.3*am)/0.5;
  25.                           printf("\n-------------------------------------\n");
  26.                           printf("Voce precisa tirar %.2f nesta materia, boa sorte!\n", ps);                              
  27.                           printf("\n-------------------------------------\n");
  28.                           break;
  29.                      }
  30.                      case 2:
  31.                      {
  32.                           system("cls");
  33.                           printf("Vamos calcular quanto voce necessita para passar de ano.\n\n");
  34.                           printf("Digite a media do 1 semestre (MD): ");
  35.                           scanf("%f", &md);
  36.                           nacM = geraNacMedia(sem);
  37.                           printf("Digite a nota da AM do %d semestre: ", sem);
  38.                           scanf("%f", &am);
  39.                           ps = (12 - md - 0.2*nacM - 0.3*am)/0.5;
  40.                           printf("\n-------------------------------------\n");
  41.                           if(ps <= 0)
  42.                               printf("Voce ja passou de ano, parabens!!\nResultado: %.2f", ps);                              
  43.                           else if(ps <= 10)
  44.                               printf("Voce precisa tirar %.2f nesta materia, boa sorte!\n", ps);
  45.                           else
  46.                               printf("Fodeu, nao da para passar!\nResultado: %.2f", ps);
  47.                           printf("\n-------------------------------------\n");                          
  48.                           break;
  49.                      }
  50.                      default:
  51.                              printf("\nDigite um numero valido!\n");
  52.           }
  53.           printf("\nDeseja refazer o processo?\n(1) para SIM\nR:");
  54.           scanf("%d", &resposta);
  55.           system("cls");
  56.     }
  57.     while(resposta == 1);
  58.     system("pause");
  59. }
  60.  
  61. float geraNacMedia(int sem)
  62. {
  63.     int inac, i;
  64.     float nac[10], result=0, menor=0, aux;
  65.    
  66.     printf("Quantas NACs foram feitas no %d semestre? ", sem);
  67.     scanf("%d", &inac);    
  68.     if(inac <= 0)
  69.     {
  70.             printf("\nEsse nao e um numero valido de NACs!");
  71.     }else if(inac == 1)
  72.     {
  73.           printf("Digite a nota da NAC: ");
  74.           scanf("%f", &result);
  75.           if(result > 10.0)
  76.                     {
  77.                               printf("\tQuanto valia esta NAC? ");
  78.                               scanf("%f", &aux);
  79.                               result = 10*result/aux;
  80.                     }
  81.     }else
  82.     {
  83.         for(i=0; i<inac; i++)
  84.         {                  
  85.                     printf("Digite a nota da NAC %d: ", i+1);
  86.                     scanf("%f", &nac[i]);                
  87.                    
  88.                     if(nac[i] > 10.0)
  89.                     {
  90.                               printf("\tQuanto valia esta NAC? ");
  91.                               scanf("%f", &aux);
  92.                               nac[i] = 10*nac[i]/aux;
  93.                     }                                      
  94.                     result += nac[i];
  95.                     if(nac[i]<menor || i==0)
  96.                           menor=nac[i];
  97.         }  
  98.         result -= menor;
  99.         result /= i-1;
  100.     }
  101.     return(result);
  102. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement