Prévia do material em texto
ANHANGUERA
BACHARELADO ENGENHARIA CIVIL
VICTOR HUGO COSTA
APLICAÇÕES DE PROGRAMAÇÃO
REGISTROS E ARQUIVOS
APUCARANA – PR
2024
VICTOR HUGO COSTA
ALGORITMOS E LÓGICA DE PROGRAMAÇÃO
APLICAÇÕES DE PROGRAMAÇÃO
REGISTROS E ARQUIVOS
Orientador(a): Anderson Emidio De Macedo Goncalves
INTERPRETAÇÃO DOS REQUISITOS E DESENVOLVIMENTO CORRETO DO ALGORITMO ABRANGENDO TODAS AS POSSIBILIDADES DISTINTAS NA EXECUÇÃO DO PROGRAMA; APLICAR CONCEITOS DE MANIPULAÇÃO DE “ARQUIVOS”, ALÉM DA CRIAÇÃO E ACESSO A REGISTROS “STRUCTS” NA LINGUAGEM DE PROGRAMAÇÃO “C”.
APUCARANA – PR
2024
SÚMARIO
BACHARELADO ENGENHARIA CIVIL...............................................01
ATIVIDADE PROPOSTA..........................................................................04 DESCRIÇÃO DO PROBLEMA................................................................04
OBJETIVO E FERRAMENTA UTILIZADA..........................................04
RESPOSTA / CÓDIGO FONTE................................................................07
REFERÊNCIAS BIBLIOGRÁFICAS......................................................07
1. ATIVIDADE PROPOSTA
Você foi designado pela sua instituição de ensino para desenvolvedor um programa de classificação dos alunos. O programa deverá solicitar alguns dados, inclusive as médias das disciplinas de cada aluno para que ele possa fazer o cálculo da média do aluno. Deverá solicitar também o nome do aluno.
2. DESCRIÇÃO DO PROBLEMA:
Para realização da atividade você deve utilizar os recursos de Structs e Arquivos. A Struct armazenará os dados do aluno como: Nome, média da primeira disciplina, média da segunda disciplina, média geral por aluno e sua classificação.
Um arquivo do tipo “.txt” deve ser utilizado para armazenar as informações no final da execução do programa. O layout do arquivo deve conter:
Nome do Aluno:
Média Disciplina 1:
Média Disciplina 2:
Média Geral:
Classificação:
3. OBJETIVO E FERRAMENTA UTILIZADA
Interpretação dos requisitos e desenvolvimento correto do algoritmo abrangendo todas as possibilidades distintas na execução do programa;
Aplicar na prática a estrutura condicional: (“IF”) no desenvolvimento de algoritmos computacionais na Linguagem de Programação “C”.
SOLUÇÃO DIGITAL
• Visual Studio Code (VS Code) – Linguagem C
4. RESPOSTA / CÓDIGO FONTE
#include // Inclui a biblioteca padrão de entrada e saída.
#include // Inclui a biblioteca padrão de funções utilitárias. #include // Inclui a biblioteca padrão de manipulação de strings.
typedef struct { // Define uma estrutura chamada "Aluno". char
nome[50]; // Campo para armazenar o nome do aluno. float mediaDisciplina1; // Campo para armazenar a média da disciplina 1. float mediaDisciplina2; // Campo para armazenar a média da disciplina 2. float mediaGeral; // Campo para armazenar a média geral das disciplinas. int classificacao; // Campo para armazenar a classificação do aluno.
} Aluno;
void calcularMediaGeral(Aluno *aluno) { // Função para calcular a média geral de um aluno.
aluno->mediaGeral = (aluno->mediaDisciplina1 + aluno->mediaDisciplina2) / 2; // Calcula a média geral.
}
int compararMedias(const void *a, const void *b) { // Função de comparação para ordenar alunos por média geral.
Aluno *alunoA = (Aluno *)a; // Converte o ponteiro genérico para um ponteiro de Aluno.
Aluno *alunoB = (Aluno *)b; // Converte o ponteiro genérico para um ponteiro de Aluno.
if (alunoA->mediaGeral mediaGeral) return 1; // Retorna 1 se a média de alunoA for menor que a de alunoB.
else if (alunoA->mediaGeral > alunoB->mediaGeral) return -1; // Retorna -1 se a média de alunoA for maior que a de alunoB. else return 0; // Retorna 0 se as médias forem iguais.
}
void salvarAlunosEmArquivo(Aluno *alunos, int n, const char *nomeArquivo) { // Função para salvar os dados dos alunos em um arquivo.
FILE *arquivo = fopen(nomeArquivo, "w"); // Abre o arquivo para escrita. if (arquivo == NULL) { // Verifica se houve erro ao abrir o arquivo. printf("Erro ao abrir o arquivo.\n"); // Imprime mensagem de erro. return; // Sai da função.
}
for (int i = 0; i