Utilizando a Linguagem C e os conceitos de registro, arquivo e funções estudados em aula,resolva o problema a seguir.
Pesquisa. Durante o processo seletivo de uma universidade, foram coletados os seguintes dados de cada candidato: código, nome, idade, gênero (F/M) e nota da prova. Considerando estas informações, faça um programa em Linguagem C que disponibilize as opções de:
(a) cadastro de dados dos candidatos;
(b) edição de dados dos candidatos (utilize o código do candidato para realizar a consulta para edição);
(c) relatório com a listagem geral dos candidatos (listar apenas código, nome e nota da prova)e, no final da lista, apresentar o total de candidatos - quando necessário, o sistema deverá "rolar os dados na tela linha a linha" ou "paginar incluindo de 10 a 15 registros por página"; e
(d) dados estatísticos, contendo: o total de candidatos inscritos, a idade do candidato mais jovem, a idade do candidato mais velho, o percentual de candidatos por gênero, a média geral das notas dos candidatos bem como a quantidade de candidatos com nota superior à média geral.
Soluções para a tarefa
Por meio da Linguagem C e empregando os conceitos de registro, arquivo e funções estudados, pode-se construir o seguinte exemplo:
#include <stdio.h>
#include <conio.h>
#include <stdlib.h>
struct candidato{
int codigo, idade;
char sexo, nome[60];
float nota, media;
}aluno[10];
main(){
int i, j, totalcand, idadev, idaden, percentualgenero, qtdsuperior, opcao;
for (i=0;i<10;i++){
printf("\n MENU DE opções \n");
printf(" 1 - para cadastro\n ");
printf(" 2 - para edicao de dados\n");
printf(" 3 - para relatorio\n");
printf(" Digite: \n");
scanf("%i",&opcao);
system("cls");
switch(opcao){
case 1:
printf("Cadastro do aluno %i", i+1);
printf(" Digite nome: \n");
fflush(stdin);
fgets(aluno[i].nome,60,stdin);
system("cls");
printf(" Digite codigo: \n");
scanf("%i",&aluno[i].codigo);
getchar();
system("cls");
printf(" Digite idade: \n");
scanf("%i",&aluno[i].idade);
getchar();
system("cls");
printf(" Digite genero F/M: \n");
scanf("%c",&aluno[i].sexo);
system("cls");
printf(" Digite nota: \n");
scanf("%f",&aluno[i].nota);
getchar();
system("cls");
break;
case 2:
printf( " daw0iwjdfa9iojn ");
break;
case 3:
for (i=0;i<10;i++){
printf(" Nome: %c \n", aluno[i].nome);
printf(" Codigo: %i \n", aluno[i].codigo);
printf(" Nota: %.2f \n", aluno[i].nota);
printf("Total de candidatos: %i\n", i);
break;
}
}
printf("total de candidatos: %i\n", i);
printf
}
getch();
}