河北大学c语言程序设计大项目

学生选修系统

这是我在大一上c语言实验结课时要求的项目,具体项目文件可见https://github.com/benksih/c-student

纯血c语言文件

1、需求分析

系统以菜单方式工作,因而要提供键盘式选择菜单以实现功能选择;由于课程信息要用文件保存,因而要提供文件的输入输出操作;由于要浏览信息,所以要提供显示功能;要实现查询功能,故要提供查找操作。

2、总体设计

整个系统可以设计为信息输入模块信息查询模块信息浏览模块程序启动模块(即登录模块),程序菜单模块

3、详细设计

数据结构采用结构体,这里采用课程信息结构体学生选课信息结构体

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
struct  course
{
char courseCode[10]; //课程编号
char courseName[20]; //课程名称
char courseType[10]; //课程类别
int totalPeriod; //总学时
int classPeriod; //授课学时
int experiPeriod; //上机学时
float creditHour; //学分
int term; //开课学期
}; //课程信息结构体
struct student
{
int stuNo; //学号;
char courseCode[10]; //课程编号
char code[20]; //学生密码
}; //学生选课信息结构体
struct teacher
{
int teaNo; //教师号
char code[20];//教师密码
}

(1)程序启动模块(即登录模块+注册模块)

实现用户的登录操作,用户分为学生和教师(即管理员)

PS:有能力可以做学生,教师,管理员三种身份的登录;

(2) 信息输入模块

从键盘输入课程信息和学生信息,写入文件。课程信息写入classinfo文件,学生信息写入studentinfo文件

①.输入课程函数

②.输入学生信息函数

(3)程序菜单模块+信息浏览模块

分屏显示课程信息,每屏 10 条课程记录,按任意键继续。从文件中读数据,然后再显示。

(4)选课模块

学生查询课程信息并选课,将选课信息存入文件。选课信息存入choose文件。

(5)信息查询模块

通过菜单选择查询字段,可以按照课程编号、课程名称、课程性质、开课学期、学分课程信息文件进行查找,查找算法可以选择基本查找、二分查找等算法。 可以通过菜单选择课程编号,在学生选课信息文件中查询该课程学生选修情况。