• Home
  • Chat IA
  • Guru IA
  • Tutores
  • Central de ajuda
Home
Chat IA
Guru IA
Tutores

·

Engenharia Elétrica ·

Introdução à Lógica e Programação

Envie sua pergunta para a IA e receba a resposta na hora

Recomendado para você

Estruturas Condicionais em Linguagem C

14

Estruturas Condicionais em Linguagem C

Introdução à Lógica e Programação

UNIA

Execução Sequencial e Estruturas de Decisão

8

Execução Sequencial e Estruturas de Decisão

Introdução à Lógica e Programação

UNIA

Modelagem de Dados - Roteiro Aula Pratica 2 - Criacao de DER no MySQL Workbench

4

Modelagem de Dados - Roteiro Aula Pratica 2 - Criacao de DER no MySQL Workbench

Introdução à Lógica e Programação

UNIA

Roteiro de Aula Prática: Desenvolvimento de Diagrama de Casos de Uso em UML

4

Roteiro de Aula Prática: Desenvolvimento de Diagrama de Casos de Uso em UML

Introdução à Lógica e Programação

UNIA

Analise Diagrama de Casos de Uso - Escritor Edita Documento

5

Analise Diagrama de Casos de Uso - Escritor Edita Documento

Introdução à Lógica e Programação

UNIA

UML-Conceitos-e-Aplicacoes-em-Modelagem-de-Software

5

UML-Conceitos-e-Aplicacoes-em-Modelagem-de-Software

Introdução à Lógica e Programação

UNIA

Programa de Controle para Braço Mecanico com Seletores e Fins de Curso

2

Programa de Controle para Braço Mecanico com Seletores e Fins de Curso

Introdução à Lógica e Programação

UNIA

DER-Diagrama-Entidade-Relacionamento-Biblioteca-MySQL-Workbench

11

DER-Diagrama-Entidade-Relacionamento-Biblioteca-MySQL-Workbench

Introdução à Lógica e Programação

UNIA

Mapeamento de Classes para Tabelas Relacionais UML - Teoria e Alternativas

5

Mapeamento de Classes para Tabelas Relacionais UML - Teoria e Alternativas

Introdução à Lógica e Programação

UNIA

Programa de Controle para Braço Mecanico com Seletor de Motor e Fins de Curso

2

Programa de Controle para Braço Mecanico com Seletor de Motor e Fins de Curso

Introdução à Lógica e Programação

UNIA

Texto de pré-visualização

