Closed waldeyr closed 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);
}
#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(¬aPortugues, &novoAluno, &portugues, 8.9);
Nota notaMatematica;
setNota(¬aMatematica, &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(¬aPortugues);
break;
case 2:
mostrarNota(¬aMatematica);
break;
}
}
//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
}
//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);
}
//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 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";
}
//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);
}
//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);
}
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;
}
Aluno: Felipe Mattheus Alarcão Braga Silva
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);
}
#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
´´´
José Vitor
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); }
//Aluno: Matheus de Almeida Magalhães
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(¬a, disciplina, aluno, 8.0);
mostrarTudo(nota);
}
### **//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;
}
Compor structs para:
Conforme mostrado em aula e testar com pelo menos 2 instâncias.