Итак, моей группе было поручено составить расписание занятий, в котором регистрируется пользователь (ввод кода курса, кода предложения, время и день и т. Д. c.), И когда я кодировал, я наткнулся на ошибку в своем menu
функция, что локальная переменная classs
не инициализирована.
Чего-то мне не хватает?
Я новичок в C, и объединение указателей, структур и строк немного сбивает с толку.
Вот весь код:
#include<stdio.h>
#include<conio.h>
#include<string.h>
#include<stdlib.h>
#define P printf
#define S scanf
void menu(struct class_sched *classs, int choice);
void registerclass (struct class_sched *classs);
struct data {
char course_code[10];
int offer_code;
char course_name[6];
char room_no[7];
char faculty_name[30];
char time[20];
char day[3];
};
struct class_sched {
struct data sched;
};
int main (void){
int info = 0;
int choice;
struct class_sched *classs;
printf("MENU\n");
printf("\n[1]Registration \n[2]Checking \n[3]Exit\n");
S("%d",&choice);
menu(classs,choice); //the error in question or specified
getch();
system("cls");
}
void menu(struct class_sched *classs,int choice){ //the Main Menu for the program
switch (choice)
{
case 1:
registerclass(classs);
break;
default:
break;
}
}
void registerclass (struct class_sched *classs){ // for registering or the inputs for the user
P("Registration \n");
P("input: \nCourse Code: "); fflush(stdin); gets(classs->sched.course_code);
P("Offer Code: "); fflush(stdin);S("%d",&classs->sched.offer_code);
P("Course Name: "); fflush(stdin); gets(classs->sched.course_name);
P("Room Number: "); fflush(stdin); gets(classs->sched.room_no);
P("Faculty Name: "); fflush(stdin); gets(classs->sched.faculty_name);
P("Time: "); fflush(stdin); gets(classs->sched.time);
P("Day: "); fflush(stdin); gets(classs->sched.day);
}