ALGORÍTMOS E LÓGICA DE PROGRAMAÇÃO Roteiro Aula Prática 2 ROTEIRO DE AULA PRÁTICA NOME DA DISCIPLINA ALGORITMOS E LÓGICA DE PROGRAMAÇÃO Unidade 4 APLICAÇÕES DE PROGRAMAÇÃO Aula 4 Registros e arquivos OBJETIVOS 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 SOLUÇÃO DIGITAL Visual Studio Code VS Code LINK SOLUÇÃO DIGITAL httpscodevisualstudiocomdownload O VS Code é um editor de códigofonte desenvolvido pela Microsoft para Windows Linux e macOS Conta com a instalação de extensões para programação em diversas linguagens de programação Tipo de licença Códigofonte Licença MIT Binários Freeware Computador com acesso à internet e com o mínimo de 4 GB de Memória RAM Instalação do Visual Studio Code extensões o CC for Visual Studio Code o CC Compile Run extension PROCEDIMENTOATIVIDADE 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 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 3 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 PROCEDIMENTOS PARA A REALIZAÇÃO DA ATIVIDADE Faça uma análise detalhada de todas as ações que o programa deve executar bem como as estruturas algorítmicas necessárias para o desenvolvimento do código Aplique os fundamentos da lógica de programação e algoritmos na criação de uma solução para o cenário apresentado utilizando a Linguagem de Programação C tendo como apoio o editor de código VS Code A seguir os procedimentos que devem ser realizados 1 Passo 1 Definição das estruturas de dados a Criar a estruturaStruct Aluno com os campos necessários nome médias das disciplinas média geral classificação Você pode optar pelo nome da Struct ser Aluno ou outro nome qualquer desde que você respeite as regras para nomenclatura de variáveis evitando acentuação sem utilização de espaços em branco não podendo utilizar palavras reservadas à linguagem exemplo void e não começar com caractere numérico Aqui optei pelo nome Aluno 2 Passo 2 Implementação das funções de cálculo a Implementar uma função para calcular a média geral de um aluno com base nas médias das disciplinas Um exemplo da função para calcular a média de um aluno Passase por parâmetro as médias das disciplinas e depois retorna o cálculo da média 4 b Implementar uma função de comparação para ser utilizada na ordenação da turma Essa função compararMedias é chamada dentro de outra função que salva o arquivo txt que tem o objetivo de ordenar o aluno dentro do arquivo de acordo com sua classificação por nota Exemplo 3 Passo 3 Entrada de dados a Pedir ao usuário que informe quantos alunos serão registrados Isso é feito dentro da função main Uma sugestão de como resolver está logo a seguir b Usar um loop para solicitar o nome médias das disciplinas 1 e 2 de cada aluno e armazenar esses dados na estrutura Aluno Dentro de um laço qualquer na linguagem de programação C solicite do usuário esses dados 4 Passo 4 Cálculo das médias e classificação a Calcular a média geral de cada aluno utilizando uma função A função que faz esse cálculo é a calcularMediaGeral já exibida no item 2 b Ordenar a turma em ordem decrescente de acordo com as médias dos alunos Você deve comparar as médias gerais de cada aluno e colocar a classificação de cada um dentro do arquivo txt ao lado dos dados do aluno c Atribuir as classificações aos alunos com base na ordem da turma Inserir dentro do arquivo um campo para a classificação do aluno Utilizar o campo classificação da Struct 5 5 Passo 5 Saída de dados a Para cada aluno escrever no arquivo seu nome médias das disciplinas média geral e classificação b Calcular e escrever no arquivo a média geral da turma Uma sugestão para a saída do arquivo texto logo a seguir 6 Passo 6 Finalização a Fechar o arquivo Utilizar a classe FILE da linguagem C para manipular dados no arquivo 7 Execução do Programa Apresentar o programa demonstrando o seu funcionamento Exemplo do programa sendo executado Na sequência o arquivo txt gerado pelo programa 6 Munido de todas essas informações coloque suas habilidades de programação em prática e crie um programa que atenda a todos os requisitos solicitados pela sua instituição de ensino CHECKLIST Analisar o cenário para criação do códigofonte do programa Instalar o VS Code em seu dispositivo Baixe a IDE escolhendo o sistema operacional por meio do link httpscodevisualstudiocomdownload Desenvolver o algoritmo na Linguagem de Programação C Considerar todos os critérios solicitados para construção do algoritmo Executar testes e possíveis correções Apresentar o programa e verificar seu correto funcionamento RESULTADOS O estudante deve entregar um arquivo em PDF contendo toda a codificação do exercício documentada ou seja para cada trecho do códigofonte o estudante deve anexar um texto explicando o que acontece quando o trecho do código é executado O arquivo deverá conter Capa Folha de rosto com os dados da disciplina e do aluno Codificação completa dos exercícios Referências bibliográficas quando houver 7 RESULTADOS DE APRENDIZAGEM O objetivo da atividade é aplicar conceitos das estruturas de seleção laços de repetições funções Structs e arquivos para coletar os dados realizar os cálculos e fazer a classificação dos alunos Diante do cenário apresentado ser capaz de aplicar os conceitos de lógica de programação desenvolvendo o raciocínio lógico de forma prática em um contexto do mundo real SISTEMA DE CLASSIFICAÇÃO DE ALUNOS Algoritmos e Lógica de Programação Disciplina Algoritmos e Lógica de Programação Professor Aluno Data 28 de Agosto de 2025 INTRODUÇÃO Este documento apresenta a implementação de um sistema de classificação de alunos desenvolvido em linguagem C utilizando os conceitos de estruturas de dados structs e manipulação de arquivos O programa foi desenvolvido como atividade prática da disciplina de Algoritmos e Lógica de Programação OBJETIVOS Cadastrar alunos com suas respectivas médias de duas disciplinas Calcular a média geral de cada aluno Classificar os alunos em ordem decrescente de média Armazenar todos os dados em arquivo de texto Calcular e exibir a média geral da turma ESTRUTURAS DE DADOS Definição da Estrutura Aluno typedef struct char nomeMAXNOME float mediadisciplina1 float mediadisciplina2 float mediageral int classificacao Aluno Explicação Esta estrutura define o tipo de dado Aluno que contém nomeMAXNOME Array de caracteres para armazenar o nome do aluno máximo 100 caracteres mediadisciplina1 Variável float para a média da primeira disciplina mediadisciplina2 Variável float para a média da segunda disciplina mediageral Variável float que armazenará a média entre as duas disciplinas classificacao Variável inteira indicando a posição do aluno no ranking da turma Constantes Utilizadas define MAXNOME 100 define MAXALUNOS 50 Explicação MAXNOME 100 Define o tamanho máximo permitido para o nome de um aluno MAXALUNOS 50 Define o número máximo de alunos que podem ser cadastrados no sistema ANÁLISE DO CÓDIGO 1 Função Principal main int main Aluno alunosMAXALUNOS int numalunos printf SISTEMA DE CLASSIFICACAO DE ALUNOS Entrada de dados printfQuantos alunos deseja registrar maximo d MAXALUNOS scanfd numalunos Explicação Declara um array de estruturas Aluno com capacidade para MAXALUNOS elementos Declara a variável numalunos para armazenar a quantidade de alunos Exibe o título do sistema Solicita a quantidade de alunos a serem registrados if numalunos 0 numalunos MAXALUNOS printfNumero invalido de alunos return 1 Explicação Validação de entrada que verifica se o número informado está dentro dos limites permitidos maior que 0 e menor ou igual a MAXALUNOS Se inválido o programa encerra Loop para cadastro dos alunos for int i 0 i numalunos i printf Aluno d i 1 printfNome scanf alunosinome printfMedia Disciplina 1 scanff alunosimediadisciplina1 printfMedia Disciplina 2 scanff alunosimediadisciplina2 Calcula a média geral alunosimediageral calcularMediaGeralalunosimediadisciplina1 alunosimediadisciplina2 Explicação Loop for para cadastrar cada aluno scanf lê o nome completo com espaços Lê as médias das duas disciplinas e calcula a média geral com calcularMediaGeral Ordena os alunos por média decrescente ordenarAlunosalunos numalunos Atribui classificações for int i 0 i numalunos i alunosiclassificacao i 1 Salva no arquivo salvarArquivoalunos numalunos printf Dados salvos no arquivo notasalunostxt return 0 Explicação Chama ordenarAlunos para organizar em ordem decrescente de média Atribui a classificação posição no ranking após a ordenação Chama salvarArquivo para gravar os dados no arquivo de texto 2 Função de Cálculo da Média float calcularMediaGeralfloat mediadisciplina1 float mediadisciplina2 return mediadisciplina1 mediadisciplina2 2 Explicação Função simples que recebe as duas médias como parâmetros e retorna a média aritmética entre elas 3 Função de Comparação para Ordenação int compararMediasconst void a const void b const Aluno alunoA const Aluno a const Aluno alunoB const Aluno b if alunoAmediageral alunoBmediageral return 1 A vem antes de B ordem decrescente else if alunoAmediageral alunoBmediageral return 1 B vem antes de A else return 0 Médias iguais Explicação Função de comparação utilizada por qsort Compara as médias gerais de dois alunos para produzir ordem decrescente 4 Função de Ordenação void ordenarAlunosAluno alunos int numalunos qsortalunos numalunos sizeofAluno compararMedias Explicação Usa qsort para ordenar o array de alunos inplace 5 Função de Salvamento em Arquivo void salvarArquivoAluno alunos int numalunos FILE arquivo fopennotasalunostxt w if arquivo NULL printfErro ao criar o arquivo return Explicação Abre o arquivo notasalunostxt em modo de escrita e checa erro de abertura float somageral 0 for int i 0 i numalunos i fprintfarquivo Nome s alunosinome fprintfarquivo Media Disciplina 1 2f alunosimediadisciplina1 fprintfarquivo Media Disciplina 2 2f alunosimediadisciplina2 fprintfarquivo Media Geral 2f alunosimediageral fprintfarquivo Ordem d alunosiclassificacao fprintfarquivo somageral alunosimediageral Explicação Percorre os alunos escreve os dados formatados e acumula as médias para cálculo da média da turma float mediaturma somageral numalunos fprintfarquivo Media geral da turma 2f mediaturma fclosearquivo Explicação Calcula e escreve a média geral da turma e fecha o arquivo EXECUÇÃO E RESULTADOS Exemplo de Execução Arquivo de Saída Gerado Estruturas de Controle Estruturas condicionais ifelse para validação de entrada Estruturas de repetição for para loops de cadastro e processamento Estruturas de dados struct para organizar os dados do aluno Arrays para armazenamento de múltiplos alunos REFERÊNCIAS BIBLIOGRÁFICAS 1 KERNIGHAN Brian W RITCHIE Dennis M C A Linguagem de Programação Padrão ANSI Rio de Janeiro Campus 1989 2 DEITEL Harvey M DEITEL Paul J C Como Programar 6 ed São Paulo Pearson Prentice Hall 2011 3 SCHILDT Herbert C Completo e Total 3 ed São Paulo Makron Books 1997 4 ASCENCIO Ana F G CAMPOS E A V Fundamentos da Programação de Computadores Algoritmos Pascal CC e Java 3 ed São Paulo Pearson Prentice Hall 2012 5 FORBELLONE André L V EBERSPÄCHER Henri F Lógica de Programação A Construção de Algoritmos e Estruturas de Dados 3 ed São Paulo Pearson Prentice Hall 2005 6 Documentação Oficial da Linguagem C ISOIEC 98992018 Disponível em httpswwwisoorgstandard74528html

