Advertisement
LuandaBernardo

2014.1 (2)

Jan 23rd, 2015
242
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 2.88 KB | None | 0 0
  1. /*
  2. 2º quesito: Uma organizadora de concursos deseja implementar um sistema que possua um menu com as seguintes opções:
  3. 1-  Cadastrar Notas:
  4. 2-  Exibir média Geral:
  5. 3-  Exibir resultado Geral:
  6. 4-  Exibir resultado Individual:
  7. 5-  Sair:
  8.  
  9. a)  Caso seja escolhida a opção 1 o sistema deve: Ler do usuário a quantidade N de candidatos a serem cadastrados,
  10.  criar um vetor de tamanho N usando alocação dinâmica para armazenar a nota (float) e o nome dos candidatos (string com 30 posições);
  11. b)  Caso seja escolhida a opção 2 o sistema deve: Exibir na tela a média geral de todos os candidatos;
  12. c)  Caso seja escolhida a opção 3 o sistema deve: Exibir uma lista com o nome e a nota de todos os candidatos;
  13. d)  Caso seja escolhida a opção 4 o sistema deve: Ler do usuário um nome e buscar esse candidato no vetor de cadastro imprimindo o nome e sua nota;
  14.  caso não seja encontrado o candidato, deverá ser impressa na tela a seguinte mensagem "Candidato não encontrado";
  15. e)  Caso seja escolhida a opção 5 o sistema deve: finalizar sua execução.
  16. Obs.: Para o armazenamento do nome e da nota dos candidatos o aluno pode escolher usar uma estrutura ou vetores separados.
  17. A comparação entre cadeias de caracteres é feita com int strcmp(char* s1, char* s2) que retorna 0 caso s1 == s2.*/
  18.  
  19.  
  20.  
  21. #include <stdio.h>
  22. #include <conio.h>
  23. #include <stdlib.h>
  24. #include <string.h>
  25.  
  26.  typedef struct
  27.   {
  28.     float nota;
  29.     char nome[30];
  30.  
  31. }Aluno;
  32.  
  33.  
  34.  
  35.  
  36. main ()
  37. {
  38.     int op;
  39.     char nome[20];
  40.     Aluno *aluno;
  41.         int n=0, i=0;
  42.     do{
  43.    
  44.     printf ("\n \n \t \a \a MENU DE OPCOES \n  1-   Cadastrar Notas: \n 2-  Exibir média Geral: \n 3-  Exibir resultado Geral: \n 4-   Exibir resultado Individual: \n 5-  Sair:");
  45.     scanf ("%d", &op);
  46.    
  47.     switch (op)
  48.     {
  49.         case 1:
  50.             printf ("Digite o numero de alunos:");
  51.             scanf ("%d", &n);
  52.             aluno = (Aluno*) malloc (n*sizeof(Aluno));
  53.             for (i=0; i<n; i++)
  54.             {
  55.                 printf ("Nome e nota:");
  56.                 scanf ("%s %d", &aluno[i].nome, &aluno[i].nota);
  57.             }
  58.             break;
  59.             case 2:
  60.        
  61.                 if (n==0)
  62.                 printf ("Nenhum aluno cadastrado!!!!");
  63.                 else
  64.             {       float Snota = 0;
  65.                
  66.             for (i=0; i<n; i++)
  67.             { Snota = aluno[i].nota + Snota;
  68.             }  
  69.             printf ("MEDIA GERAL: %f", Snota/n);}
  70.             break;
  71.                 case 3:
  72.                     if (n==0)
  73.                     {   printf ("Nenhum aluno cadastrado!!!!");}
  74.                     else
  75.                     for (i=0; i<n; i++)
  76.                     {printf ("\n \n Nome: %s \n Nota: %f", aluno[i].nome, aluno[i].nota);
  77.                     }          
  78.             break;
  79.             case 4:
  80.             if (n==0)
  81.             {printf ("Nenhum Registro");    }
  82.             else {
  83.                 int v=0;
  84.            
  85.             printf ("\n Digite um nome:"); fflush (stdin); gets (nome);
  86.         if (strcmp (nome, aluno[i].nome)==0)
  87.         {
  88.             printf ("Nome: %s \n nota: %f", aluno[i].nome, aluno[i].nota);
  89.             v =1;
  90.            
  91.         }
  92.         if (v==0)
  93.         {printf ("Não Encontrado!");
  94.         }}
  95.         break;
  96.        
  97.         case 5:
  98.         free (aluno);
  99.          return 0;
  100.         break;
  101.        
  102.     }}while (op!= 5);
  103.    
  104.    
  105.    
  106.     getch ();
  107.     return 0;
  108.    
  109. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement