Печать информации из массива структур в C - PullRequest
0 голосов
/ 06 февраля 2020

В моем домашнем задании для класса парадигм программирования (изучите немного о многих языках) нам было поручено создать структуры учеников, создать массив этих структур, а затем распечатать эту информацию. Ниже приведено то, что у меня есть.

#include <stdio.h>
struct student
{
  char name;
  int age;
  double gpa;
  char gradeLevel;
};

int main ()
{
  student struct classStudents[];

}

Когда я запускаю этот код, я получаю сообщение об ошибке "main. c: 12: 3: error: 'student' undeclared (первое использование в этой функции ) ".

Пожалуйста, помогите.

1 Ответ

2 голосов
/ 06 февраля 2020

Ваше объявление типа неверно для типа структуры. Используйте это:

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

#define ST_SIZE 10
#define MAXNAME 64      /* don't skimp on buffer size */  //suggested by @David C Rankin

struct student {
    char name[MAXNAME]; // you want to store more than a character just,right?
    int age;
    double gpa;
    char gradeLevel; // change to array to store multiple char
};

int main() {

    struct student classStudents[ST_SIZE];

    // assigning value
    strcpy(classStudents[0].name, "First student"); // to make assign/copy some data to the name variable
    classStudents[0].age = 28;
    classStudents[0].gpa = 4.00;
    classStudents[0].gradeLevel = 'G';

    // printing it
    printf("%s %d %lf %c\n", classStudents[0].name, classStudents[0].age, classStudents[0].gpa,
           classStudents[0].gradeLevel);

    return 0;
}

Подробнее о структурах:

Объявление структуры - cppreference.com

Руководство по GNU C Руководство

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...