Envie sua pergunta para a IA e receba a resposta na hora

Recomendado para você

Estruturas Condicionais em Linguagem C

14

Estruturas Condicionais em Linguagem C

Introdução à Lógica e Programação

UNIA

Execução Sequencial e Estruturas de Decisão

8

Execução Sequencial e Estruturas de Decisão

Introdução à Lógica e Programação

UNIA

Modelagem de Dados - Roteiro Aula Pratica 2 - Criacao de DER no MySQL Workbench

4

Modelagem de Dados - Roteiro Aula Pratica 2 - Criacao de DER no MySQL Workbench

Introdução à Lógica e Programação

UNIA

Roteiro de Aula Prática: Desenvolvimento de Diagrama de Casos de Uso em UML

4

Roteiro de Aula Prática: Desenvolvimento de Diagrama de Casos de Uso em UML

Introdução à Lógica e Programação

UNIA

Analise Diagrama de Casos de Uso - Escritor Edita Documento

5

Analise Diagrama de Casos de Uso - Escritor Edita Documento

Introdução à Lógica e Programação

UNIA

UML-Conceitos-e-Aplicacoes-em-Modelagem-de-Software

5

UML-Conceitos-e-Aplicacoes-em-Modelagem-de-Software

Introdução à Lógica e Programação

