Exemplos Tipos Estruturados

Exemplo Nível 1

#include <stdio.h>
#include <stdlib.h>
 
typedef struct aluno{
        char nome[30];
        int matricula;
        int periodo;
}aluno;
 
void cadastrar_aluno(aluno a, aluno *turma);
 
void imprimir_aluno(aluno a);
 
void imprimir_turma(aluno *a);
 
int tam = 0;
 
int main(){
    aluno a = {"Aquiles", 200923414, 5};
    aluno turma1[30];//alunos da turma 1
    cadastrar_aluno (a, turma1);
    imprimir_turma (turma1);
    system("PAUSE");
    return 0;
}
 
void imprimir_turma(aluno *t){
     int i;
     for (i = 0 ; i < tam ; i++){
         printf("aluno %d:\n", i);
         imprimir_aluno(t[i]);
     }
}
 
void imprimir_aluno(aluno a){
     printf("%s\n", a.nome);
     printf("%d\n", a.matricula);
     printf("%d\n", a.periodo);     
}
 
void cadastrar_aluno(aluno a, aluno *turma){
     turma[tam] = a;
     tam++;
}

Exemplos Nível 2

#include <stdio.h>
#include <stdlib.h>
 
typedef struct aluno{
        char nome[30];
        int matricula;
        int periodo;
}aluno;
 
typedef struct turma{
        int tamanho;
        aluno alunos[30];
}turma;
 
void cadastrar_aluno(aluno a,turma *t);
 
void imprimir_aluno(aluno a);
 
void imprimir_turma(turma t);
 
int tam = 0;
 
int main(){
    aluno a = {"Aquiles", 200923414, 5};
    turma turma1;//alunos da turma 1
    turma1.tamanho = 0;
    cadastrar_aluno (a, &turma1);
    imprimir_turma (turma1);
    system("PAUSE");
    return 0;
}
 
void imprimir_turma(turma t){
     int i;
     for (i = 0 ; i < t.tamanho ; i++){
         printf("aluno %d:\n", i);
         imprimir_aluno(t.alunos[i]);
     }
}
 
void imprimir_aluno(aluno a){
     printf("%s\n", a.nome);
     printf("%d\n", a.matricula);
     printf("%d\n", a.periodo);     
}
 
void cadastrar_aluno(aluno a, turma *t){
     t->alunos[t->tamanho] = a;
     t->tamanho++;
}
Unless otherwise stated, the content of this page is licensed under Creative Commons Attribution-Share Alike 2.5 License.