giiff / livro_algoritmos_e_estruturas_de_dados

Livro Algoritmos e Estruturas de Dados para Tecnólogos
Creative Commons Attribution Share Alike 4.0 International
13 stars 0 forks source link

Exe04 - Entrega Exercício Structs #7

Closed waldeyr closed 5 years ago

waldeyr commented 5 years ago

Compor structs para:

Conforme mostrado em aula e testar com pelo menos 2 instâncias.

4ven commented 5 years ago
// strcut 2

#include <stdio.h>
#include <stdlib.h>
#define TAM 100

typedef struct
{
    char cpf[TAM];
    char nome[TAM];
    char dataNascimento[TAM];   
} Pessoa;

typedef struct
{
    char matricula[TAM];
    Pessoa pessoa;
} Aluno;

typedef struct
{
    char nome[TAM];
} Disciplina;

typedef struct
{
    Disciplina disciplina;
    Aluno aluno;
    float nota;
} Nota;

void setPessoa(Pessoa* p, char nome[], char cpf[], char dNascimento[])
{
    for(int i = 0; i < TAM; i++)
        p->nome[i] = nome[i];

    for(int i = 0; i < TAM; i++)
        p->cpf[i] = cpf[i];

    for(int i = 0; i < TAM; i++)
        p->dataNascimento[i] = dNascimento[i];
}

void setAluno(Aluno* a, char matricula[], Pessoa p)
{
    for(int i = 0; i < TAM; i++)
        a->matricula[i] = matricula[i];

    a->pessoa = p;
}

void setDisciplina(Disciplina* d, char nome[])
{
    for(int i = 0; i < TAM; i++)
        d->nome[i] = nome[i];
}

void setNota(Nota* n, Disciplina d, Aluno a, float nota)
{
    n->disciplina = d;
    n->aluno = a;
    n->nota = nota;
}

void mostrarNota(Nota n)
{
    printf("Cpf: %s \n", n.aluno.pessoa.cpf);
    printf("Nome: %s \n", n.aluno.pessoa.nome);
    printf("Data de Nascimento: %s \n", n.aluno.pessoa.dataNascimento);
    printf("Matricula: %s \n", n.aluno.matricula);
    printf("Disciplina: %s \n", n.disciplina.nome);
    printf("Nota: %f \n", n.nota);
}

void main() {

    Pessoa p;
    Aluno a;
    Disciplina d;
    Nota n;

    setPessoa(&p, "Samuel Sergio",  "703874515", "31-10-1997");
    setAluno(&a, "20190705451", p);
    setDisciplina(&d, "Estrutura de dados");
    setNota(&n, d, a, 7.5);

    mostrarNota(n);
}
arthurjf commented 5 years ago

Aluno: Arthur José Fernandes

#include <stdio.h>
#define TAM 35
#define TAM_CPF 17

typedef struct {
    char cpf[TAM];
    char nome[TAM];
    char dataNascimento[TAM];
} Pessoa;

typedef struct {
    char matricula[TAM];
    Pessoa pessoa;
} Aluno;

typedef struct {
    char nome[TAM];
} Disciplina;

typedef struct {
    Aluno aluno;
    Disciplina disciplina;
    float nota;
} Nota;

void setPessoa(Pessoa *pessoa, char novoCPF[], char novoNome[], char novaDataNascimento[]) {
    for (int i = 0; i < TAM_CPF; i++)
        pessoa->cpf[i] = novoCPF[i];
    for (int i = 0; i < TAM; i++)
        pessoa->nome[i] = novoNome[i];
    for (int i = 0; i < TAM; i++)
        pessoa->dataNascimento[i] = novaDataNascimento[i];
}

void setAluno(Aluno *aluno, Pessoa *novaPessoa, char novaMatricula[]) {
    for (int i = 0; i < TAM; i++)
        aluno->matricula[i] = novaMatricula[i];
    aluno->pessoa = (*novaPessoa);
}

void setDisciplina(Disciplina *disciplina, char nome[]) {
    for (int i = 0; i < TAM; i++)
        disciplina->nome[i] = nome[i];
}

void setNota(Nota *nota, Aluno *aluno, Disciplina *disciplina, float novaNota) {
    nota->aluno = *aluno;
    nota->disciplina = *disciplina;
    nota->nota = novaNota;
}

void mostrarNota(Nota *nota) {
    printf("\n---------- ----------\n Nome: %s\n", nota->aluno.pessoa.nome);
    printf(" CPF: %s\n", nota->aluno.pessoa.cpf);
    printf(" Data de nascimento: %s\n", nota->aluno.pessoa.dataNascimento);
    printf(" Disciplina: %s\n", nota->disciplina.nome);
    printf(" Matrícula: %s\n", nota->aluno.matricula);
    printf(" Nota: %'.1f\n---------- ----------\n\n", nota->nota);
}

