Logo Passei Direto
Buscar
Material
páginas com resultados encontrados.
páginas com resultados encontrados.

Escolha uma das opções e acesse esse e outros materiais sem bloqueio. 🤩

Cadastre-se ou realize login

Ao continuar, você aceita os Termos de Uso e Política de Privacidade

Escolha uma das opções e acesse esse e outros materiais sem bloqueio. 🤩

Cadastre-se ou realize login

Ao continuar, você aceita os Termos de Uso e Política de Privacidade

Escolha uma das opções e acesse esse e outros materiais sem bloqueio. 🤩

Cadastre-se ou realize login

Ao continuar, você aceita os Termos de Uso e Política de Privacidade

Escolha uma das opções e acesse esse e outros materiais sem bloqueio. 🤩

Cadastre-se ou realize login

Ao continuar, você aceita os Termos de Uso e Política de Privacidade

Escolha uma das opções e acesse esse e outros materiais sem bloqueio. 🤩

Cadastre-se ou realize login

Ao continuar, você aceita os Termos de Uso e Política de Privacidade

Escolha uma das opções e acesse esse e outros materiais sem bloqueio. 🤩

Cadastre-se ou realize login

Ao continuar, você aceita os Termos de Uso e Política de Privacidade

Escolha uma das opções e acesse esse e outros materiais sem bloqueio. 🤩

Cadastre-se ou realize login

Ao continuar, você aceita os Termos de Uso e Política de Privacidade

Prévia do material em texto

#include 
#include 
#define MAX 40
typedef struct {
 char nome[20];
 float nota;
 char status;
} Aluno;
typedef struct {
 Aluno dado[MAX];
 int n= 0;
} ListaDisciplina;
ListaDisciplina lista;
Aluno aluno;
//Protótipos das funções
void instancia(Aluno *, char *, float, float, char);
void ordenar(ListaDisciplina *);
int inserir (ListaDisciplina *, int, Aluno);
int remover (ListaDisciplina *, int);
int imprimir (ListaDisciplina *);
void imprimirAtivos(ListaDisciplina *);
//Implementação das funções de acesso à lista
void instancia(Aluno *aluno, char *nome, float nota, char status) {
 strcpy(aluno->nome, nome);
 aluno->nota= nota;
 aluno->status= status;
}
int inserir (ListaDisciplina *L, int pos, Aluno aluno) {
 if ((L->n == MAX) || (pos > L->n + 1))
 return 0;
 
 int i;
 for (i= L->n; i >= pos; i--)
 L->dado[i]= L->dado[i-1];
 
 L->dado[pos-1]= aluno;
 (L->n)++;
 return 1;
}
int remover (ListaDisciplina *L, int pos){
 int i;
 if ((pos > L->n) || (pos n)-1; i++)
 L->dado[i-1]= L->dado[i];
 
 (L->n)--;
 return 1;
}
int imprimir (ListaDisciplina *L){
 int i;
 printf("%-3s %-10s %-5s %-6s \n", "Pos", "Aluno", 
 "nota", "Status");
 printf("%-3s %-10s %-5s %-6s \n", "---", "----------", 
 "-----", "------");
 int total= L->n;
 for (i= 0; i dado[i].nome, L->dado[i].nota, L->dado[i].status);
 
 printf("\n");
}
void imprimirAtivos(ListaDisciplina *L) {
 int i;
 printf("%-3s %-10s %-5s %-6s \n", "Pos", "Aluno", "nota", "Status");
 printf("%-3s %-10s %-5s %-6s \n", "---", "----------", 
 "-----", "------");
 int total= L->n;
 for (i= 0; i dado[i].status == 'A') 
 printf("%-3d %-10s %-5.1f %-6c \n", i+1, L->dado[i].nome, L->dado[i].nota, L->dado[i].status);
 }
}
void ordenar(ListaDisciplina *L) {
 int i, j, max;
 int n= L->n;
 Aluno temp;
 for (i= 0; i dado[j].nota > L->dado[max].nota) 
 max= j;
 
 temp= L->dado[max];
 L->dado[max]= L->dado[i];
 L->dado[i]= temp; 
 }
 }
}
main() {
 float m;
 
 instancia(&aluno, "Pedro", 8.9, 'A');
 inserir(&lista, 1, aluno);
 printf("Pedro adicionado na posicao 1. \n");
 instancia(&aluno, "Ana", 8.7, 'A');
 inserir(&lista, 2, aluno);
 printf("Ana adicionada na posicao 2. \n");
 instancia(&aluno, "Maria", 9.3, 'I');
 inserir(&lista, 3, aluno);
 printf("Maria adicionada na posicao 3. \n\n");
 imprimir(&lista);
 remover(&lista, 1);
 printf("Pedro removido da posicao 1. \n");
 imprimir(&lista);
 instancia(&aluno, "Paula", 9.1, 'A');
 inserir(&lista, 1, aluno);
 printf("Paula adicionada na posicao 1. \n");
 imprimir(&lista);
 instancia(&aluno, "Pedro", 8.9, 'I');
 inserir(&lista, 2, aluno);
 printf("Pedro adicionado na posicao 2. \n");
 instancia(&aluno, "Joao", 9.8, 'A');
 inserir(&lista, 5, aluno);
 printf("Joao adicionado na posicao 5. \n\n");
 imprimir(&lista);
 
 ordenar(&lista);
 printf("Lista classificada por nota decrescente. \n");
 imprimir(&lista);
 ordenar(&lista);
 printf("Lista de alunos ativos. \n");
 imprimirAtivos(&lista);
}
Pos Aluno nota Status
--- ---------- ----- ------
1 Paula 9.1 A
2 Pedro 8.9 I
3 Ana 8.7 A
4 Maria 9.3 I
5 Joao 9.8 A
Lista classificada por nota decrescente.
Pos Aluno nota Status
--- ---------- ----- ------
1 Joao 9.8 A
2 Maria 9.3 I
3 Paula 9.1 A
4 Pedro 8.9 I
5 Ana 8.7 A
Lista de alunos ativos.
Pos Aluno nota Status
--- ---------- ----- ------
1 Joao 9.8 A
3 Paula 9.1 A
5 Ana 8.7 A
​​

Mais conteúdos dessa disciplina