Вы находитесь на странице: 1из 6

Envio de matriz para função,

estruturas e cabeçalhos
Rafael Burlamaqui
Estruturas (struct)

• “structs” são Estruturas de Dados Heterogêneas

• Uma estrutura agrupa várias variáveis numa só.

• Funciona como uma espécie de “ficha”. Uma ficha


armazena diversos dados relacionados, porém de tipos
diferente.

• A estrutura, então, serve para agrupar um conjunto de


dados não similares, formando um novo tipo de dados.
Estruturas (struct)

Declaração:
typedef struct {
tipo_campo1 nome_campo1;
tipo_campo2 nome_campo2;
...
} nome_do_tipo_da_estrutura;

Onde:
tipo_campo1, tipo_campo2 : são tipos de dados em C.
Por exemplo: char, int, float, double e char[].
Exemplo de Estruturas (struct)
#include <stdio.h>
#include <stdlib.h>

typedef struct { //definindo a estrutura


int matricula;
float notas[2];
int idade;
} ficha_cadastral;

int main(int argc, char *argv[]) {


int i;
ficha_cadastral aluno1, aluno2; //Declarando 2 variáveis

aluno1.matricula = 992042;
aluno1.notas[0] = 8.5;
aluno1.notas[1] = 7.0;
aluno1.idade = 21;

aluno2.matricula = 234432;
aluno2.notas[0] = 5.0;
aluno2.notas[1] = 10.0;
aluno2.idade = 22;

printf("Notas do aluno 2:\n");


for(i=0; i<2; i++){
printf("Nota %d: %.2f\n", i+1, aluno2.notas[i]);
}
return 0;
}
Exemplo de vetor de Estruturas (struct)
#include <stdio.h>
#include <stdlib.h>
typedef struct { //definindo a estrutura
int cpf;
float idade;
} tipo_ficha_cadastral;
int main() {
int i, encontrou=0;
tipo_ficha_cadastral vet_pessoa[3];
for(i=0; i<3; i++){
printf("Digite o CPF:\n");
scanf("%d", &vet_pessoa[i].cpf);
printf("Digite o idade:\n");
scanf("%f", &vet_pessoa[i].idade);
}
printf("\nPessoas cadastradas:\n");
for(i=0; i<3; i++){
printf("CPF:%d\n", vet_pessoa[i].cpf);
printf("Idade:%.1f\n", vet_pessoa[i].idade);
}
printf("\nSão maiores de idade:\n");
for(i=0; i<3; i++){
if (vet_pessoa[i].idade>=18){
printf("%d\n", vet_pessoa[i].cpf);
encontrou=1;
}
}
if(encontrou==0){
printf("As pessoas cadastradas não são maiores de idade");
}
}
typedef struct {
Exercícios int matricula;
float notas[2];
int idade;
} ficha_cadastral;
1) Crie um programa que ficha_cadastral aluno1, aluno2;
contenha: aluno1.matricula = 992042;
a) Estrutura ponto, com os aluno1.notas[0] = 8.5;
atributos x e y. aluno1.idade = 21;

b) Leia a posição de dois pontos e calcule a distância


entre esses dois pontos.
2) Crie um programa que permita ao usuário digitar os
dados de 3 alunos, (idade e matricula). Em seguida, o
usuário deve digitar uma idade, e o programa irá
imprimir as matriculas e idades dos alunos com idade
menor que a digitada; (obs: crie um vetor de struct).

3) Crie uma matriz 3 x 3 de uma estrutura que armazene


(a matricula e 2 notas de alunos). Imprima essa matriz
apenas com a matricula dos alunos. Depois, imprima
a matriz com a média das notas dos alunos.

Вам также может понравиться