void main() {

    Disciplina portugues;
    setDisciplina(&portugues, "Português");

    Disciplina matematica;
    setDisciplina(&matematica, "Matemática");

    Pessoa novaPessoa;
    setPessoa(&novaPessoa, "123.456.789-11", "Zezinho Pereira", "03-05-1998");

    Aluno novoAluno;
    setAluno(&novoAluno, &novaPessoa, "20195020320512");

    Nota notaPortugues;
    setNota(&notaPortugues, &novoAluno, &portugues, 8.9);

    Nota notaMatematica;
    setNota(&notaMatematica, &novoAluno, &matematica, 6.3);

    int escolha = 0;

    printf("\n~Qual disciplina deseja consultar?\n(1) Português\n(2) Matemática\n(0) Cancelar\n-> ");
    scanf("%d", &escolha);

    switch (escolha) {
        case 1:
            mostrarNota(&notaPortugues);
            break;
        case 2:
            mostrarNota(&notaMatematica);
            break;
    }

}
Samuel-Amaro commented 5 years ago
//Aluno: Samuel Amaro Do  Nascimento

#include <stdio.h>
#include <string.h>
#define TAMANHO_CPF 15
#define TAMANHO_NOME 30
#define TAMANHO_DATA 10
#define TAMANHO_DISCI 35
#include <locale.h>
//definindo primeira estrutura
typedef struct {
  char cpf[TAMANHO_CPF];
  char nome[TAMANHO_NOME];
  char dataNascimento[TAMANHO_DATA];
}Pessoa;
//metodo para adicionar  dados na estrutura Pessoa
void setPessoa(Pessoa *pessoa,char cpf[],char nome[],char dataNascimento[]);
void setPessoa(Pessoa *pessoa,char cpf[],char nome[],char dataNascimento[])
{
  for(int i = 0; i < TAMANHO_CPF; i += 1)
      pessoa->cpf[i] = cpf[i];
 for(int j = 0; j < TAMANHO_NOME; j += 1)
      pessoa->nome[j] = nome[j];
 for(int k = 0; k < TAMANHO_DATA; k += 1)
      pessoa->dataNascimento[k] = dataNascimento[k];
}
//metodo imprime pessoa
void getPessoa(Pessoa p);
void getPessoa(Pessoa p)
{
  printf("               #DADOS DE PESSOA#                 \n");
  printf("---------------------------------------\n");
  printf("Nome: %s\n",p.nome);
  printf("CPF: %s\n",p.cpf);
  printf("Data Nascimento: %s\n",p.dataNascimento);
  printf("---------------------------------------\n");
}

//estrutura de aluno
typedef struct{
  long matricula;
  Pessoa pessoa;
}Aluno;

//metodo inserir dados em aluno
void setAluno(Aluno *aluno,long matricula,Pessoa p);
void setAluno(Aluno *aluno,long matricula,Pessoa p) {
  aluno->matricula = matricula;
  aluno->pessoa = p;
}
//metodo pegar dados de aluno
void getAluno(Aluno aluno);
void getAluno(Aluno aluno)
{
  printf("          #INFORMAÇÕES DO ALUNO#      \n");
  printf("---------------------------------------\n");
  printf("Matricula: %d\n",aluno.matricula);
  printf("Nome: %s\n",aluno.pessoa.nome);
  printf("CPF: %s\n",aluno.pessoa.cpf);
  printf("Data Nascimento: %s\n",aluno.pessoa.dataNascimento);
  printf("---------------------------------------\n");
}

//definindo estrutura de disciplina
typedef struct{
  char nomeDisciplina[TAMANHO_DISCI];
}Disciplina;

//metodo de adicionar dados em disiciplina
void setDisciplina(Disciplina *dis,char disciplina[]);
void setDisciplina(Disciplina *dis,char disciplina[])
{
  for(int i = 0; i < TAMANHO_DISCI; i += 1)
       dis->nomeDisciplina[i] = disciplina[i];
}

//metodo de pegar da estrutura Di
void getDisciplina(Disciplina d);
void getDisciplina(Disciplina d)
{
  printf("         #Dados Disciplina#  \n");
  printf("---------------------------------------\n");
  printf("Disciplina Atual: %s\n",d.nomeDisciplina);
  printf("---------------------------------------\n");
}

//definindo estrutura do tipo Nota
typedef struct{
 Disciplina disciplina;
 Aluno aluno;
 double notaSemestre;
}Nota;

//metodo de atribuir dados a estrutura
void setNota(Nota *nota,double notaSemestre,Disciplina disciplina,Aluno aluno);
void setNota(Nota *nota,double nota_2,Disciplina disciplina,Aluno aluno)
{
  nota->notaSemestre = nota_2;
  nota->disciplina = disciplina;
  nota->aluno = aluno;
}

//metodo de impressão
void getNota(Nota nota);
void getNota(Nota nota)
{
  printf("                 #Informações#              \n");
  printf("---------------------------------------------\n");
  printf("Nome: %s\n",nota.aluno.pessoa.nome);
  printf("Cpf: %s\n",nota.aluno.pessoa.cpf);
  printf("Data Nascimento: %s\n",nota.aluno.pessoa.dataNascimento);
  printf("Matricula: %d\n",nota.aluno.matricula);
  printf("Nota: %.2f\n",nota.notaSemestre);
  printf("Disciplina: %s\n",nota.disciplina.nomeDisciplina);
  printf("---------------------------------------------\n");
}

