Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- /*
- 2º quesito: Uma organizadora de concursos deseja implementar um sistema que possua um menu com as seguintes opções:
- 1- Cadastrar Notas:
- 2- Exibir média Geral:
- 3- Exibir resultado Geral:
- 4- Exibir resultado Individual:
- 5- Sair:
- a) Caso seja escolhida a opção 1 o sistema deve: Ler do usuário a quantidade N de candidatos a serem cadastrados,
- 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);
- b) Caso seja escolhida a opção 2 o sistema deve: Exibir na tela a média geral de todos os candidatos;
- c) Caso seja escolhida a opção 3 o sistema deve: Exibir uma lista com o nome e a nota de todos os candidatos;
- 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;
- caso não seja encontrado o candidato, deverá ser impressa na tela a seguinte mensagem "Candidato não encontrado";
- e) Caso seja escolhida a opção 5 o sistema deve: finalizar sua execução.
- Obs.: Para o armazenamento do nome e da nota dos candidatos o aluno pode escolher usar uma estrutura ou vetores separados.
- A comparação entre cadeias de caracteres é feita com int strcmp(char* s1, char* s2) que retorna 0 caso s1 == s2.*/
- #include <stdio.h>
- #include <conio.h>
- #include <stdlib.h>
- #include <string.h>
- typedef struct
- {
- float nota;
- char nome[30];
- }Aluno;
- main ()
- {
- int op;
- char nome[20];
- Aluno *aluno;
- int n=0, i=0;
- do{
- 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:");
- scanf ("%d", &op);
- switch (op)
- {
- case 1:
- printf ("Digite o numero de alunos:");
- scanf ("%d", &n);
- aluno = (Aluno*) malloc (n*sizeof(Aluno));
- for (i=0; i<n; i++)
- {
- printf ("Nome e nota:");
- scanf ("%s %d", &aluno[i].nome, &aluno[i].nota);
- }
- break;
- case 2:
- if (n==0)
- printf ("Nenhum aluno cadastrado!!!!");
- else
- { float Snota = 0;
- for (i=0; i<n; i++)
- { Snota = aluno[i].nota + Snota;
- }
- printf ("MEDIA GERAL: %f", Snota/n);}
- break;
- case 3:
- if (n==0)
- { printf ("Nenhum aluno cadastrado!!!!");}
- else
- for (i=0; i<n; i++)
- {printf ("\n \n Nome: %s \n Nota: %f", aluno[i].nome, aluno[i].nota);
- }
- break;
- case 4:
- if (n==0)
- {printf ("Nenhum Registro"); }
- else {
- int v=0;
- printf ("\n Digite um nome:"); fflush (stdin); gets (nome);
- if (strcmp (nome, aluno[i].nome)==0)
- {
- printf ("Nome: %s \n nota: %f", aluno[i].nome, aluno[i].nota);
- v =1;
- }
- if (v==0)
- {printf ("Não Encontrado!");
- }}
- break;
- case 5:
- free (aluno);
- return 0;
- break;
- }}while (op!= 5);
- getch ();
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement