【Web】基于C#的学生选课系统开发

一、实验目的

1、设计学生类(学号 | 姓名 | 班级 | 初始密码)
2、设计课程类(课程代码 | 课程名称 | 学分)
3、设计已选课程类(课程代码 | 学号)
4、设计数据库表。
5、增删改查学生信息
6、学生选课
7、查看学生已选课程
8、增删改查课程信息

二、设计数据库表

  创建一个数据库并新建三张表,分别命名为 "student"、"sourse" 和 "cs",它们对应的字段如下:

student表: — sid  (varchar(10))
			— sname  (varchar(20))
			— class  (varchar(20))
			— password  (varchar(10))
course表:  — cid  (varchar(10))
			— cname  (varchar(20))
			— credit (varchar(5))
cs表:   — cid  (varchar(10))
		 — sid  (varchar(10)

在这里插入图片描述
  student表和course表是一种多对多的关系,一个学生可以选择多个课程,一个课程可以同时被多个学生选择,两者的多对多关系设计为cs表。student表中sid为主键,course表中cid为主键,cs表中使用sid和cid作为外键。
  例如在如下的三个表中,离散数学课程同时被两个学生所选,学生李四同时选了离散数学课程和算法设计与分析课程。
在这里插入图片描述

三、设计学生、课程和已选课程类

这些类在连接数据库时会自动生成。

 public partial class Student{
        public string Sid { get; set; }
        public string Sname { get; set; }
        public string Class { get; set; }
        public string Password { get; set; }
    }
 public partial class Course{
        public string Cid { get; set; }
        public string Cname { get; set; }
        public string Credit { get; set; }
}
 public partial class Cs{
        public string Cid { get; set; }
        public string Sid { get; set; }
    }

四、 系统流程图

  首先输入选项1至4,选择学生管理、课程管理、选课管理或退出系统。当选择学生管理、课程管理或选课管理时,可通过当前目录下的功能进行信息的增删改查,也可直接返回上一级目录,也就是主菜单目录。之后再进行下一项操作,直到退出系统。
在这里插入图片描述

五、功能流程图

1. 增加学生信息
  输入待添加学生的学号,在数据库当中查找该学号。如果找到则说明数据库表中已经存储了该学生的信息。如果查找不到,则输入学生的姓名、班级和密码,最后添加信息到数据库并保存。
在这里插入图片描述
2. 删除学生信息
  输入待删除学生的学号,在数据库当中查找该学号。如果找到则删除该学生信息并保存。如果查找不到,则提示找不到该学生。
在这里插入图片描述
3. 修改学生信息
  输入待修改学生的学号,在数据库当中查找该学号。如果找到则修改该学生信息并保存。如果查找不到,则提示找不到该学生。
图 4.5 修改学生信息流程图

4. 查询学生信息
  输入待查询学生的学号,在数据库当中查找该学号。如果找到则输出该学生的信息。如果查找不到,则提示找不到该学生。
图 4.6 查询学生信息流程图

课程与学生所实现的功能的流程图类似,所以不再一一画出。

5. 学生选课
  输入待选课学生的学号,判断是否找到该学生,如果找不到返回提示信息。如果找到则输入待选课程号,如果存在该课程则进一步判断该学生是否已经选过该课程。如果没有选过则添加该选课信息到数据库并保存,否则输出提示该学生已经选过该课程。
图 5.7 学生选课流程图

6. 查看学生已选课程
  输入学生学号,查询已选课程表中该学生的所有选课记录。判断该学生是否有选课记录。如果有选课记录,则输出学号和课程号。如果没有选课记录,输出提示信息。
图 4.8 查看学生已选课程流程图

六、总结

  通过本次实验,熟悉了相关工具的使用和环境的配置,并掌握了一些处理报错的方法。
  在所有实现的功能中,花费时间最长的是查看学生已选课程的功能。最后实现该功能的方法是先输入学号,接着使用LINQ语句查询已选课程表中该学生所选的所有课程,并将查询结果存储在students变量中,最后遍历查询结果并将选课情况打印输出到控制台。
  在此次实践中我深刻理解了系统设计的步骤、流程以及思路,还加深了对数据库的认识,并认识到了以前所学基础课程的重要性。而且这次实验也使我掌握了很多新知识,特别是一些课本之外的内容,体会到了理论知识和实践相结合的重要性。

  • 3
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论
系统分析 在本系统中,有三类用户:系统管理员,教师和学生。三种不同的用户所具有的操作权限以及操作内容均不一样。 本选课系统给予教师很大的自主权,系统管理员只负责向系统中添加学生和教师的个人信息以及教学楼教室信息。系统管理员不参与开设课程、选择课程等,一切均由教师、学生等录网站自行完成。系统管理员设置一个选课时间段,在到达时间段以前,教师可以开设课程;到达时间段以后,学生可以登陆网站选择课程。 教师用户登陆网站后可以开设课程,为自己的课程编辑上课时间和地点,当系统中出现时间地点冲突的时候,系统向教师用户报告并推荐一个时间地点。每门课程可以是必修或则选修,教师为每门课程设置一个学分,并可以在课程结束后给予分数,如果学生及格,学生将获得该课程的学分。 对于学生用户,每个学生除了必须选择必修课程外,至少还要选择两门选修课程,学生可以对自己选课信息锁定,以免不小心被修改。当时候超过选课时段后,系统自动锁定学生选课课程。系统可以根据学生选课信息,生成一份学生自己的课表。课程结束后学生可登录网站查询成绩与学分。 根据上面的要求,从操作功能上可以分为两个类:一个是通用操作,主要实现用户的登录注销和修改密码等;另一种是为不同用户定制不同操作。 1。通用操作 (1)登录与注销 每个用户都可以用自己的帐号登录系统。用户操作完成后推出系统,注销后可以重新登录系统。 (2)修改密码 每个用户第一次登录都用默认密码(教师和学生与帐号一样)。 2。用户所具有功能 (1)系统管理员 设置选课时间段:系统管理员通过此项功能设置选课时段,只有在选课时间段里,学生才可以选择课程,超过次时间段,学生选课信息被自动所定,不得修改。 录入学生与教师个人信息:通过此项功能可以实现对教师和学生的个人信息添加删除。 录入教学楼教室信息:通过此项功能可以把学校里所有的教学楼教室的信息录入到系统中,以便教师在开设课程时候设置上课的教室。 (2)教师用户 显示和修改个人信息:教师用户登录系统后,可以查看和修改教师的个人信息,如姓名,电话,E-mail地址等。 开设课程:教师用户登录系统后,可以开设课程,可以设置该课程为必修课程或则选修课程,可以设置该课程的最大人数。教师还可以为该课程设置一个前导课程,若学生没有学习或则选择前导课程则不能选择该课程。 编辑课程上课时间:教师在开设了课程后,可以灵活地设置上课时间和地点。 给学生分数:课程结束后,教师用户登录系统,可以为学过课程的学生给予相应的成绩,若 及格,给予学生学分。 (3)学生用户 显示和修改个人信息:学生登录系统后,可以查看和修改学生的个人信息,如姓名,性别,电话等。 查看必修课程:学生登录后,可以查看所有的必修课程。查看该课程的信息,上课时间地点,开课教师信息等。 选择选修课程:学生登录系统后,在所有选修课程中可以选择至少两门选修课程。同时可以查看相关信息。 锁定选课信息:学生登录系统,确定了所选课程后,可以锁定自己的选课信息,以防被别人或则自己不小心修改。 查看最终选课信息:学生登录系统后,可列出已选择的课程,若选课信息未被锁定,则可以退选,若所选课程少于两门,系统会提示选择的课程少于两门。 查看学分和成绩 课程结束后,学生登录系统可查看自己学习课程的成绩和已获的学分。 首页login.aspx DB_51aspx下为Sql数据库,附加即可 学生、教师和管理员的默认帐号分别为:011、006、admin,密码均为51aspx 论文文档文件夹下为毕业论坛、开题报告、系统分析及演示PPT等

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

会举重的薯片

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值