void main(void)
{

  setlocale(LC_ALL,"Portuguese"); //para imprimir todo tipo de caracter
  //criando uma variavel do tipo pessoa
  Pessoa p1;
  //ATRIBUINDO DADOS A UMA PESSOA
  char nome[TAMANHO_NOME] = " Samuel Amaro ";
  char cpf[TAMANHO_CPF] ="00.321.645-90";
  char dataNascimento[TAMANHO_DATA] ="02/07/1901";
  //PASSANDO ESSES DADOS PELO METODO
  setPessoa(&p1,cpf,nome,dataNascimento);
  //IMPRIMINDO DADOS
  getPessoa(p1);

  //criando Variavel to tipo aluno
  Aluno a1;
  //atribuindo dados a ela
  setAluno(&a1,00731543,p1);
  //imprimindo ela
  getAluno(a1);

  //criando variael do tipo disciplina
  Disciplina dis;
  //atribuindo valores aos campos
  char disc[TAMANHO_DISCI] = "Metodos e Tecnicas De Programação";
  setDisciplina(&dis,disc);
  getDisciplina(dis); //chamando impressão

  //criando uma variavel do tipo nota istanciada da minha estrutura nota
  Nota n1;
  setNota(&n1,9.3,dis,a1); //passando dados
  getNota(n1); // impressão

}
Judy-Ellen commented 5 years ago
//Aluno(a): Judy Ellen Vera Martins
//20171070130234
#include <stdio.h>
#include <string.h>
#define TAM 14
#define Tama 100

typedef struct {
    char CPF[TAM];
    char nome[Tama];
    char data[10];
}Pessoa;

typedef struct {
    char matricula[TAM];
    Pessoa pessoa;
}Aluno;

typedef struct{
    char nome[TAM];
}Disciplina;

typedef struct{
    float nota;
    Aluno aluno;
    Disciplina disciplina;
}Nota;

void setPessoa(Pessoa *p, char CPF[], char nome[], char data[]) {

    for (int i = 0; i<TAM; i++){
        p->CPF[i] = CPF[i];
    }
    for(int j = 0; j < Tama; j++){
        p->nome[j] = nome[j];
    }
    for(int k = 0; k < 10; k++)
        p->data[k] = data[k];
}
void setAluno (Aluno *a, char matricula[], Pessoa p) {

    for (int c = 0; c<TAM; c++){
        a->matricula[c] = matricula[c];
    }
    a ->pessoa = p;
}
void setDisciplina(Disciplina *d, char nome[]){

    for (int b = 0; b< TAM; b++)
        d->nome[b] = nome[b];
}
void setNota (Nota *n, float nota, Aluno a, Disciplina d){
    n->nota = nota;
    n->aluno = a;
    n->disciplina = d;
}

void mostrarNota(Nota n)
{
    printf("Cpf: %s \n", n.aluno.pessoa.CPF);
    printf("Nome: %s \n", n.aluno.pessoa.nome);
    printf("Data de Nascimento: %s \n", n.aluno.pessoa.data);
    printf("Matricula: %s \n", n.aluno.matricula);
    printf("Disciplina: %s \n", n.disciplina.nome);
    printf("Nota: %.2f \n", n.nota);
}

void main() {

    Pessoa p;
    Aluno a;
    Disciplina d;
    Nota n;

    setPessoa(&p, "065.926.651-22", "Judy Ellen Vera Martins", "30-11-1999");
    setAluno(&a, "20171070130234", p);
    setDisciplina(&d, "Estrutura de dados");
    setNota(&n, 8.0 ,a ,d);

    mostrarNota(n);
}
Vanderson11 commented 5 years ago
//Vanderson Leite Campos
#include<stdio.h>
#include<stdlib.h>
#include<string.h>
#define T 100

typedef struct{

    char cpf[T];
    char nome[T];
    char data_nasc[T];  

}Pessoa;

typedef struct{

    int matricula;
    Pessoa pessoa;

}Aluno;

typedef struct{

    char nome_disc[T];

}Disciplina;

typedef struct{

    Disciplina disciplina;
    Aluno aluno;
    float nota;

}Nota;

void setpessoa(Pessoa *p, char cpf[], char nome[], char data[]){

    for(int i =0; i<T; i++){
        p->nome[i] = nome[i];
    }           
    for(int i =0; i<T; i++){
        p->cpf[i] = cpf[i];
    }
    for(int i =0; i<T; i++){
        p->data_nasc[i] = data[i];
    }
}
void setaluno(Aluno *a, int m, Pessoa p){

    a->matricula = m;
    a->pessoa = p;
}
void setdisciplina(Disciplina *d, char nome_disc[]){

    for(int i =0; i<T;i++){
        d->nome_disc[i] = nome_disc[i]; 
    }
}
void setnota(Nota *n, Disciplina d, Aluno a, float nota){

    n->disciplina = d;
    n->aluno = a;
    n->nota = nota;
}
void imprimir(Nota n1){

    printf("Nome:%s\n",n1.aluno.pessoa.nome);
    printf("CPF:%s\n",n1.aluno.pessoa.cpf);
    printf("Matricula:%d\n",n1.aluno.matricula);
    printf("Data de Nascimento:%s\n",n1.aluno.pessoa.data_nasc);
    printf("Disciplina:%s\n",n1.disciplina.nome_disc);
    printf("Nota:%.2f\n",n1.nota);

}

