Utilizando ESTRUTURA DE DADOS (REGISTRO) - abordagem simples e rápida
Publicado por Thiago 31/01/2006
[ Hits: 11.834 ]
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); }
Texto colorido em C para Linux
Instalar e Configurar o Slackware Linux em 2025
Como configurar os repositórios do apt no Debian 12 em 2025
Passkeys: A Evolução da Autenticação Digital
Instalação de distro Linux em computadores, netbooks, etc, em rede com o Clonezilla
Como colorir os logs do terminal com ccze
Instalação Microsoft Edge no Linux Mint 22
Como configurar posicionamento e movimento de janelas no Lubuntu (Openbox) com atalhos de teclado
Máquinas Virtuais com IP estático acessando Internet no Virtualbox
Meus HDs não aparecem mais no boot da placa mãe (23)
Criar entrada no GRUB para uma ISO Linux (4)
Instalação do Ubuntu 22.04 LTS (8)
Problema em instalar o PySide6 no Ubuntu 24.04 [RESOLVIDO] (3)