Utilizando ESTRUTURA DE DADOS (REGISTRO) - abordagem simples e rápida
Publicado por Thiago 31/01/2006
[ Hits: 11.882 ]
Neste fonte implemento o conceito de registro (variável composta heterogênea) muito utilizado em algoritmos. Na linguagem C um registro é conhecido por estrutura.
Diferentemente das variáveis compostas homogêneas (vetores e matrizes) que só podem guardar um tipo de dado, as estruturas de dados guardam tipos de dados variados.
/* Programa: ALUNO.C Autor: thiagoamm Data: 31/01/06 */ #include <stdio.h> int main(void) { struct cad_alu { char nome[41]; float nota[4]; }; struct cad_alu aluno[4]; int i,j; float media; char resp; puts("\n"); /* Lendo alunos */ for (i = 0; i <= 3; i++) { printf("\nInforme o nome do %do. aluno: ",i + 1); fflush(stdin); fgets(aluno[i].nome,41,stdin); /* Lendo notas do aluno */ for (j = 0; j <= 3; j++) { printf("Nota (nr%d). do aluno: ",j + 1); fflush(stdin); scanf("%f",&aluno[i].nota[j]); while (aluno[i].nota[j] < 0 || aluno[i].nota[j] > 100) { printf("Nota (nr%d). do aluno: ",j + 1); fflush(stdin); scanf("%f",&aluno[i].nota[j]); } } } /* Escrevendo alunos */ for (i = 0; i <= 3; i++) { printf("\nAluno nr.%d ..: %s",i + 1,aluno[i].nome); /* Escrevendo notas do aluno */ for (j = 0; j <= 3; j++) printf("nota nr.%d ...: %6.2f\n",j + 1,aluno[i].nota[j]); } printf("\nDeseja verificar quais alunos foram aprovados? "); fflush(stdin); resp = getchar(); if (resp == 's' || resp == 'S') { for (i = 0; i <= 3; i++) { media = 0; for (j = 0; j <= 3; j++) { media += aluno[i].nota[j]; } media = media / 4; if (media >= 50) printf("\n--> Aluno nr%d. aprovado com media = %6.2f",i + 1,media); } puts("\n"); } return(0); }
Parte 5 - Sessão de estudo sobre VETORES
Calcula diferença entre o maior e menos número digitado
Aprenda a Gerenciar Permissões de Arquivos no Linux
Como transformar um áudio em vídeo com efeito de forma de onda (wave form)
Como aprovar Pull Requests em seu repositório Github via linha de comando
Aplicativo simples para gravar tela
Quebra de linha na data e hora no Linux Mint
Firefox não abre em usuário não administradores (0)
Sempre que vou baixar algum pacote acontece o erro dpkg (8)
tentando instalar em um notebook antigo o Linux LegacyOS_2023... [RESO... (8)
Problema com Conexão Outlook via Firewall (OpenSUSE) com Internet Fibr... (5)