void main(){

    Pessoa pessoa01;
    setpessoa(&pessoa01,"888.588.484-15","zero","11/10/1996");

    Aluno aluno01;
    setaluno(&aluno01, 1422082058,pessoa01);

    Disciplina disc01;
    setdisciplina(&disc01,"Estrutura");

    Nota n1;
    setnota(&n1,disc01,aluno01,8.5);

    imprimir(n1);

}
Tainara-Ataides commented 5 years ago
//Tainara Moura De Ataídes
#include<stdio.h>
#include<string.h>
#define nome_tamanho 100
#define cpf_tamanho 14

typedef struct{
    char cpf [cpf_tamanho];
    char nome [nome_tamanho];
    float data_nascimento;

}Pessoa;

typedef struct {
    char nome [nome_tamanho];
    char matricula;

}Aluno;

typedef struct{
    char disciplina_nome;
}Disciplina;

typedef struct{
    float nota;
    char disciplina_nome;
    char nome [nome_tamanho];
}Nota;  

void setPessoa(Pessoa *pessoa, char cpf,char data_nascimento){
    for(int i=0;  i<nome_tamanho;  i ++){
        pessoa->nome[i] = nome[i];
    }
    for(int j=0; j<cpf_tamanho; j++){
        pessoa->cpf[j] = cpf [j];
    }
    for(int k=0; int k<data_nascimento; int k++){
        pessoa->data_nascimento [k] = data_nascimento [k];
    }

}
    void setAluno(Aluno *aluno, char nome, char matricula){
        for(int m=0; int m<matricula; int++){
            aluno->matricula [m] = matricula [m];
            aluno->nome = nome;
        }
    }
        void setDisciplina(Disciplina *disciplina, char disciplina_nome){
            for(int d=0; d<disciplina_nome; d++){
                disciplina->disciplina_nome [d] = disciplina [d];
            }

        }
        void setNota(Nota *nota, float nota, char disciplina_nome, char nome){
            for(int n=0; int n <nota; int n++){
                nota-> nota [n] = nota [n];
                nota->disciplina_nome = disciplina_nome;
                nota ->nome = nome;
            }

        }
        void printNota(Nota nota){
            printf("nota %s\n", nota.disciplina_nome);
            printf("nota%s \n", nota.nome);
        }
        void printfDisciplina(Disciplina disciplina){
            printf("disciplina %s\n", disciplina.disciplina_nome);
        }
        void printfAluno(Aluno aluno){
            printf("aluno %s \n", aluno.matricula);
            printf("aluno %s \n", aluno.nome);
        }
        void printfPessoa(Pessoa pessoa){
            printf("pessoa %s \n", pessoa.cpf);
            printf("pessoa %s \n", pessoa.data_nascimento);
            printf("pessoa %s \n", pessoa.nome);

        }
        void main (){
            Pessoa pessoa;
            char cpf [cpf_tamanho] = "22222222222222";
            char nome = "Tainara";
            float data_nascimento = "31/07/2000";
            char matricula "201955943314";
            char disciplina_nome = "Estrutura de dados";
            float nota = "7.0";

        }
gearle01 commented 5 years ago
//Gearle Soares
#include<stdio.h>
#include<string.h>
#include<stdlib.h>
#define TAMANHO 100
    typedef struct{
        char cpf[TAMANHO];
        char nome[TAMANHO];
        char data_nasc[TAMANHO];    
            }Pessoa;
    typedef struct{
        int matricula;
        Pessoa pessoa;
            }Aluno;
    typedef struct{
        char nome_disc[TAMANHO];
            }Disciplina;
    typedef struct{
         Disciplina disciplina;
         Aluno aluno;
        float nota;
            }Nota;
    void setpessoa(Pessoa *p, char cpf[], char nome[], char data[]){
        for(int i =0; i<TAMANHO; i++){
    p->nome[i] = nome[i];
}           
        for(int i =0; i<TAMANHO; i++){
    p->cpf[i] = cpf[i];
}
        for(int i =0; i<TAMANHO; i++){
    p->data_nasc[i] = data[i];
}
}
    void setaluno(Aluno *a, int m, Pessoa p){

        a->matricula = m;
        a->pessoa = p;
}
    void setdisciplina(Disciplina *d, char nome_disc[]){

        for(int i =0; i<TAMANHO;i++){
        d->nome_disc[i] = nome_disc[i]; 
}
}
    void setnota(Nota *n, Disciplina d, Aluno a, float nota){

        n->disciplina = d;
        n->aluno = a;
        n->nota = nota;
}
    void imprimir(Nota n1){

        printf("Nome:%s\n",n1.aluno.pessoa.nome);
        printf("CPF:%s\n",n1.aluno.pessoa.cpf);
        printf("Matricula:%d\n",n1.aluno.matricula);
        printf("Data de Nascimento:%s\n",n1.aluno.pessoa.data_nasc);
        printf("Disciplina:%s\n",n1.disciplina.nome_disc);
        printf("Nota:%.2f\n",n1.nota);
}
    void main(){
        Pessoa pessoa01;
        setpessoa(&pessoa01,"000.000.000-00","Zezim","01/01/2000");
        Aluno aluno01;
        setaluno(&aluno01, 1000001,pessoa01);
    Disciplina disc01;
        setdisciplina(&disc01,"Estrutura de Dados I");
    Nota n1;
        setnota(&n1,disc01,aluno01,10);
        imprimir(n1);
}
markaureliosc commented 5 years ago
//Marco Aurélio Santana Cruz
#include <stdio.h>
#include <string.h>
#define TAM 100

