Exercício com Structs em C
Crie um programa capaz de ler os dados referentes a 5 alunos, armazená-los em um vetor alunos de structs do tipo Aluno.
Caso necessário, utilize o material sobre Struct em C/C++.
Ao final, o programa deverá imprimir uma lista com o nome
e o valor da média das notas dos aluno em ordem crescente de
nota.
Atenção: Utilize a ideia de Tipos Abstratos de Dados
para executar o acesso aos dados dos alunos. Em nenhuma hipótese,
acesse diretamente os atributos. Se necessário, crie novos métodos de
acesso.
typedef struct Aluno{
// Atributos/Campos
char nome[10];
int P1, P2; // notas no aluno;
// Funções de Acesso/Métodos
void setNome(char *Nome);
void setP1(int P1);
void setP2(int P2);
void imprimeAluno(); // imprime os dados de 1 aluno
void leDadosAluno(); // le os dados de 1 aluno do teclado
void getNome(char *Nome);
int getP1();
int getP2();
} Aluno;
Aluno alunos[5];
Para ordenar o vetor, modifique o código abaixo, que implementa o algoritmo Bubble Sort para um vetor de inteiros.
void bubble(int x[100], int n)
{
int troca, i, j, aux;
for (i = n-1; i > 0; i--)
{
// o maior valor entre x[0] e x[i] vai para a posição x[i]
troca = 0;
for (j =0 ; j <= i-1; j++)
{
if (x[j] > x[j+1])
{
aux = x[j];
x[j] = x[j+1];
x[j+1] = aux;
troca = 1;
}
}
if (!troca) break; // acabou !!
}
}