UNIA

Programa de Controle para Braço Mecanico com Seletores e Fins de Curso

2

Programa de Controle para Braço Mecanico com Seletores e Fins de Curso

Introdução à Lógica e Programação

UNIA

DER-Diagrama-Entidade-Relacionamento-Biblioteca-MySQL-Workbench

11

DER-Diagrama-Entidade-Relacionamento-Biblioteca-MySQL-Workbench

Introdução à Lógica e Programação

UNIA

Mapeamento de Classes para Tabelas Relacionais UML - Teoria e Alternativas

5

Mapeamento de Classes para Tabelas Relacionais UML - Teoria e Alternativas

Introdução à Lógica e Programação

UNIA

Programa de Controle para Braço Mecanico com Seletor de Motor e Fins de Curso

2

Programa de Controle para Braço Mecanico com Seletor de Motor e Fins de Curso

Introdução à Lógica e Programação

UNIA

Texto de pré-visualização

ALGORÍTMOS E LÓGICA DE PROGRAMAÇÃO Roteiro Aula Prática 2 ROTEIRO DE AULA PRÁTICA NOME DA DISCIPLINA ALGORITMOS E LÓGICA DE PROGRAMAÇÃO Unidade 4 APLICAÇÕES DE PROGRAMAÇÃO Aula 4 Registros e arquivos OBJETIVOS 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 SOLUÇÃO DIGITAL Visual Studio Code VS Code LINK SOLUÇÃO DIGITAL httpscodevisualstudiocomdownload O VS Code é um editor de códigofonte desenvolvido pela Microsoft para Windows Linux e macOS Conta com a instalação de extensões para programação em diversas linguagens de programação Tipo de licença Códigofonte Licença MIT Binários Freeware Computador com acesso à internet e com o mínimo de 4 GB de Memória RAM Instalação do Visual Studio Code extensões o CC for Visual Studio Code o CC Compile Run extension PROCEDIMENTOATIVIDADE 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 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 3 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 PROCEDIMENTOS PARA A REALIZAÇÃO DA ATIVIDADE Faça uma análise detalhada de todas as ações que o programa deve executar bem como as estruturas algorítmicas necessárias para o desenvolvimento do código Aplique os fundamentos da lógica de programação e algoritmos na criação de uma solução para o cenário apresentado utilizando a Linguagem de Programação C tendo como apoio o editor de código VS Code A seguir os procedimentos que devem ser realizados 1 Passo 1 Definição das estruturas de dados a Criar a estruturaStruct Aluno com os campos necessários nome médias das disciplinas média geral classificação Você pode optar pelo nome da Struct ser Aluno ou outro nome qualquer desde que você respeite as regras para nomenclatura de variáveis evitando acentuação sem utilização de espaços em branco não podendo utilizar palavras reservadas à linguagem exemplo void e não começar com caractere numérico Aqui optei pelo nome Aluno 2 Passo 2 Implementação das funções de cálculo a Implementar uma função para calcular a média geral de um aluno com base nas médias das disciplinas Um exemplo da função para calcular a média de um aluno Passase por parâmetro as médias das disciplinas e depois retorna o cálculo da média 4 b Implementar uma função de comparação para ser utilizada na ordenação da turma Essa função compararMedias é chamada dentro de outra função que salva o arquivo txt que tem o objetivo de ordenar o aluno dentro do arquivo de acordo com sua classificação por nota Exemplo 3 Passo 3 Entrada de dados a Pedir ao usuário que informe quantos alunos serão registrados Isso é feito dentro da função main Uma sugestão de como resolver está logo a seguir b Usar um loop para solicitar o nome médias das disciplinas 1 e 2 de cada aluno e armazenar esses dados na estrutura Aluno Dentro de um laço qualquer na linguagem de programação C solicite do usuário esses dados 4 Passo 4 Cálculo das médias e classificação a Calcular a média geral de cada aluno utilizando uma função A função que faz esse cálculo é a calcularMediaGeral já exibida no item 2 b Ordenar a turma em ordem decrescente de acordo com as médias dos alunos Você deve comparar as médias gerais de cada aluno e colocar a classificação de cada um dentro do arquivo txt ao lado dos dados do aluno c Atribuir as classificações aos alunos com base na ordem da turma Inserir dentro do arquivo um campo para a classificação do aluno Utilizar o campo classificação da Struct 5 5 Passo 5 Saída de dados a Para cada aluno escrever no arquivo seu nome médias das disciplinas média geral e classificação b Calcular e escrever no arquivo a média geral da turma Uma sugestão para a saída do arquivo texto logo a seguir 6 Passo 6 Finalização a Fechar o arquivo Utilizar a classe FILE da linguagem C para manipular dados no arquivo 7 Execução do Programa Apresentar o programa demonstrando o seu funcionamento Exemplo do programa sendo executado Na sequência o arquivo txt gerado pelo programa 6 Munido de todas essas informações coloque suas habilidades de programação em prática e crie um programa que atenda a todos os requisitos solicitados pela sua instituição de ensino CHECKLIST Analisar o cenário para criação do códigofonte do programa Instalar o VS Code em seu dispositivo Baixe a IDE escolhendo o sistema operacional por meio do link httpscodevisualstudiocomdownload Desenvolver o algoritmo na Linguagem de Programação C Considerar todos os critérios solicitados para construção do algoritmo Executar testes e possíveis correções Apresentar o programa e verificar seu correto funcionamento RESULTADOS O estudante deve entregar um arquivo em PDF contendo toda a codificação do exercício documentada ou seja para cada trecho do códigofonte o estudante deve anexar um texto explicando o que acontece quando o trecho do código é executado O arquivo deverá conter Capa Folha de rosto com os dados da disciplina e do aluno Codificação completa dos exercícios Referências bibliográficas quando houver 7 RESULTADOS DE APRENDIZAGEM O objetivo da atividade é aplicar conceitos das estruturas de seleção laços de repetições funções Structs e arquivos para coletar os dados realizar os cálculos e fazer a classificação dos alunos Diante do cenário apresentado ser capaz de aplicar os conceitos de lógica de programação desenvolvendo o raciocínio lógico de forma prática em um contexto do mundo real SISTEMA DE CLASSIFICAÇÃO DE ALUNOS Algoritmos e Lógica de Programação Disciplina Algoritmos e Lógica de Programação Professor Aluno Data 28 de Agosto de 2025 INTRODUÇÃO Este documento apresenta a implementação de um sistema de classificação de alunos desenvolvido em linguagem C utilizando os conceitos de estruturas de dados structs e manipulação de arquivos O programa foi desenvolvido como atividade prática da disciplina de Algoritmos e Lógica de Programação OBJETIVOS Cadastrar alunos com suas respectivas médias de duas disciplinas Calcular a média geral de cada aluno Classificar os alunos em ordem decrescente de média Armazenar todos os dados em arquivo de texto Calcular e exibir a média geral da turma ESTRUTURAS DE DADOS Definição da Estrutura Aluno typedef struct char nomeMAXNOME float mediadisciplina1 float mediadisciplina2 float mediageral int classificacao Aluno Explicação Esta estrutura define o tipo de dado Aluno que contém nomeMAXNOME Array de caracteres para armazenar o nome do aluno máximo 100 caracteres mediadisciplina1 Variável float para a média da primeira disciplina mediadisciplina2 Variável float para a média da segunda disciplina mediageral Variável float que armazenará a média entre as duas disciplinas classificacao Variável inteira indicando a posição do aluno no ranking da turma Constantes Utilizadas define MAXNOME 100 define MAXALUNOS 50 Explicação MAXNOME 100 Define o tamanho máximo permitido para o nome de um aluno MAXALUNOS 50 Define o número máximo de alunos que podem ser cadastrados no sistema ANÁLISE DO CÓDIGO 1 Função Principal main int main Aluno alunosMAXALUNOS int numalunos printf SISTEMA DE CLASSIFICACAO DE ALUNOS Entrada de dados printfQuantos alunos deseja registrar maximo d MAXALUNOS scanfd numalunos Explicação Declara um array de estruturas Aluno com capacidade para MAXALUNOS elementos Declara a variável numalunos para armazenar a quantidade de alunos Exibe o título do sistema Solicita a quantidade de alunos a serem registrados if numalunos 0 numalunos MAXALUNOS printfNumero invalido de alunos return 1 Explicação Validação de entrada que verifica se o número informado está dentro dos limites permitidos maior que 0 e menor ou igual a MAXALUNOS Se inválido o programa encerra Loop para cadastro dos alunos for int i 0 i numalunos i printf Aluno d i 1 printfNome scanf alunosinome printfMedia Disciplina 1 scanff alunosimediadisciplina1 printfMedia Disciplina 2 scanff alunosimediadisciplina2 Calcula a média geral alunosimediageral calcularMediaGeralalunosimediadisciplina1 alunosimediadisciplina2 Explicação Loop for para cadastrar cada aluno scanf lê o nome completo com espaços Lê as médias das duas disciplinas e calcula a média geral com calcularMediaGeral Ordena os alunos por média decrescente ordenarAlunosalunos numalunos Atribui classificações for int i 0 i numalunos i alunosiclassificacao i 1 Salva no arquivo salvarArquivoalunos numalunos printf Dados salvos no arquivo notasalunostxt return 0 Explicação Chama ordenarAlunos para organizar em ordem decrescente de média Atribui a classificação posição no ranking após a ordenação Chama salvarArquivo para gravar os dados no arquivo de texto 2 Função de Cálculo da Média float calcularMediaGeralfloat mediadisciplina1 float mediadisciplina2 return mediadisciplina1 mediadisciplina2 2 Explicação Função simples que recebe as duas médias como parâmetros e retorna a média aritmética entre elas 3 Função de Comparação para Ordenação int compararMediasconst void a const void b const Aluno alunoA const Aluno a const Aluno alunoB const Aluno b if alunoAmediageral alunoBmediageral return 1 A vem antes de B ordem decrescente else if alunoAmediageral alunoBmediageral return 1 B vem antes de A else return 0 Médias iguais Explicação Função de comparação utilizada por qsort Compara as médias gerais de dois alunos para produzir ordem decrescente 4 Função de Ordenação void ordenarAlunosAluno alunos int numalunos qsortalunos numalunos sizeofAluno compararMedias Explicação Usa qsort para ordenar o array de alunos inplace 5 Função de Salvamento em Arquivo void salvarArquivoAluno alunos int numalunos FILE arquivo fopennotasalunostxt w if arquivo NULL printfErro ao criar o arquivo return Explicação Abre o arquivo notasalunostxt em modo de escrita e checa erro de abertura float somageral 0 for int i 0 i numalunos i fprintfarquivo Nome s alunosinome fprintfarquivo Media Disciplina 1 2f alunosimediadisciplina1 fprintfarquivo Media Disciplina 2 2f alunosimediadisciplina2 fprintfarquivo Media Geral 2f alunosimediageral fprintfarquivo Ordem d alunosiclassificacao fprintfarquivo somageral alunosimediageral Explicação Percorre os alunos escreve os dados formatados e acumula as médias para cálculo da média da turma float mediaturma somageral numalunos fprintfarquivo Media geral da turma 2f mediaturma fclosearquivo Explicação Calcula e escreve a média geral da turma e fecha o arquivo EXECUÇÃO E RESULTADOS Exemplo de Execução Arquivo de Saída Gerado Estruturas de Controle Estruturas condicionais ifelse para validação de entrada Estruturas de repetição for para loops de cadastro e processamento Estruturas de dados struct para organizar os dados do aluno Arrays para armazenamento de múltiplos alunos REFERÊNCIAS BIBLIOGRÁFICAS 1 KERNIGHAN Brian W RITCHIE Dennis M C A Linguagem de Programação Padrão ANSI Rio de Janeiro Campus 1989 2 DEITEL Harvey M DEITEL Paul J C Como Programar 6 ed São Paulo Pearson Prentice Hall 2011 3 SCHILDT Herbert C Completo e Total 3 ed São Paulo Makron Books 1997 4 ASCENCIO Ana F G CAMPOS E A V Fundamentos da Programação de Computadores Algoritmos Pascal CC e Java 3 ed São Paulo Pearson Prentice Hall 2012 5 FORBELLONE André L V EBERSPÄCHER Henri F Lógica de Programação A Construção de Algoritmos e Estruturas de Dados 3 ed São Paulo Pearson Prentice Hall 2005 6 Documentação Oficial da Linguagem C ISOIEC 98992018 Disponível em httpswwwisoorgstandard74528html

Sua Nova Sala de Aula

Sua Nova Sala de Aula

Empresa

Central de ajuda Contato Blog

Legal

Termos de uso Política de privacidade Política de cookies Código de honra

Baixe o app

4,8
(35.000 avaliações)
© 2025 Meu Guru®