typedef struct {
    char nome[TAM];
    char cpf[TAM];
    char data_nascimento[TAM];
} Pessoa;

typedef struct {
    char matricula[TAM];
    Pessoa pessoa;
} Aluno;

typedef struct {
    char nome[TAM];
} Disciplina;

typedef struct {
    Aluno aluno;
    Disciplina disciplina;
    float notax;
} Nota;

void setPessoa(Pessoa* pessoa, char cpf[], char nome[], char data_nascimento[]) {
    for (int i = 0; i < TAM; i++)
        pessoa->cpf[i] = cpf[i];
    for (int i = 0; i < TAM; i++)
        pessoa->nome[i] = nome[i];
    for (int i = 0; i < TAM; i++)
        pessoa->data_nascimento[i] = data_nascimento[i];
}

void setAluno(Aluno* aluno, char matricula[], Pessoa pessoa) {
    for (int i = 0; i < TAM; i++)
        aluno->matricula[i] = matricula[i];
    aluno->pessoa = pessoa;
}

void setDisciplina(Disciplina* disciplina, char nome[]) {
    for (int i = 0; i < TAM; i++)
        disciplina->nome[i] = nome[i];
}

void setNota(Nota* nota, Aluno aluno, Disciplina disciplina, float notax) {
    nota->aluno = aluno;
    nota->disciplina = disciplina;
    nota->notax = notax;
}

void printPessoa(Nota nota) {
    printf("Nome Aluno: %s\n", nota.aluno.pessoa.nome);
    printf("CPF:%s\n", nota.aluno.pessoa.cpf);
    printf("Data de Nascimento: %s\n", nota.aluno.pessoa.data_nascimento);
    printf("Matrícula: %s\n", nota.aluno.matricula);
    printf("Nome da Disciplina: %s\n", nota.disciplina.nome);
    printf("Nota: %.2f\n\n", nota.notax);
}

void main() {
    Pessoa a;
    Pessoa b;
    setPessoa(&a, "123", "Marco", "22/09/2000");
    setPessoa(&b, "345", "Maria", "23/12/2000");
    Aluno MarcoA;
    Aluno MariaB;
    setAluno(&MarcoA, "166", a);
    setAluno(&MariaB, "277", b);
    Disciplina Matematica;
    Disciplina Geografia;
    setDisciplina(&Matematica, "Matemática");
    setDisciplina(&Geografia, "Geografia");
    Nota MarcoMatematica;
    Nota MariaMatematica;
    Nota MarcoGeografia;
    Nota MariaGeografia;
    setNota(&MarcoMatematica, MarcoA, Matematica, 9.6);
    setNota(&MarcoGeografia, MarcoA, Geografia, 6.7);
    setNota(&MariaMatematica, MariaB, Matematica, 9.9);
    setNota(&MariaGeografia, MariaB, Geografia, 10);
    printPessoa(MarcoMatematica);
    printPessoa(MarcoGeografia);
    printPessoa(MariaMatematica);
    printPessoa(MariaGeografia);
}
gustavohgarcez commented 5 years ago

Gustavo Henrique Garcez Andrade

#include<stdio.h>
#include<stdlib.h>
#define NOME_TAM 100
#define CPF_TAM 14
#define DATA_TAM 10

typedef struct {
    char nome_alu[NOME_TAM];
    char cpf[CPF_TAM];
    char data_nasc[DATA_TAM];
} Pessoa;

typedef struct {
    char matricula[NOME_TAM];
    Pessoa pessoa;
} Aluno;

typedef struct {
    char nome_disc[NOME_TAM];
} Disciplina;

typedef struct {
    Aluno aluno;
    Disciplina disciplina;
    float nota;
} Nota;

void setPessoa(Pessoa* p, char nome_alu[], char cpf[], char data_nasc[]){
    for(int i = 0; i < NOME_TAM; i++){
        p -> nome_alu[i] = nome_alu[i];
    }
    for(int j = 0; j < CPF_TAM; j++){
        p -> cpf[j] = cpf[j];
    }
    for(int k = 0; k < DATA_TAM; k++){
        p -> data_nasc[k] = data_nasc[k];
    }
}

void setAluno(Aluno* a, char matricula[], Pessoa pessoa){
        a -> pessoa = pessoa;
    for(int i = 0; i < NOME_TAM; i++){
        a -> matricula[i] = matricula[i];
    }
}

void setDisciplina(Disciplina* d, char nome_disc[]){
    for(int i = 0; i < NOME_TAM; i++){
        d->nome_disc[i] = nome_disc[i];
    }
}

void setNota(Nota* n, Aluno aluno, Disciplina disciplina, float nota){
    n -> aluno = aluno;
    n -> disciplina = disciplina;
    n -> nota = nota;
}

void imprimirNota(Nota n){
    printf("| Nome: %s |\n", n.aluno.pessoa.nome_alu);
    printf("| CPF: %s |\n", n.aluno.pessoa.cpf);
    printf("| Data de Nascimento: %s |\n", n.aluno.pessoa.data_nasc);
    printf("| Matrícula: %s| \n", n.aluno.matricula);
    printf("| Disciplina: %s |\n", n.disciplina.nome_disc);
    printf("| Nota: %.2f |\n\n", n.nota);
}

