Сформировать одномерный массив структур, содержащий сведения о студентах - C (СИ)
Формулировка задачи:
Сформировать одномерный массив структур, содержащий сведения о студентах и результатах сессии для одной группы. Структура записи: фамилия студента, пол (м или ж), предметы и оценки по каждому предмету. Задачу решить для 4 студентов.
Мне собственно, нужна подсказка, как задать эту структуру константой.
Вот структура:
struct session {
char surname[10]; // Pitt, Hood, Green, House;
char gender[1]; // M, W;
char examen[7]; // Math., Pgog., Physics;
int mark; // "1", "2", "3", "4", "5";
Наверное, нужно сделать, чтобы каждый предмет был отдельно со своей оценкой, чтобы потом произвести поиск студентов сдавших сессию с результатами Z
Решение задачи: «Сформировать одномерный массив структур, содержащий сведения о студентах»
textual
Листинг программы
struct session {
char surname[10];
char gender[1];
char examen[7];
int mark;
};
int main(void) {
const struct session ses = { "Pitt", 'w', "Math", 4 };
ses.examen = "Physic"; // compile-time error
return 0;
}
Объяснение кода листинга программы
- Структура
sessionобъявлена с полямиsurname,gender,examenиmark. - Объект
sesтипаstruct sessionинициализирован с помощью инициализатора списка. - В строке
ses.examen =Physic;происходит попытка изменить значение поляexamenобъектаses. - Поскольку поле
examenимеет фиксированный размер в 7 символов, попытка присвоить ему строкуPhysicвызовет ошибку компиляции.