Utilizando ESTRUTURA DE DADOS (REGISTRO) - abordagem simples e rápida
Publicado por Thiago 31/01/2006
[ Hits: 12.064 ]
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);
}
Minha primeira biblioteca em C
Parte 4 - Sessão de estudo sobre VETORES
Utilizando arrays, funções e arquivos de texto
A Fundação da Confiança Digital: A Importância Estratégica de uma PKI CA na Segurança de Dados
Como enviar dicas ou artigos para o Viva o Linux
Como Ativar a Aceleração por GPU (ROCm) no Ollama para AMD Navi 10 (RX 5700 XT / 5600) no Gentoo
Configuração de IP fixo via nmcli e resolução de nomes via /etc/hosts no Gentoo
Removendo o bloqueio por erros de senha no Gentoo (systemd)
Papel de Parede Animado no KDE Plasma 6 (Com dicas para Gentoo)
Homebrew: o gerenciador de pacotes que faltava para o Linux!
Removendo a trava de versão do Project Brutality para GZDoom/UZDoom