int main(){
    Pessoa p_gustavo;
    Aluno a_gustavo;
    Nota n_gustavo;

    Pessoa p_angelica;
    Aluno a_angelica;
    Nota n_angelica;

    Disciplina EDI;
    Disciplina Redes;

    setPessoa(&p_gustavo, "Gustavo Garcez", "065.357.671-98", "28/01/3999");
    setAluno(&a_gustavo, "20161070165578", p_gustavo);
    setDisciplina(&EDI, "Estrutura de Dados I");
    setNota(&n_gustavo, a_gustavo, EDI, 7.5);

    setPessoa(&p_angelica, "Angélica Farias", "065.357.671-98", "28/01/3999");
    setAluno(&a_angelica, "20161070165578", p_angelica);
    setDisciplina(&Redes, "Redes de Computadores");
    setNota(&n_angelica, a_angelica, Redes, 7.5);

    imprimirNota(n_gustavo);
    imprimirNota(n_angelica);
    return 0;
}
Lasanhas commented 5 years ago

Aluno: Felipe Mattheus Alarcão Braga Silva

include

include

define TAM 100

typedef struct { char cpf[TAM]; char nome[TAM]; char dataNascimento[TAM];
} Pessoa;

typedef struct { char matricula[TAM]; Pessoa pessoa; } Aluno;

typedef struct { char nome[TAM]; } Disciplina;

typedef struct { Disciplina disciplina; Aluno aluno; float nota; } Nota;

void setPessoa(Pessoa* p, char nome[], char cpf[], char dNascimento[]) { for(int i = 0; i < TAM; i++) p->nome[i] = nome[i];

for(int i = 0; i < TAM; i++)
    p->cpf[i] = cpf[i];

for(int i = 0; i < TAM; i++)
    p->dataNascimento[i] = dNascimento[i];

}

void setAluno(Aluno* a, char matricula[], Pessoa p) { for(int i = 0; i < TAM; i++) a->matricula[i] = matricula[i];

a->pessoa = p;

}

void setDisciplina(Disciplina* d, char nome[]) { for(int i = 0; i < TAM; i++) d->nome[i] = nome[i]; }

void setNota(Nota* n, Disciplina d, Aluno a, float nota) { n->disciplina = d; n->aluno = a; n->nota = nota; }

void mostrarNota(Nota n) { printf("Cpf: %s \n", n.aluno.pessoa.cpf); printf("Nome: %s \n", n.aluno.pessoa.nome); printf("Data de Nascimento: %s \n", n.aluno.pessoa.dataNascimento); printf("Matricula: %s \n", n.aluno.matricula); printf("Disciplina: %s \n", n.disciplina.nome); printf("Nota: %f \n", n.nota); }

void main() {

Pessoa p;
Aluno a;
Disciplina d;
Nota n;

setPessoa(&p, "Samuel Sergio",  "703874515", "31-10-1997");
setAluno(&a, "20190705451", p);
setDisciplina(&d, "Estrutura de dados");
setNota(&n, d, a, 7.5);

mostrarNota(n);

}

ghost commented 5 years ago

//Powered by Guilherme H. Saraiva - 2019/09


#include <stdio.h>
#include <string.h>
#include <stdlib.h>
typedef struct {
    float grade;
} Grades;

typedef struct {
    Grades grades;
    char name[80];
} Subjects;

typedef struct {
    int registration;
    Subjects subjects;
} Students;

typedef struct {
    char name[80];
    char cpf[15];
    int dateOfBirth[3];
    Students students;
} People;
//Prototype of functions

People createPeople(People *people, int add);
People selectPeople(People people[], int add);
People exitProgramm(int *reset);

People createPeople(People *people, int add){
    printf("Student's name: ");
    scanf("%80[^\n]s", &people->name);
    printf("Student's CPF: ");
    scanf("%s", &people->cpf);
    printf("Student's date of birth:\n");
    char dateText[3][6] = {"day", "month", "year"};
    for (int date = 0; date < 3; date++){
        printf(" ->Insert student's %s of birth: ", dateText[date]);
        scanf("%d", &people->dateOfBirth[date]);
    }
    printf("Student's registration: ");
    people->students.registration = add;
    printf("%08i", people->students.registration);
    fflush(stdin);//Bug não resolvido.
    printf("\n");
    //ok
        printf("School subjects: ");
        scanf("%80[^\n]s", &people->students.subjects.name);
        fflush(stdin);//Bug não resolvido.
        printf("Grades of %s:", people->students.subjects.name);
        scanf("%f", &people->students.subjects.grades.grade);
        fflush(stdin);//Bug não resolvido.
    //ok
    printf("\n");
    printf("OK: Students registration successful...\n");
    printf("\n");
}

People selectPeople(People people[], int add){
    for (int runner = 0; runner < add; runner++){
        printf("Student's name: %s\n", people[runner].name);
        printf("Student's CPF: %s\n", people[runner].cpf);
        printf("Student's date of birth: %02d/%02d/%02d\n", people[runner].dateOfBirth[0],people[runner].dateOfBirth[1],people[runner].dateOfBirth[2]);
        printf("School subjects:\n");
        printf("subjects: %s\n", people[runner].students.subjects.name);
        printf("Grade: %.2f\n", people[runner].students.subjects.grades.grade);
        printf("\n");
    }
}

