Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

Evandro Sousa

[Resolvido] Criando um vetor para Struct

Recommended Posts

Bom dia pessoal,

Esse é um trabalho de faculdade, mas eu nao tenho experiencia alguma com C e estou apanhando muito.

 

Exercicio

Crie um vetor de tamanho 5, para a struct proposta a seguinte struct:

struct Pessoa
{
 	char *nome, *funcao, *departamento;
 	int idade, anoDeNascimento;
};

Eu tentei iniciar um código, mas ele esta dando erro na hora de preencher do campo funcao para frente, se eu faço só com o nome, ele funciona normalmente.

 

meu código:

 

#include <stdio.h>
#include <stdlib.h> 
struct Pessoa
{
 	char *nome, *funcao, *departamento;
 	int idade, anoDeNascimento;
}; 
int main(int argc, char *argv[])
{
 	char *nome1, *funcao1, *departamento1;
 	int idade1, anoDeNascimento1;
 	
 	struct Pessoa funcionario;
 	Pessoa vetor[5];
 	for(int i=0;i<5;i++)
 	{
 	printf("\n\nEntre com o nome do funcionario.: ");
 	scanf("%s", nome1);
 	funcionario.nome = nome1;
 	
 	printf("\n\nEntre com a função do funcionario.: ");
 	scanf("%s", funcao1);
 	funcionario.funcao = funcao1;
 	
 	printf("\n\nEntre com o departamento do funcionario.: ");
 	scanf("%s", departamento1);
 	funcionario.departamento = departamento1;
 	
 	printf("\n\nEntre com a idade do funcionario.: ");
 	scanf("%s", idade1);
 	funcionario.idade = idade1;
 	
 	printf("\n\nEntre com o ano de nascimento do funcionario.: ");
 	scanf("%s", anoDeNascimento1);
 	funcionario.anoDeNascimento = anoDeNascimento1; 	vetor[i] = funcionario;

 	free(nome1);
 	free(funcao1);
 	free(departamento1);
 	idade1 = 0;
 	anoDeNascimento1 = 0;
 	}
 	
 	for(int i=0; i<5; i++)
 	{
 	printf("Nome.: %s\n", vetor[i].nome);
 	printf("Função.: %s\n", vetor[i].funcao);
 	printf("Departamento.: %s\n", vetor[i].departamento);
 	printf("Idade.: %d\n", vetor[i].idade);
 	printf("Ano de Nascimento.: %d\n", vetor[i].anoDeNascimento);
 	}
 system("PAUSE");
 return(0);
}

Abraços.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Oi Fernando, então, como estou utilizando aquele Dev C, ele o erro ele nao exibe, ele apenas da a mensagem q o programa deve ser finalizado. Tipo qndo uma janela do windows trava e você pede para finalizar ele mostra outra perguntando se você deseja finalizar.

 

Olá amigo, qual a msg de erro??

 

Compartilhar este post


Link para o post
Compartilhar em outros sites

#include <stdio.h>
#include <stdlib.h>

typedef struct{
        char nome[256], funcao[256], departamento[256];
        int idade, anoDeNascimento;
} Pessoa;

int main(int argc, char *argv[]){
        int i=0;
        Pessoa funcionario;
        Pessoa vetor[5];
        for(;i<5;i++){
            printf("\n\nEntre com o nome do funcionario.: ");
            scanf("%s%*c", funcionario.nome);
            printf("\n\nEntre com a função do funcionario.: ");
            scanf("%s%*c", funcionario.funcao );
            printf("\n\nEntre com o departamento do funcionario.: ");
            scanf("%s%*c", funcionario.departamento);
            printf("\n\nEntre com a idade do funcionario.: ");
            scanf("%d%*c", &funcionario.idade);
            printf("\n\nEntre com o ano de nascimento do funcionario.: ");
            scanf("%d%*c", &funcionario.anoDeNascimento);
            vetor[i] = funcionario;
        }
        for(i=0; i<5; i++) {
            printf("Nome.: %s\n", vetor[i].nome);
            printf("Função.: %s\n", vetor[i].funcao);
            printf("Departamento.: %s\n", vetor[i].departamento);
            printf("Idade.: %d\n", vetor[i].idade);
            printf("Ano de Nascimento.: %d\n", vetor[i].anoDeNascimento);
        }
    system("PAUSE"); //VAI NO NOSSO SUB-FÓRUM E VEJA O PQ DE N USAR SYSTEM("PAUSE");
    return(0);
}

[]s

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.