Ir ao conteúdo

Posts recomendados

Postado

Esse código tá dando erro e eu não consigo identificar o quê exatamente tem de errado. E no exercício c, tem como colocar um vetor dentro de uma matriz? Como?

Penso que posso criar um for para o vetor dentro dos 2 for de leitura da matriz, por exemplo: 

/*APENAS COMO EXEMPLO, A MATRIZ QUE O EXERCICIO PEDE É UMA 12x3, esse é apenas pra mostrar minha lógica*/
void leituramatrizp (struct pessoa m_pessoa[20][2], struct data vet_data[20]){
	int i, j, x;
	for (i=0;i<20;i++){
		for (j=0; j<2; j++){
			printf ("\nEntre com o nome: ");
			fflush (stdin); 
			fgets (m_pessoa[i].nome, 10, stdin);
			
			for (x=0; x<20; x++){
			printf ("\nEntre com o dia: ");
			scanf ("%d", &vet_data[x].dia);
			
			printf ("\nEntre com o mes: ");
			scanf ("%d", &vet_data[x].mes);
			
			printf ("\nEntre com o ano: ");
			scanf ("%d", &vet_data[x].ano);
		}
			
			printf ("\n\n__________________________________\n");			
		}
	}
}

Criar 3 estruturas de dados para atender o seguinte:

a) A primeira estrutura deve conter o nome de uma pessoa com a respectiva data de nascimento (ver struct´s data e pessoa abaixo e também a Matriz 20x2)

 

b) A segunda estrutura contêm o nome do signo com as datas (dia e mês) de inicio e fim e descrição das características correspondentes ao signo (ver matriz do Horoscopo Ocidental abaixo).

 

c) A terceira estrutura que contem o nome do signo no horóscopo chinês, um vetor contendo 6 anos e a descrição das características correspondente ao signo (Apesar do horóscopo chinês considerar também dia e mês de nascimento, para este exemplo, somente nos preocuparemos com o ano).

OBS: para esse exercício será necessário criar struct e também, vetores contendo struct

#include <stdio.h>
#include <string.h>

struct data {
	int dia; 
	int mes; 
	int ano;
};

struct pessoa {
	char nome [10];
	struct data nascimento; 
};

void leituramatrizp (struct pessoa m_pessoa2[20][2]){
	int i, j;
	for (i=0;i<20;i++){
		for (j=0; j<2; j++){
			printf ("\nEntre com o nome: ");
			fflush (stdin); 
			fgets (m_pessoa2[i].nome, 10, stdin);
			
			printf ("\nEntre com o dia: ");
			scanf ("%d", &m_pessoa2[i].dia);
			
			printf ("\nEntre com o mes: ");
			scanf ("%d", &m_pessoa2[i].mes);
			
			printf ("\nEntre com o ano: ");
			scanf ("%d", &m_pessoa2[i].ano);
		
			printf ("\n\n__________________________________\n");			
		}
	}
}

void exibematrizp (struct m_pessoa3[20][2]){
	int i; 
	int j; 
	
	for (i=0; i<20;i++){
		for (j=0; j<2; j++){
			printf ("\nNome: %s", m_pessoa3[i].nome);		
			printf ("\nDia: %d", m_pessoa3[i].dia);
			printf ("\nMes: %d", m_pessoa3[i].mes);
			printf ("\nAno: %d", m_pessoa3[i].ano);
			
	}
}
}
int main (){
	struct pessoa m_pessoa[20][2];
	struct data vet_data [20];
	int op = 0; 
	
	while (op != 3 ){
		
		printf ("\n\n############### MENU ######################\n");
		printf ("\n1 - Carregar a matriz de pessoas");
		printf ("\n2 - Exibir a matriz de pessoas");
		printf ("\n3 - Sair");
		printf ("\nQual a sua opcao? "); 
		scanf ("%d", &op);
		
		switch (op){
			case 1: leituramatrizp (m_pessoa, vet_data);
					break; 
			
			case 2: exibematrizp (m_pessoa, vet_data);
					break; 
					
		}
	}
}

 

Postado

#include <stdio.h>
#include <string.h>

struct data {
	int dia; 
	int mes; 
	int ano;
};

struct pessoa {
	char nome [10];
	data nascimento; 
};

void leituramatrizp (pessoa m_pessoa2[20][2]){
	int i, j;
	for (i=0;i<20;i++){
		for (j=0; j<2; j++){
			printf ("\nEntre com o nome: ");
			fflush (stdin); 
			fgets (m_pessoa2[i][j].nome, 10, stdin);
			
			printf ("\nEntre com o dia: ");
			scanf ("%d", &m_pessoa2[i][j].nascimento.dia);
			
			printf ("\nEntre com o mes: ");
			scanf ("%d", &m_pessoa2[i][j].nascimento.mes);
			
			printf ("\nEntre com o ano: ");
			scanf ("%d", &m_pessoa2[i][j].nascimento.ano);
		
			printf ("\n\n__________________________________\n");			
		}
	}
}

void exibematrizp (pessoa m_pessoa3[20][2]){
	int i; 
	int j; 
	
	for (i=0; i<20;i++){
		for (j=0; j<2; j++){
			printf ("\nNome: %s", m_pessoa3[i][j].nome);		
			printf ("\nDia: %d", m_pessoa3[i][j].nascimento.dia);
			printf ("\nMes: %d", m_pessoa3[i][j].nascimento.mes);
			printf ("\nAno: %d", m_pessoa3[i][j].nascimento.ano);
			
	}
}
}
int main (){
	pessoa m_pessoa[20][2];
	data vet_data [20];
	int op = 0; 
	
	while (op != 3 ){
		
		printf ("\n\n############### MENU ######################\n");
		printf ("\n1 - Carregar a matriz de pessoas");
		printf ("\n2 - Exibir a matriz de pessoas");
		printf ("\n3 - Sair");
		printf ("\nQual a sua opcao? "); 
		scanf ("%d", &op);
		
		switch (op){
			case 1: leituramatrizp (m_pessoa);
					break; 
			
			case 2: exibematrizp (m_pessoa);
					break; 
					
		}
	}
}

 

Crie uma conta ou entre para comentar

Você precisa ser um usuário para fazer um comentário

Criar uma conta

Crie uma nova conta em nossa comunidade. É fácil!

Crie uma nova conta

Entrar

Já tem uma conta? Faça o login.

Entrar agora

Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas comunidades sobre tecnologia do Brasil. Leia mais

Direitos autorais

Não permitimos a cópia ou reprodução do conteúdo do nosso site, fórum, newsletters e redes sociais, mesmo citando-se a fonte. Leia mais

×
×
  • Criar novo...

GRÁTIS: ebook Redes Wi-Fi – 2ª Edição

EBOOK GRÁTIS!

CLIQUE AQUI E BAIXE AGORA MESMO!