People exitProgramm(int *reset){
    char verify;
    printf("\n Continue in system?\t(Y/y) for yes or (N/n) for not: ");
    scanf("%s", &verify);
    if (verify == 'Y' ||verify == 'y'){
        *reset = 1;
    }
    else if (verify == 'N' ||verify == 'n'){
        *reset = 0;
    }
}
//Begin main
int main(void){
    system("chcp 65001");
    int amount = 0,address;
    int reset = 1, select;
    People people[amount];

    while (reset == 1){
            printf("╔════════════════════  STUDENT REGISTRATION  ════════════════════╗\n");
            printf("║                                                                ║\n");
            printf("║                  SYSTEM CRUD - SELECT OPTION:                  ║\n");
            printf("║                                                                ║\n");
            printf("║         (1) CREATE STUDENT                                     ║\n");
            printf("║                                                                ║\n");
            printf("║         (2) READ STUDENT                                       ║\n");
            printf("║                                                                ║\n");
            printf("║         (3) EXIT PROGRAMM                                      ║\n");
            printf("║                                                                ║\n");
            printf("║ Powered by Guilherme Saraiva - Struct Data 2019 Waldeyr Mendes ║\n");
            printf("╚════════════════════════════════════════════════════════════════╝\n");
            printf("═════ INSERT A OPTION ═════: ");scanf("%i", &select);fflush(stdin);//Bug não resolvido.
            switch (select){
            case 1:
                amount++;
                address = amount - 1;
                createPeople( &people[address], amount); 
                exitProgramm(&reset);
                system("cls");//Windows
                system("clear");//Linux
                break;
            case 2:
                selectPeople( people, amount);
                exitProgramm(&reset);
                system("cls");//Windows
                system("clear");//Linux
            break;
            case 3:
                system("pause");
                break;
            default:
                printf("ERROR: Option invalid...return to main frame!");
                exitProgramm(&reset);
                system("cls");
                break;
            }
        }
    return 0;
}
//End main
´´´
jvitor7085 commented 5 years ago

José Vitor

include

include

include

define TAM 100

typedef struct { char nome[TAM]; char cpf[TAM]; char nasc[TAM] } Pessoa; typedef struct{ char matricula[TAM]; Pessoa pessoa; }Aluno; typedef struct{ char nome[TAM]; }Disciplina; typedef struct{ Disciplina d; Aluno a; float nota; }Nota;

void setPessoa(Pessoa p, char nome[], char cpf[],char nasc[]){

for (int cont = 0; cont < 100; cont++) {
    p->nome[cont] = nome[cont];

}
for (int cont = 0; cont < 20; cont++) {
    p->cpf[cont] = cpf[cont];
}
for (int cont =0;cont<20;cont++){
    p->nasc[cont]=nasc[cont];
}}

