Utilizando ESTRUTURA DE DADOS (REGISTRO) - abordagem simples e rápida
Publicado por Thiago 31/01/2006
[ Hits: 11.649 ]
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); }
Atenção a quem posta conteúdo de dicas, scripts e tal (1)
Manutenção de sistemas Linux Debian e derivados com apt-get, apt, aptitude e dpkg
Melhorando o tempo de boot do Fedora e outras distribuições
Como instalar as extensões Dash To Dock e Hide Top Bar no Gnome 45/46
Como Atualizar Fedora 39 para 40
Instalar Google Chrome no Debian e derivados
Consertando o erro do Sushi e Wayland no Opensuse Leap 15
Instalar a última versão do PostgreSQL no Lunix mantendo atualizado
Flathub na sua distribuição Linux e comandos básicos de gerenciamento
Impressora Canon Ip 1800 (Drivers) 64 bit (1)
Erro ao converter string para inteiro (6)
Diferença entre formas de instalar o Samba [RESOLVIDO] (4)
Dongle Bluetooth 5.0 não funciona no Pop Os 22.04 (0)
Como adicionar módulo de saúde da bateria dos notebooks Acer ao kernel... (24)
[Shell Script] Script para desinstalar pacotes desnecessários no OpenSuse
[Shell Script] Script para criar certificados de forma automatizada no OpenVpn
[Shell Script] Conversor de vídeo com opção de legenda
[C/C++] BRT - Bulk Renaming Tool
[Shell Script] Criação de Usuarios , Grupo e instalação do servidor de arquivos samba