Informática, perguntado por natsil, 1 ano atrás

Faça um programa que leia o código do aluno e a média das notas de 10 alunos de uma determinada disciplina. Após esta etapa, deverá exibir o menu de opções abaixo, que permita ao usuário escolher a opção desejada, receba os dados necessários para executar a operação e mostre o resulto. Verificar a possibilidade de opção invalida e não se preocupar com as restrições como nota inválida.
OBS: UTILIZE VETORES.

MENU DE OPÇÕES:
1. EXIBIR A MÉDIA DA TURMA;
2. EXIBIR O CÓDIGO DOS ALUNOS QUE FORAM APROVADOS POR MÉDIA;
3. EXIBIR A AMPLITUDE DAS MÉDIAS;
4. SAIR.
DIGITE A OPÇÃO DESEJA:
OBS: AMPLITUDE EQUIVALE A DIFERENÇA ENTRE O VALOR MÁXIMO E O MÍNIMO DO CONJUNTO DE DADOS.

Soluções para a tarefa

Respondido por TheVriskaSerket
0

Segue o código em Linguagem C:

#include <stdio.h>

#include <stdlib.h>

int main(void)

{

   int contador,i,codigo[10],nota[10],media,somatorio,escolha,maior,menor,amplitude;

   char opcao;

   contador=1;

   somatorio=0;

   maior=0;

   menor=11;

   //Inserir o codigo e a nota dos alunos

   for (i=0;i<10;i++)

   {

       printf("Insira o codigo do aluno %d: ",contador);

       scanf("%d",&codigo[i]);

       printf("Insira a nota do aluno %d: ",contador);

       scanf("%d",¬a[i]);

       printf("\n");

       contador++;

   //Somatorio

       somatorio = somatorio + nota[i];

   //Media

       media=somatorio/10;

   //Maior valor

     if (nota[i]>maior)

     {

         maior=nota[i];

     }

   //Menor valor

     if (nota[i]<menor)

     {

         menor=nota[i];

     }

     amplitude=maior-menor;

   }

   //Apagar as informações na tela

   system("cls");

   getchar();

   menu:

   printf("|-----------------------------------------------------|");

   printf("\n|                   MENU PRINCIPAL                    |");

   printf("\n|                  Selecione a opcao                  |");

   printf("\n|                                                     |");

   printf("\n|   1 - EXIBIR MEDIA DA TURMA                         |");

   printf("\n|   2 - EXIBIR CODIGO DOS ALUNOS APROVADOS POR MEDIA  |");

   printf("\n|   3 - EXIBIR AMPLITUDE DAS MEDIAS                   |");

   printf("\n|   4 - SAIR                                          |");

   printf("\n|-----------------------------------------------------|");

   printf("\n\n\nOpcao: ");

   scanf("%c",&opcao);

   if(opcao=='1')

   {

     system("cls");

     getchar();

     printf("A Media da turma eh: ");

     printf("%d",media);

     printf("\n\nDeseja voltar ao menu principal?");

     printf("\n\nDigite 1 caso sim ou 0 caso nao");

     change:

     printf("\n");

     scanf("\n%d",&escolha);

     getchar();

     if (escolha==1)

     {

         system("cls");

         goto menu;

     }

     if (escolha==0)

     {

         exit(0);

     }

     else

     {

         printf("Opcao invalida");

         goto change;

     }

   }

  if (opcao=='2')

  {

      for (i=0;i<10;i++)

      {

          system("cls");

          if(nota[i]>=7)

          {

               printf("\n|-----------------------------------------------------|");

               printf("\n|             ALUNOS APROVADOS POR MEDIA              |");

               printf("\n|               (Media >= 7 : aprovado )              |");

               printf("\n|-----------------------------------------------------|");

               printf("\nAluno: %d  - nota %d",codigo[i],nota[i]);

               printf("\n");

               printf("\n\nDeseja voltar ao menu principal?");

               printf("\n\nDigite 1 caso sim ou 0 caso nao");

               change2:

               printf("\n");

               scanf("%d",&escolha);

               getchar();

               if (escolha==1)

               {

                   system("cls");

                   goto menu;

               }

               if (escolha==0)

               {

                   exit(0);

               }

               else

               {

                   printf("Opcao invalida");

                   goto change2;

               }

          }

      }

  }

  if (opcao=='3')

  {

      system("cls");

      printf("\nA amplitude das medias eh: %d",amplitude);

      printf("\n");

      printf("\n\nDeseja voltar ao menu principal?");

               printf("\n\nDigite 1 caso sim ou 0 caso nao");

               change3:

               printf("\n");

               scanf("%d",&escolha);

               getchar();

               if (escolha==1)

               {

                   system("cls");

                   goto menu;

               }

               if (escolha==0)

               {

                   exit(0);

               }

               else

               {

                   printf("Opcao invalida");

                   goto change3;

               }

  }

  if (opcao=='4')

  {

      printf("\n\n\nFIM DO PROGRAMA");

      printf("\n");

  }

   return 0;

}


TheVriskaSerket: Sim, a variável maior irá começar com o valor 0 e a variável menor começará com o valor 11.
TheVriskaSerket: São valores iniciais que utilizei para fazer as comparações com o comando if
natsil: então poderia ser qualquer valor???
TheVriskaSerket: Vamos lá, digamos que eu a primeira nota que o usuário digita é 7 e a segunda nota que o usuário digita é 8. Quando o código chegar na parte : if (nota[i] > maior), o sistema entenderá que a nota[i] = 7 é maior do que 0 (valor inicial da variável maior). Quando essa condição é atingida a variável maior receberá o valor da nota[i]. Portanto, agora maior = 7
natsil: outra coisa, o usuários irá inserir as médias ou as notas?
TheVriskaSerket: Após isso, haverá o laço de repetição. Agora, quando o usuário digita a segunda nota (8), o sistema vai verificar se a nota[i] vai ser maior do que a variável maior. nota [i] = 8 vai ser superior a variável maior = 7, assim atenderemos a condição e a variável menor receberá agora o valor da nota[i] = 8
TheVriskaSerket: É meio complicado de explicar, sugiro que assista alguns vídeos. São bem mais didáticos do que meus comentários kk
TheVriskaSerket: E não, nesse caso não podemos escolher qualquer valor para as variáveis maior e menor.
TheVriskaSerket: E sim, nesse programa o usuário irá inserir as médias/notas dos alunos. Sugiro que utilize o compilador do CodeBlocks para ler o programa, mas isso fica a cargo de sua vontade.
TheVriskaSerket: Segue um vídeo explicativo : https://www.youtube.com/watch?v=JGu84T1QPHU
Perguntas interessantes