学生类(Student):包括学号、姓名、性别、出生日期、选课课程等基本信息。
时间: 2023-05-22 07:03:07 浏览: 471
学生类的基本信息包括学号、姓名、性别、出生日期和选课课程。在实现该类时,可以定义一个包含这些属性的结构体,并提供一些操作函数,如获取学号、姓名等信息,或者添加、删除或修改学生的选课课程等操作。比如使用 C 语言,可以这样定义学生类:
struct student {
char id[20]; // 学号
char name[20]; // 姓名
char gender; // 性别('M' 或 'F')
char birthday[11]; // 出生日期(YYYY-MM-DD)
char courses[10][20]; // 选课课程(最多 10 种)
int num_courses; // 选课数量
};
然后可以定义一系列操作该类的函数,如创建学生、获取学生信息、添加/删除选课课程等。 其中,获取学生信息的函数可以是这样的:
struct student get_student_info() {
struct student s; // 定义一个学生结构体
printf("请输入以下信息:\n");
printf("学号:");
scanf("%s", s.id);
printf("姓名:");
scanf("%s", s.name);
printf("性别(M/F):");
scanf(" %c", &s.gender); // 注意加空格以避免读入换行符
printf("出生日期(YYYY-MM-DD):");
scanf("%s", s.birthday);
s.num_courses = 0;
return s;
}
此外,添加/删除选课课程的函数可以是这样的:
void add_course(struct student *s, char *course) {
if (s->num_courses < 10) { // 选课课程不得超过 10 种
strcpy(s->courses[s->num_courses], course);
s->num_courses++;
}
}
void remove_course(struct student *s, char *course) {
int i;
for (i = 0; i < s->num_courses; i++) {
if (strcmp(s->courses[i], course) == 0) {
// 找到课程,将其删除并向前移动
for (int j = i; j < s->num_courses - 1; j++) {
strcpy(s->courses[j], s->courses[j + 1]);
}
s->num_courses--;
break;
}
}
}
这样就可以通过以上函数来操作一个学生对象了。
阅读全文