Ir ao conteúdo
  • Cadastre-se

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


Posts recomendados

 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

Link para o comentário
Compartilhar em outros sites

  • Membro VIP

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
Link para o comentário
Compartilhar em outros sites

  • Membro VIP

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;
}

 

Link para o comentário
Compartilhar em outros sites

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...