void setAluno(Aluno a,char matricula[],Pessoa p){ for (int cont=0;cont<TAM;cont++){ a->matricula[cont]=matricula[cont]; a->pessoa =p; }} void setDisciplina(Disciplina d,char nome[]){ for(int cont=0;cont<TAM;cont++){ d->nome[cont]=nome[cont]; }} void setNota(Nota n,char *Disciplina d,Aluno a,float nota){

n ->aluno = a;
n -> disciplina = d;
n -> nota = n;

} void imprimir(Nota n){ printf("nome: %s \n", n.aluno.pessoa.nome); printf("cpf: %s \n", n.aluno.pessoa.cpf); printf("data de nascimento: %s \n", n.aluno.pessoa.nasc); printf("matricula: %s \n", n.aluno.matricula); printf("disciplina: %s \n", n.disciplina.nome); printf("nota: %.2f \n", n.nota);} void main(){ char nome[TAM]="jose v"; char cpf[TAM]="123.456.789-00"; char nasc[TAM]=30/08/2000"; char matricula[TAM]="20191070130238"; char nome[TAM]="Estrutura de dados"; setPessoa(&p,nome,cpf,nasc); setAluno(&a,matricula); setDisciplina(&d,nome); setNota(&d,n,a,6.02); imprimir(nota n); }

MatheusMagga commented 5 years ago

//Aluno: Matheus de Almeida Magalhães

include

define tamanho 100

typedef struct { char CPF[tamanho]; char nome[tamanho]; char dataNascimento[tamanho]; } Pessoa;

typedef struct { char matricula[tamanho]; Pessoa pessoa; } Aluno;

typedef struct { char nome[tamanho]; } Disciplina;

typedef struct { Disciplina disciplina; Aluno aluno; float nota; } Nota;

void setPessoa(Pessoa *pessoa, char nome[], char cpf[], char dataNascimento[]) { for (int i = 0; i < tamanho; i++) { pessoa->nome[i] = nome[i]; } for (int i = 0; i < tamanho; i++) { pessoa->CPF[i] = cpf[i]; } for (int i = 0; i < tamanho; i++) { pessoa->dataNascimento[i] = dataNascimento[i]; } }

void setAluno(Aluno *aluno, char matricula[], Pessoa pessoa) { for (int i = 0; i < tamanho; i++) { aluno->matricula[i] = matricula[i]; } aluno->pessoa = pessoa; }

void setDisciplina(Disciplina disciplina, char nome[]) { for (int i = 0; i < tamanho; i++) { disciplina->nome[i] = nome[i]; } } void setNota(Nota n, Disciplina disciplina, Aluno aluno, float nota) { n->aluno = aluno; n->disciplina = disciplina; n->nota = nota; }

void mostrarTudo(Nota n) { printf("=========DADOS========\n"); printf("Nome: %s \n", n.aluno.pessoa.nome); printf("Data de Nascimento: %s \n", n.aluno.pessoa.dataNascimento); printf("Matricula: %s \n", n.aluno.matricula); printf("CPF: %s \n", n.aluno.pessoa.CPF); printf("Disciplina: %s \n", n.disciplina.nome); printf("Nota: %.1f \n", n.nota); printf("======================\n"); }

void main() { Pessoa pessoa; Aluno aluno; Disciplina disciplina; Nota nota;

setPessoa(&pessoa, "Matheus Magalhães", "07247139137", "17/01/2000");
setAluno(&aluno, "20191070130158", pessoa);
setDisciplina(&disciplina, "Estrutura de dados");
setNota(&nota, disciplina, aluno, 8.0);

mostrarTudo(nota);

}

waldeyr commented 5 years ago
### **//Powered by Guilherme H. Saraiva - 2019/09**

#include <stdio.h>
#include <string.h>
#include <stdlib.h>
typedef struct {
    float grade;
} Grades;

typedef struct {
    Grades grades;
    char name[80];
} Subjects;

typedef struct {
    int registration;
    Subjects subjects;
} Students;

typedef struct {
    char name[80];
    char cpf[15];
    int dateOfBirth[3];
    Students students;
} People;
//Prototype of functions

People createPeople(People *people, int add);
People selectPeople(People people[], int add);
People exitProgramm(int *reset);

People createPeople(People *people, int add){
    printf("Student's name: ");
    scanf("%80[^\n]s", &people->name);
    printf("Student's CPF: ");
    scanf("%s", &people->cpf);
    printf("Student's date of birth:\n");
    char dateText[3][6] = {"day", "month", "year"};
    for (int date = 0; date < 3; date++){
        printf(" ->Insert student's %s of birth: ", dateText[date]);
        scanf("%d", &people->dateOfBirth[date]);
    }
    printf("Student's registration: ");
    people->students.registration = add;
    printf("%08i", people->students.registration);
    fflush(stdin);//Bug não resolvido.
    printf("\n");
    //ok
        printf("School subjects: ");
        scanf("%80[^\n]s", &people->students.subjects.name);
        fflush(stdin);//Bug não resolvido.
        printf("Grades of %s:", people->students.subjects.name);
        scanf("%f", &people->students.subjects.grades.grade);
        fflush(stdin);//Bug não resolvido.
    //ok
    printf("\n");
    printf("OK: Students registration successful...\n");
    printf("\n");
}

People selectPeople(People people[], int add){
    for (int runner = 0; runner < add; runner++){
        printf("Student's name: %s\n", people[runner].name);
        printf("Student's CPF: %s\n", people[runner].cpf);
        printf("Student's date of birth: %02d/%02d/%02d\n", people[runner].dateOfBirth[0],people[runner].dateOfBirth[1],people[runner].dateOfBirth[2]);
        printf("School subjects:\n");
        printf("subjects: %s\n", people[runner].students.subjects.name);
        printf("Grade: %.2f\n", people[runner].students.subjects.grades.grade);
        printf("\n");
    }
}

People exitProgramm(int *reset){
    char verify;
    printf("\n Continue in system?\t(Y/y) for yes or (N/n) for not: ");
    scanf("%s", &verify);
    if (verify == 'Y' ||verify == 'y'){
        *reset = 1;
    }
    else if (verify == 'N' ||verify == 'n'){
        *reset = 0;
    }
}
//Begin main
int main(void){
    system("chcp 65001");
    int amount = 0,address;
    int reset = 1, select;
    People people[amount];

    while (reset == 1){
            printf("╔════════════════════  STUDENT REGISTRATION  ════════════════════╗\n");
            printf("║                                                                ║\n");
            printf("║                  SYSTEM CRUD - SELECT OPTION:                  ║\n");
            printf("║                                                                ║\n");
            printf("║         (1) CREATE STUDENT                                     ║\n");
            printf("║                                                                ║\n");
            printf("║         (2) READ STUDENT                                       ║\n");
            printf("║                                                                ║\n");
            printf("║         (3) EXIT PROGRAMM                                      ║\n");
            printf("║                                                                ║\n");
            printf("║ Powered by Guilherme Saraiva - Struct Data 2019 Waldeyr Mendes ║\n");
            printf("╚════════════════════════════════════════════════════════════════╝\n");
            printf("═════ INSERT A OPTION ═════: ");scanf("%i", &select);fflush(stdin);//Bug não resolvido.
            switch (select){
            case 1:
                amount++;
                address = amount - 1;
                createPeople( &people[address], amount); 
                exitProgramm(&reset);
                system("cls");//Windows
                system("clear");//Linux
                break;
            case 2:
                selectPeople( people, amount);
                exitProgramm(&reset);
                system("cls");//Windows
                system("clear");//Linux
            break;
            case 3:
                system("pause");
                break;
            default:
                printf("ERROR: Option invalid...return to main frame!");
                exitProgramm(&reset);
                system("cls");
                break;
            }
        }
    return 0;
}