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

#define MAX_STUDENT 100 // 最大学生数 #define MAX_COURSE 50 // 最大课程数 #define MAX_NAME 20 // 最大姓名长度 #define MAX_ID 10 // 最大学号长度 #define MAX_CLASS 20 // 最大班级长度 #define MAX_COLLEGE 20 // 最大学院长度 #define MAX_COURSE_NAME 20 // 最大课程名称长度 #define MAX_TIME 30 // 最大上课时间长度 #define MAX_PLACE 30 // 最大上课地点长度

// 学生信息结构体 typedef struct { char name[MAX_NAME]; // 姓名 char id[MAX_ID]; // 学号 char class[MAX_CLASS]; // 班级 char college[MAX_COLLEGE]; // 学院 } Student;

// 课程信息结构体 typedef struct { char name[MAX_COURSE_NAME]; // 课程名称 char time[MAX_TIME]; // 上课时间 char place[MAX_PLACE]; // 上课地点 } Course;

// 全局变量 Student students[MAX_STUDENT]; // 学生数组 int num_students = 0; // 学生数目 Course courses[MAX_COURSE]; // 课程数组 int num_courses = 0; // 课程数目

// 显示菜单 void show_menu() { printf('请选择操作:\n'); printf('1. 添加学生信息\n'); printf('2. 查看学生信息\n'); printf('3. 添加课程信息\n'); printf('4. 查看课程信息\n'); printf('5. 退出\n'); }

// 添加学生信息 void add_student() { if (num_students >= MAX_STUDENT) { printf('学生数目已达到最大值!\n'); return; } Student student; printf('请输入学生姓名:'); scanf('%s', student.name); printf('请输入学生学号:'); scanf('%s', student.id); printf('请输入学生班级:'); scanf('%s', student.class); printf('请输入学生学院:'); scanf('%s', student.college); students[num_students] = student; num_students++; printf('添加成功!\n'); }

// 查看学生信息 void show_students() { if (num_students == 0) { printf('还没有添加学生信息!\n'); return; } printf('学生信息如下:\n'); printf('姓名\t学号\t班级\t学院\n'); for (int i = 0; i < num_students; i++) { printf('%s\t%s\t%s\t%s\n', students[i].name, students[i].id, students[i].class, students[i].college); } }

// 添加课程信息 void add_course() { if (num_courses >= MAX_COURSE) { printf('课程数目已达到最大值!\n'); return; } Course course; printf('请输入课程名称:'); scanf('%s', course.name); printf('请输入上课时间:'); scanf('%s', course.time); printf('请输入上课地点:'); scanf('%s', course.place); courses[num_courses] = course; num_courses++; printf('添加成功!\n'); }

// 查看课程信息 void show_courses() { if (num_courses == 0) { printf('还没有添加课程信息!\n'); return; } printf('课程信息如下:\n'); printf('课程名称\t上课时间\t上课地点\n'); for (int i = 0; i < num_courses; i++) { printf('%s\t%s\t%s\n', courses[i].name, courses[i].time, courses[i].place); } }

int main() { int choice; do { show_menu(); scanf('%d', &choice); switch (choice) { case 1: add_student(); break; case 2: show_students(); break; case 3: add_course(); break; case 4: show_courses(); break; case 5: printf('再见!\n'); break; default: printf('无效操作!\n'); break; } } while (choice != 5); return 0;

C语言实现学生选课系统 - 数据结构应用

原文地址: https://www.cveoy.top/t/topic/ockq 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录