Utilizando ESTRUTURA DE DADOS (REGISTRO) - abordagem simples e rápida
Publicado por Thiago 31/01/2006
[ Hits: 11.987 ]
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);
}
Arquivo introdutório para chamadas de funções
IA Turbina o Desktop Linux enquanto distros renovam forças
Como extrair chaves TOTP 2FA a partir de QRCODE (Google Authenticator)
Linux em 2025: Segurança prática para o usuário
Desktop Linux em alta: novos apps, distros e privacidade marcam o sábado
IA chega ao desktop e impulsiona produtividade no mundo Linux
Atualizando o Fedora 42 para 43
Como saber se o seu e-mail já teve a senha vazada?
Como descobrir se a sua senha já foi vazada na internet?
E aí? O Warsaw já está funcionando no Debian 13? (12)
copiar library para diretorio /usr/share/..... su com Falha na a... (1)
Problema em SSD ao dar boot LinuxMint LMDE FAYE 64 (3)









