#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#define N_ALUNOS 5
typedef struct {
char nome[25];
int matricula;
float notas[2];
char situacao[10];
} Aluno;
Aluno Alunos[N_ALUNOS];
int alunosCadastrados = 0;
void atualizaArray(int posExcluida){
if(posExcluida >= 0 && posExcluida < alunosCadastrados - 1){
for(int j = posExcluida; j < alunosCadastrados - 1; j++){
Alunos[j].matricula = Alunos[j + 1].matricula;
strcpy(Alunos
[j
].
situacao, Alunos
[j
+ 1].
situacao); Alunos[j].notas[0] = Alunos[j + 1].notas[0];
Alunos[j].notas[1] = Alunos[j + 1].notas[1];
strcpy(Alunos
[j
].
nome, Alunos
[j
+ 1].
nome); }
alunosCadastrados--;
}
}
void mostrarAlunos(){
for (int i = 0;i < alunosCadastrados;++i){
printf("%d - %s, %d, %f, %f, %s\n", i
, Alunos
[i
].
nome, Alunos
[i
].
matricula, Alunos
[i
].
notas[0], Alunos
[i
].
notas[1], Alunos
[i
].
situacao); }
}
void inserirAluno(char *nome, int matricula, float nota1, float nota2, char *situacao){
strcpy(Alunos
[alunosCadastrados
].
nome, nome
); Alunos[alunosCadastrados].matricula = matricula;
Alunos[alunosCadastrados].notas[0] = nota1;
Alunos[alunosCadastrados].notas[1] = nota2;
strcpy(Alunos
[alunosCadastrados
].
situacao, situacao
); alunosCadastrados++;
}
int main() {
inserirAluno("Carlos", 1234, 10.0f, 12.0f, "aprovado");
inserirAluno("Sofia", 5678, 19.0f, 14.0f, "aprovada");
inserirAluno("Manuel", 4894, 7.0f, 9.0f, "reprovado");
inserirAluno("Cristina", 9156, 5.0f, 11.0f, "reprovada");
mostrarAlunos();
printf("\nDepois da remover:\n");
atualizaArray(0);
mostrarAlunos();
return 0;
}
I2luY2x1ZGUgPHN0ZGlvLmg+CiNpbmNsdWRlIDxzdGRsaWIuaD4KI2luY2x1ZGUgPHN0cmluZy5oPgoKI2RlZmluZSBOX0FMVU5PUyA1Cgp0eXBlZGVmIHN0cnVjdCB7CiAgICBjaGFyIG5vbWVbMjVdOwogICAgaW50IG1hdHJpY3VsYTsKICAgIGZsb2F0IG5vdGFzWzJdOwogICAgY2hhciBzaXR1YWNhb1sxMF07Cn0gQWx1bm87CgpBbHVubyBBbHVub3NbTl9BTFVOT1NdOwoKaW50IGFsdW5vc0NhZGFzdHJhZG9zID0gMDsKCnZvaWQgYXR1YWxpemFBcnJheShpbnQgcG9zRXhjbHVpZGEpewogICAgaWYocG9zRXhjbHVpZGEgPj0gMCAmJiAgcG9zRXhjbHVpZGEgPCBhbHVub3NDYWRhc3RyYWRvcyAtIDEpewogICAgICAgIGZvcihpbnQgaiA9IHBvc0V4Y2x1aWRhOyBqIDwgYWx1bm9zQ2FkYXN0cmFkb3MgLSAxOyBqKyspewogICAgICAgICAgICBBbHVub3Nbal0ubWF0cmljdWxhID0gQWx1bm9zW2ogKyAxXS5tYXRyaWN1bGE7CiAgICAgICAgICAgIHN0cmNweShBbHVub3Nbal0uc2l0dWFjYW8sIEFsdW5vc1tqICsgMV0uc2l0dWFjYW8pOwogICAgICAgICAgICBBbHVub3Nbal0ubm90YXNbMF0gPSBBbHVub3NbaiArIDFdLm5vdGFzWzBdOwogICAgICAgICAgICBBbHVub3Nbal0ubm90YXNbMV0gPSBBbHVub3NbaiArIDFdLm5vdGFzWzFdOwogICAgICAgICAgICBzdHJjcHkoQWx1bm9zW2pdLm5vbWUsIEFsdW5vc1tqICsgMV0ubm9tZSk7CiAgICAgICAgfQogICAgCWFsdW5vc0NhZGFzdHJhZG9zLS07CiAgICB9Cn0KCnZvaWQgbW9zdHJhckFsdW5vcygpewogICAgZm9yIChpbnQgaSA9IDA7aSA8IGFsdW5vc0NhZGFzdHJhZG9zOysraSl7CiAgICAgICAgcHJpbnRmKCIlZCAtICVzLCAlZCwgJWYsICVmLCAlc1xuIiwgaSwgQWx1bm9zW2ldLm5vbWUsIEFsdW5vc1tpXS5tYXRyaWN1bGEsIEFsdW5vc1tpXS5ub3Rhc1swXSwgQWx1bm9zW2ldLm5vdGFzWzFdLCBBbHVub3NbaV0uc2l0dWFjYW8pOwogICAgfQp9Cgp2b2lkIGluc2VyaXJBbHVubyhjaGFyICpub21lLCBpbnQgbWF0cmljdWxhLCBmbG9hdCBub3RhMSwgZmxvYXQgbm90YTIsIGNoYXIgKnNpdHVhY2FvKXsKICAgIHN0cmNweShBbHVub3NbYWx1bm9zQ2FkYXN0cmFkb3NdLm5vbWUsIG5vbWUpOwogICAgQWx1bm9zW2FsdW5vc0NhZGFzdHJhZG9zXS5tYXRyaWN1bGEgPSBtYXRyaWN1bGE7CiAgICBBbHVub3NbYWx1bm9zQ2FkYXN0cmFkb3NdLm5vdGFzWzBdID0gbm90YTE7CiAgICBBbHVub3NbYWx1bm9zQ2FkYXN0cmFkb3NdLm5vdGFzWzFdID0gbm90YTI7CiAgICBzdHJjcHkoQWx1bm9zW2FsdW5vc0NhZGFzdHJhZG9zXS5zaXR1YWNhbywgc2l0dWFjYW8pOwogICAgYWx1bm9zQ2FkYXN0cmFkb3MrKzsKfQoKaW50IG1haW4oKSB7CgogICAgaW5zZXJpckFsdW5vKCJDYXJsb3MiLCAxMjM0LCAxMC4wZiwgMTIuMGYsICJhcHJvdmFkbyIpOwogICAgaW5zZXJpckFsdW5vKCJTb2ZpYSIsIDU2NzgsIDE5LjBmLCAxNC4wZiwgImFwcm92YWRhIik7CiAgICBpbnNlcmlyQWx1bm8oIk1hbnVlbCIsIDQ4OTQsIDcuMGYsIDkuMGYsICJyZXByb3ZhZG8iKTsKICAgIGluc2VyaXJBbHVubygiQ3Jpc3RpbmEiLCA5MTU2LCA1LjBmLCAxMS4wZiwgInJlcHJvdmFkYSIpOwogICAgbW9zdHJhckFsdW5vcygpOwogICAgcHJpbnRmKCJcbkRlcG9pcyBkYSByZW1vdmVyOlxuIik7CgogICAgYXR1YWxpemFBcnJheSgwKTsKICAgIG1vc3RyYXJBbHVub3MoKTsKCiAgICByZXR1cm4gMDsKfQo=
0 - Carlos, 1234, 10.000000, 12.000000, aprovado
1 - Sofia, 5678, 19.000000, 14.000000, aprovada
2 - Manuel, 4894, 7.000000, 9.000000, reprovado
3 - Cristina, 9156, 5.000000, 11.000000, reprovada
Depois da remover:
0 - Sofia, 5678, 19.000000, 14.000000, aprovada
1 - Manuel, 4894, 7.000000, 9.000000, reprovado
2 - Cristina, 9156, 5.000000, 11.000000, reprovada