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

Prévia do material em texto

GRADUAÇÃO 
ENGENHARIA DE PRODUÇÃO 
 
 
DISCIPLINA: ALGORITMOS E LÓGICA DE PROGRAMAÇÃO 
UNIDADE: 4; APLICAÇÕES DE PROGRAMAÇÃO 
AULA: 4; REGISTROS E ARQUIVOS 
ALUNO: TIAGO ALVES DE OLIVEIRA 
MATRICULA: 2025356958 
 
 
 
São Paulo, 29 de agosto de 2025 
 
 
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. 
 O código foi utilizado na linguagem de programação “C” no GDB Online 
(VSCode, não conseguir instalar na minha máquina). 
Requisitos: 
 O programa segue todos os passos definidos, desde a criação da “struct 
Aluno”, até a gravação dos dados no arquivo final. 
 A “struct Aluno” foi criado com os campos “nome, media1, media2, mediaGeral 
e classificação”. 
 
 Função de calculo e comparação: 
• A função “calcularMediageral” calcula a média das duas disciplinas; 
• A função “compararMedias” é crucial para o processo de ordenação. Ela é um 
“comparador” que a função “qsort” (da biblioteca “stdlib.h”) usa para saber 
como ordenar os elementos de um array. 
• A função “atribuirClassificacao” usa “qsort” para ordenar o array de alunos e 
depois atribui a classificação (“Excelente, Muito Bom, etc”) com base na 
posição de cada aluno na lista ordenada. 
 
 A função atribui a classificação ordenando os alunos na média geral, baseando 
na posição, o que garante que as classificações sejam atribuídas corretamente do 
melhor para o pior aluno. 
 
 
Função para salvar os dados no arquivo: 
 A função “salvarArquivo” cria ou sobrescreve o arquivo “relatório_alunos.txt”. 
Ela percorre o array de alunos e escreve cada campo no arquivo. O cálculo e a escrita 
da média geral da turma também são realizados nesta função. 
 O arquivo é fechado com “fclose(arquivo)” após a escrita de todos os dados, 
garantindo que as informações sejam salvas corretamente no disco. 
 
 
 Entrada de dados: 
 O programa pede o número de alunos e usa um laço “for” para coletar as 
informações de cada um. O uso de “fgets” para o nome é uma prática segura para 
evitar problemas com os espaços em branco, e o “getchar()” é usado para limpar o 
buffer do teclado após cada “scanf”. 
 
A função “atribuirClassificacao” realiza a ordenação completa do array de 
alunos, o que garante que as classificações sejam atribuídas corretamente do melhor 
para o pior aluno, como esperado. 
 
 
Na prática: 
 Compilação dos dados, as informações necessárias, quantidade de alunos e as 
médias de cada um, quando salvos mostra o resultado dos alunos e no final, a média 
geral da turma. 
 
 
 
Relatório “txt” salvo conforme as funções atribuídas. Trazendo as informações 
mais detalhadas e separadas conforme o print abaixo. Ordenando os alunos do melhor 
para o pior. 
 
 
 
 
Conclusão: 
O projeto em C apresentado demonstrou que pode resolver problemas práticos e 
organizar dados de forma eficiente, com três pilares essenciais. 
Structs: A estrutura “Aluno” permitiu agrupar informações relacionadas como (nome, 
notas, média e classificação) em um único tipo de dado, tornando o código mais limpo 
e fácil de gerenciar. 
Lógica de Ordenação: A combinação da função de comparação com a função de 
biblioteca “qsort” demonstrou uma forma robusta de ordenar a lista de alunos com 
base em suas médias, o que é fundamental para atribuir as classificações 
corretamente. 
Manipulação de Arquivos: A capacidade de escrever todas as informações em um 
arquivo “.txt” garantiu que os dados fossem armazenados de forma persistente. Isso é 
crucial para relatórios e para que as informações não se percam após a execução do 
programa. 
Em resumo, a atividade cumpriu seu objetivo principal: mostrar como diferentes 
conceitos de programação da organização de dados à manipulação de arquivos, se 
combinam para criar uma solução completa e funcional, capaz de processar 
informações, classificá-las e gerar um relatório final.

Mais conteúdos dessa disciplina