Você está na página 1de 2

Registro

Os registros permitem que dentro de um único espaço seja possível guardar variavéis de vários
tipos diferentes (int, float, char), seria como criar uma tabela em um banco de dados.

Imagine por exemplo que você possui um registro com o nome "Boletim de Notas" dentro deste
registro você pode guardar várias variavéis, como: nome, nota, idade, média e etc.

Sintaxe de um registro:

typedef struct {declaração das variáveis;} nome do tipo;

Primeiro você declara as variáveis, depois você da um nome ao registro, após isso você irá
atribuir o nome do seu registro a uma variável.

typedef struct {
int matricula;
float media;
char nome[20];} tipo_aluno

tipo_aluno aluno;

Para usar o registro você deve informar a variável que atribuiu o registro . a variável dentro do
registro. (nome do registro.campo)

aluno.matricula 12345;
scanf("%f", &aluno.media);
gets(aluno.nome);

Você pode também criar um vetor de registro, basta definir quantos campos o registro terá.

typedef struct {
int matricula;
float media;
char nome[20];} tipo_aluno

tipo_aluno aluno[50];

Para inserir um valor no registro em uma posição especifica você só precisa especificar a posição.

aluno[2].media = 7.5
alunos[3].matricula = 12345

Exemplo de código, sistema de Matrículas:

#include <stdio.h>
#include <stdlib.h>
#include <conio.h>
main(){
typedef struct { int mat, serie, irmao;
  char nome[20];
  float mens;
} Tipo_Aluno;
Tipo_Aluno aluno[20];
  int qa, i, resp;
qa =0;

do{
system("cls");
printf("Colegio Legal\n");
printf("\n\nCadastro de Alunos\n\n");
printf("\nMatricula.: ");
scanf("%d",&aluno[qa].mat);
printf("\nNome......: ");
fflush(stdin);
gets(aluno[qa].nome);
printf("\nSerie(1-4): ");
scanf("%d",&aluno[qa].serie);
printf("\nIrmao na escola(1-sim/0-nao):");
scanf("%d",&aluno[qa].irmao);
switch(aluno[qa].serie){
case 1: aluno[qa].mens = 110; break;
case 2: aluno[qa].mens = 130; break;
case 3: aluno[qa].mens = 160; break;
case 4: aluno[qa].mens = 170; break;
}

if (aluno[qa].irmao == 1)
aluno[qa].mens = aluno[qa].mens*0.8;
qa++;
printf("\n\nDeseja cadastrar outro aluno(1-sim/0-nao)? ");
scanf("%d",&resp);

}while ((resp == 1) && (qa <=20));


system("cls");
printf("Colegio Legal\n");
printf("\n\nRelatorio Geral\n");
printf("\n________________________________");
printf("\nMatricula   Nome                   Serie   Irmao   Mensalidade");
printf("\n________________________________");

for(i = 0; i < qa; i++)


printf("\n%9d   %-20s   %5d   %5d   %11.2f",aluno[i].mat, aluno[i].nome,
aluno[i].serie,aluno[i].irmao, aluno[i].mens);
printf("\n_______________________________");

printf("\nTecle enter para sair...");


getche();

Você também pode gostar