Utilizando ESTRUTURA DE DADOS (REGISTRO) - abordagem simples e rápida
Publicado por Thiago 31/01/2006
[ Hits: 11.880 ]
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); }
Resolução de uma fórmula de mátemática
Pilha, algoritmos push, pop e imprimir explicados
Como aprovar Pull Requests em seu repositório Github via linha de comando
Como gerar um podcast a partir de um livro em PDF
Automatizando digitação de códigos 2FA no browser
Resolver problemas de Internet
Como compartilhar a tela do Ubuntu com uma Smart TV (LG, Samsung, etc.)
Organizando seus PDF com o Zotero
Erro no realm join [Resolvido]
Um programa para baixar vídeos: Parabolic
Como Definir o Painel Principal em Múltiplos Monitores no Linux Mint
Como propositadame... colocar bordas pretas na tela? (1)
Driver de rede realtek 8821ce bugado (2)
Atalhos duplicados (sobras de instalações anteriores) (3)
Como fazer para mudar a frequência da GPU ou pelo menos da CPU no term... (7)