Ir ao conteúdo
  • Cadastre-se
Lucas Tezolini Herler

C Construa uma estrutura aluno com nome, número de matrícula e curso. Leia do usu

Recommended Posts

 Construa uma estrutura aluno com nome, número de matrícula e curso. Leia do
usuário a informação de 5 alunos, armazene em vetor essa estrutura e imprima os
dados na tela;

Assim o fiz, porém está dando os seguintes erros na tela (segue a imagem);

Alguém sabe o que poderia ser ? Não to conseguindo achar tal erro.. Já pesquisei em outros sites e tudo mais.

/* 2. Construa uma estrutura aluno com nome, número de matrícula e curso. Leia do
usuário a informação de 5 alunos, armazene em vetor essa estrutura e imprima os
dados na tela;*/
#include<stdio.h>
#include<string.h>
#define t 5
typedef struct
{
    char nome[900], curso[900];
    int num_mat;
}estudante;
void receber(char aluno[t].nome, char aluno[t].curso, int aluno[t].num_mat)
{
    int i;
    for (i=0;i<t;i++)
    {
        printf("Nome: ");
        fflush(stdin);
        fgets(aluno[i].nome,900,stdin);
        printf("Curso: ");
        fflush(stdin);
        fgets(aluno[i].curso,900,stdin);
        printf("Num matricula: ");
        scanf("%d",&aluno[i].num_mat);
    }
}
void mostrar(char aluno[t].nome, char aluno[t].curso, int aluno[t].num_mat)
{
    int i;
    for (i=0;i<t;i++)
    {
        printf("Nome: %s", aluno[i].nome);
        printf("Curso: %s",aluno[i].curso);
        printf("Num matricula: %d ",    aluno[i].num_mat);
    }

}
int main ()
{
    estudante aluno[t];
    receber(aluno);
    mostrar(aluno);
    return 0;
}

 

Capturar.PNG

Compartilhar este post


Link para o post
Compartilhar em outros sites

Olá.

 

@Lucas Tezolini Herler, se você vai passar um vetor pelo parâmetro, precisa então receber um vetor. Algo como:

typedef struct {
    char nome[900], 
         curso[900];
    int  num_mat;
} Estudante;
void receber(Estudante aluno[]) {

 

Idem para os outros métodos.

  • Curtir 1
  • Amei 1

Compartilhar este post


Link para o post
Compartilhar em outros sites

Acho que seria interessante também passar o tamanho pelo parâmetro, algo como:

/* 2. Construa uma estrutura aluno com nome, número de matrícula e curso. Leia do
usuário a informação de 5 alunos, armazene em vetor essa estrutura e imprima os
dados na tela;*/

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

typedef struct {
    char nome[900],
         curso[900];
    int  num_mat;
} Estudante;

void receber(Estudante aluno[], int tam) {
    int i;
    for (i=0;i<tam;i++) {
        printf("Nome: ");
        fflush(stdin);
        fgets(aluno[i].nome,900,stdin);
        printf("Curso: ");
        fflush(stdin);
        fgets(aluno[i].curso,900,stdin);
        printf("Num matricula: ");
        scanf("%d",&aluno[i].num_mat);
    }
}

void mostrar(Estudante aluno[], int tam) {
    int i;
    for (i=0;i<tam;i++) {
        printf("Nome: %s", aluno[i].nome);
        printf("Curso: %s",aluno[i].curso);
        printf("Num matricula: %d ",aluno[i].num_mat);
    }

}
int main () {
    #define MAX 5
    Estudante aluno[MAX];
    
    receber(aluno,MAX);
    mostrar(aluno,MAX);
    return 0;
}

 

Compartilhar este post


Link para o post
Compartilhar em outros sites

Crie uma conta ou entre para comentar

Você precisar ser um membro 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 publicações 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

×