joelcioferreira
(usa Outra)
Enviado em 28/11/2017 - 10:29h
bom dia
preciso de ajuda: me mandaram fazer este exercício usando este código e não entendo nada de programação.
Criar um algoritmo na linguagem de programação C que gerencie as notas de um aluno. Tal algoritmo
deve permitir a inserção, atualização e remoção de uma quantidade indefinida de notas (use lista encadeada), e
calcular a média das notas. Se a média for maior ou igual a 7, exibir a mensagem “Aluno aprovado!”, senão exibir a
mensagem “Aluno reprovado!”. Ainda, se a nota for maior que 6, mas menor que 7, exibir a mensagem “Aluno em
exame!” e substituir a nota mais baixa pela nota do exame, recalculando a média.
#include <stdio.h>
#include <stdlib.h>
#define MAX 10
typedef int telem;
typedef struct {
telem v[MAX];
int n;
} tlista;
/* Criar uma lista vazia */
void criar (tlista *L) {
L->n = 0;
}
/* Verificar se a lista est� vazia */
int vazia (tlista *L) {
return (L->n == 0);
}
/* Retornar o tamanho da lista */
int tamanho (tlista *L) {
return (L->n);
}
/* Obter o i-�simo elemento da lista */
int elemento (tlista *L, int pos) {
telem elem = 0;
if ((pos > L->n) || (pos <= 0)) {
return (0);
}
elem = L->v[pos-1];
return (elem);
}
/* Retornar a posi��o de um elemento */
int posicao (tlista *L, telem *dado) {
int i;
for (i=1; i<=L->n; i++) {
if (L->v[i-1] == *dado) {
return (i);
}
return (0);
}
}
/* Inser��o de um elemento */
int inserir (tlista *L, int pos, telem dado) {
int i;
if ((L->n == MAX) || (pos > L->n + 1)) {
return (0);
}
/* Movendo elementos */
for (i=L->n; i>=pos; i--) {
L->v[i] = L->v[i-1];
}
L->v[pos-1] = dado;
(L->n)++;
return (1);
}
/* Remo��o de um elemento */
int remover (tlista *L, int pos) {
int i;
if ((pos > L->n) || (pos <= 0)) {
return (0);
}
for (i=pos; i<=(L->n)-1; i++) {
L->v[i-1] = L->v[i];
}
(L->n)--;
return (1);
}
int main(int argc, const char* argv[]) {
printf( "Estrutura de Dados I\n" );
/* Inicializar variavel para a lista */
tlista *Salarios = (tlista *) malloc(sizeof(tlista));
printf( "Criando lista \n" );
/* Criar Lista */
criar(Salarios);
}