C#课程设计学生管理系统昆明学院_第1页
C#课程设计学生管理系统昆明学院_第2页
C#课程设计学生管理系统昆明学院_第3页
C#课程设计学生管理系统昆明学院_第4页
C#课程设计学生管理系统昆明学院_第5页
已阅读5页,还剩21页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、课程设计(大作业)报告课程名称:C#语言程序设计 设计题目: 学生成绩管理系统 院 系: 信息技术学院 班 级: 计算机科学与技术3班 设 计 者: 严亮 学 号: 4 指导教师: 朱军 设计时间: 2014.12.29-2015.1.2 信息技术学院目录课程设计(大作业)报告1昆明学院课程设计(大作业)任务书1课程设计题目:1课程设计要求:1工作计划及安排:1课程设计(大作业)成绩2课程设计题目:2总结:2指导教师评语:2成绩:2设计报告3一、需求分析3二、总体设计3三、详细设计4四、编码7五、测试的步骤和内容23六、课程设计总结24七、参考资料24昆明学院课程设计(大作业)任务书姓 名:严

2、亮院(系):信息技术学院专 业:计算机科学与技术学 号:4任务起止日期:2014.12.29-2015.1.2课程设计题目:学生成绩管理系统课程设计要求:设计一程序,使之能提供以下功能:1要求利用C#语言面向过程的编程思想来完成系统的设计。2突出C#语言的面向对象特征,以多个类现每一个子功能。3画出功能模块图。4写出程序,并调试程序,要给出测试数据和实验结果。5进行简单界面设计,能够实现友好的交互。6具有清晰的程序流程图和数据结构的详细定义。 7熟练掌握C#语言对数据库访问的各种操作。8实验环境要求:Visual Stuudio 2010 或Visual Stuudio 2005。工作计划及安

3、排:课程设计时间为一周或两周,分五个阶段完成: 1分析设计:明确设计要求,找出实现方法,完成需求分析和总体设计。 2详细设计:编写各模块对应函数和主函数,编写C#代码。 3编码调试阶段:测试运行程序、调试代码,找出不足和错误,修改并改善。 4总结报告阶段。总结设计工作,写出课程设计说明书。 5考核阶段。指导教师签字 2014年 12 月 31 日 课程设计(大作业)成绩学号:4 姓名:严亮 指导教师:朱军课程设计题目:学生成绩管理系统总结:1.了解了项目开放的流程。2.知道了一些C#常见的错误。3.了解了查找资料和调试的思想。4.加固了对而外知识的了解(如SQL语句,软件配置文档)。5.团队合

4、作的重要性指导教师评语:成绩:填表时间:指导教师签名:设计报告源码和文档下载:/cyF3MUbQwCjF9 提取码 92d5一、 需求分析通过C#实现对学生成绩的管理和学生信息的管理二、 总体设计(一)登录窗口(用例图)(二)注册实现(三)同学模块1.看成绩2.查课程表3.改密码4.改个人信息5.文本方式保存信息(四)老师模块1.显示所有学生信息2.改个人密码3.改学生信息4.改学生成绩5.添加学生6.删除学生7.学生登录错误次数清零(五)数据库结构设计(六)系统层次图三、 详细设计(一)功能设计:(1)登录窗口实现用户名光标移出时就能检测用户名是否存在实现登录错

5、误次数只能三次可是实现学生和教师登录的切换(2)注册窗口用户名的检测,如果已有此用户,提示不能注册对两次密码是否相同做检测(3)学生模块主窗体1.现实学生的个人信息(如:学号、出生日期、姓名、性别、专业和国籍等)保存个人信息1.通过文本的方式保存个人信息保存成绩1.通过文本的方式保存个人成绩刷新初始化页面1.通过在不同的条件下对一些数据的修改之后页面没有更新而实现刷新2.可以通过按键F5在主页面上刷新密码修改1.修改密码对两次密码的检测个人信息的修改1.在点击的时候就把初始化数据显示在窗口上成绩的现实课程表的实现1.窗口加载前就对班级进行确定,并且显示本班的课程表关于界面(4)教师模块主窗体1

6、.显示学生信息2.对班级的选择和智能的排序能做到嵌套筛选后排序3.能对学生所有字段的内容做智能的检索保存当前页面1.可以把本窗口中的信息保存成文本格式(把筛选信息也要加到文本提示中)刷新修改登录密码(和学生一样)修改学生信息1.通过输入学号检索学生信息并且现实2.对修改后的属性有初始化功能修改或者上传课程表1.通过工具栏对课程表班级的切换2.班级直接具备初始化的内容的过程修改或者上传同学成绩1.通过学学号检索成绩删除同学1.删除同学时有警告操作添加学生错误次数的清零1.实现所有同学错误次数为3的进行清零,以便可以登录(二)数据库设计(1)学生表(T_Student)字段类型约束IdintPri

7、mary key,自增Numnvarchar(50)nullPasswordnvarchar(20Not nullNamenvarchar(10)nullBirthdaydatetimenullSexnvarchar(1)nullXueyuannvarchar(20)nullZhuanyenvarchar(20)nullPhonenvarchar(20)nullZhenzhinvarchar(10)nullClassnvarchar(20)外键(班级表的主键),not nullMathintnullChineseintnullEnglishintnullC#intnullJavaintnull

8、SqlintnullErrortimesintnullAddressnvarchar(50)null(2)班级表(T_Class)字段类型约束Classnvarchar(20)Primary key(3)教师表(T_Teacher)字段类型约束IdintPrimary key,自增Numnvarchar(50)nullPasswordnvarchar(20)nullNamenvarchar(10)nullErrortimesintnull(4)课程表(T_Kb)字段类型约束IdintPrimary key,自增Classnvarchar(20)外键(班级表的主键),not nullXq1_1n

9、varchar(30)NullXq1_2nvarchar(30)null(5)省表(Province)字段类型约束ProvinceIDintPrimary keyNamenvarchar(50)Not null(6)市表(City)字段类型约束CityIDintPrimary keyProvinceIDint外键,省表(ProvinceID)Namenvarchar(50)Not null四、 编码(一)登录窗体点击登录private void btlngin_Click(object sender, RoutedEventArgs e)1.判断选择的是否是学生(是跳转2,否跳转9)2.通过文

10、本框中值到学生表中查找是否有本用户名(有跳转3,无跳转8)3.判断错误次数是否大于3(是跳转4,否跳转5)4.提示登录次数过多5.判断密码框中的数据库中本用户名密码是否相同(相同跳转6,不相同跳转7)6.在数据库中吧错误次数清零,把学号传到学生窗口的num字段,把登录窗口关闭的同时打开学生窗口7.提示剩余登录次数,并且把数据库中的错误次加18.提示用户不存在9.通过文本框中值到教师表中查找是否有本用户名(有跳转10,无跳转15)10.判断错误次数是否大于3(是跳转11,否跳转12)11.提示登录次数过多12.判断密码框中的数据库中本用户名密码是否相同(相同跳转13,不相同跳转14)13.在数据

11、库中吧错误次数清零,把老师账号传到教师窗口的num字段,把登录窗口关闭的同时打开老师窗口14.提示剩余登录次数,并且把数据库中的错误次加115.提示用户不存在登录流程图 1点击注册private void btzc_Click(object sender, RoutedEventArgs e)1.判断选择是是否是学生(是2,否3)2.打开注册窗口3.提示老师不能注册,如需注册清河管理员联系移除用户名文本框时private void txtnum_LostFocus(object sender, RoutedEventArgs e)1.判断选择是是否是学生(是2,否5)2.判断这个用户是否在数据

12、库中存在(存在3,否4)3.提示信息清空4.提示无次用户名,然后光标到用户名文本框中5.判断这个用户是否在数据库中存在(存在6,否7)6.提示信息为空7.提示无次用户名,然后光标到用户名文本框中光标移除用户名流程图 1登录窗口 1(二)注册窗体清空private void button2_Click(object sender, RoutedEventArgs e)1.清空所有文本框的内容,光标到用户名文本框中注册private void button1_Click(object sender, RoutedEventArgs e)1.判断两次密码是否相同(是2,否3)2.两次密码不一致并且退

13、出3.判断此用户名是否注册(是4,否5)4.提示此号已被注册5.把用户名和密码等更新到学生表中并且提示注册成功注册 1窗口初始化private void Window_Loaded(object sender, RoutedEventArgs e)1.从班级中把班级名称加载到cbbclass中光标移除确定密码框时private void password2_LostFocus(object sender, RoutedEventArgs e)1.判断两个密码框的内容是否相等(是2,否3)2.清空提示,退出3.提示两次密码不一致光标移除用户名文本框时1.判断此用户名是否已被注册(是2,否3)2.

14、提示此用户名已被注册3.清空提示注册窗体 1(三)学生模块(1)主窗体窗体加载private void Window_Loaded(object sender, RoutedEventArgs e)1.把登录窗口传入的用户名设置为本窗口的标题2.通过用户名把本人信息填充到页面的对应位置(如:出生日期、姓名、姓名等)学生主窗体 1(2)保存个人消息保存个人消息(菜单文件中)private void MenuItem_Click_5(object sender, RoutedEventArgs e)1.定义字符串保存个人信息的所有内容2.创建SaveFileDialog,并做文件过滤(保存文件做过

15、滤意义不大)3.判断文件路径是否确定(是4,否5)4.创建文件写入流,把消息字符传写到制定的路径文件内5.提示保存失败保存个人信息 1保存个人信息 2(3)保存个人成绩保存成绩(菜单文件中)private void MenuItem_Click_6(object sender, RoutedEventArgs e)1.定义字符串保存个人成绩的所有内容2.创建SaveFileDialog,并做文件过滤(保存文件做过滤意义不大)3.判断文件路径是否确定(是4,否5)4.创建文件写入流,把消息字符传写到制定的路径文件内5.提示保存失败(注:流程图和保存个人信息一直)保存成绩 1(4)刷新(F5)(更

16、改信息后刷新使用)点击刷新(菜单文件下)private void MenuItem_Click_3(object sender, RoutedEventArgs e)1.调用Free()方法F5刷新(方法写在窗体内)private void Window_KeyDown(object sender, KeyEventArgs e)1.e.key是否等于按键中的F5(是2,否3)2.调用Free()方法后退出3.退出页面刷新Free()方法private void Free()1.把个人信息从数据库中提出来补充到主窗体的对应位置(5)修改密码光标出来时对两次密码的判断private void p

17、assword2_LostFocus(object sender, RoutedEventArgs e)1.如果两个密码框中的内容不一致(是2,否3)2.提示两次密码不一致3.清空提示内容清空private void button2_Click(object sender, RoutedEventArgs e)1.把两个密码框都清空,光标移动到第一个密码框确定密码修改private void button1_Click(object sender, RoutedEventArgs e)1.判断两密码框聂荣是否相等(是2,否3)2.把密码提交到数据库Errortimes的字段中,提示修改成功,并

18、且关闭了这窗口3.提示两次密码不一致,退出学生端密码修改 1(6)修改信息窗体加载private void Window_Loaded(object sender, RoutedEventArgs e)1.创建集合保存数据库中省信息(Province有属性Id,Name)2.把集合填充到选择框省中3.创建集合保存班级4.把班级集合添加到班级选择框中5.创建集合保存政治面貌6.把政治面貌集合添加到政治面貌选择框中7.把剩余信息添加从数据库填充完善页面初始化private void button2_Click(object sender, RoutedEventArgs e)1.数据从数据库中重新

19、填充一次提交个人信息到数据库private void button1_Click(object sender, RoutedEventArgs e)1.数据填充到本人学生表中省选择框改变触发市选择框的联动读取省选择框中的选项后获得省Id,方便在市表里查找本省有哪些市创建集合保存本省的市把保存市的集合填充到市的选择框中学生修改个人消息 1(7)查看成绩窗体加载private void Window_Loaded(object sender, RoutedEventArgs e)1.从数据库中把成绩填充到这页面中查询成绩 1(8)查看课表窗体加载private void Window_Loaded

20、(object sender, RoutedEventArgs e)1.通过本同学的班级在课程表中查出课程消息然后显示在窗口中查看课程表 1(9)关于关于 1(四)老师模块(1)主窗体窗体加载private void Window_Loaded(object sender, RoutedEventArgs e)1.把从登陆窗口传过来的老师ID设置成本窗口标题2.创建集合一个班级几个放入选择框中(在第一行添加一个所有),最后把选择框设置成索引为0(设置其实就是改变索引的过程,所以会自动去到下面找)3.创建集合保存几种排序的方式,并且把索引设置成0!(设置其实就是改变索引的过程,所以会自动去到下面

21、找后显示)显示学生消息private void showWindows(String sql, params SqlParameter parameters)创建字符串为了保存学生消息,并且设置为空(为了点刷新的时候不不限数据的累加)把信息填充到文本框中改变班级选择框索引private void cbbclass_SelectionChanged(object sender, SelectionChangedEventArgs e)1.如果班级的索引是所有?(是2,否12)2.判断排序的索引是0(是3,否4)3.显示所有学生到所有文本框中4.判断排序的选择索引是否1(是5,否6)5.采用所有同

22、学按字母排序6.判断排序的选择索引是否2(是7,否8)7.采用所有同学按成绩总和降序8.判断排序的选择索引是否3(是9,否10)9.采用所有同学按成绩总和升序10.判断排序的选择索引是否4(是11)11.采用所有同学按班级排序12.获取选择班级13.判断是否选择排序的的索引是否是0(是14,否15)14.显示本班级下所有15.判断是否选择排序的的索引是否是1(是16,否17)16.显示本班级并按字母排序17.判断是否选择排序的的索引是否是2(是18,否19)18.显示本班级并按成绩总和降序19.判断是否选择排序的的索引是否是3(是20,否21)20.显示本班级并按成绩总和升序21.判断是否选择

23、排序的的索引是否是3(是22)22.显示本班级并按班级排序班级索引改变 1排序改变private void cbbpaixv_SelectionChanged_1(object sender, SelectionChangedEventArgs e)(注:和方法一样,只是反过来查询)检索实现private void btjiansuo_Click(object sender, RoutedEventArgs e)采用模糊查询,把工具栏中的文本框中文本带到所有学生记录消息中查询老师主页 1(2)保存当前页保存本页面信息private void MenuItem_Click_1(object se

24、nder, RoutedEventArgs e)1.获得两个选择框中个值做文件标题2.创建字符串保存文本框中的文本3.创建文件流并保存文件保存当前页 1(3)刷新(注:和学生窗口一样)(4)修改密码(注:和学生一样)教师修改个人密码 1(5)修改学生信息(注:和学生修改一样,只是多了一个学号检索)教师修改学生信息 1(6)修改或者上传课程表(注:初始化过程和学生看课程表一直,只是多了班级检索并且上传课程表)修改或上传课程表 1(7)修改或者上传成绩学生检索private void Button_Click(object sender, RoutedEventArgs e)通过学号填充成绩上传成

25、绩private void button1_Click(object sender, RoutedEventArgs e)把改好的成绩上传到本学号中老师上传或者修改成绩 1(8)删除学生确定删除private void button1_Click(object sender, RoutedEventArgs e)1.通过学号检索有没有本学号(有2,无5)2.提示是真的要删除吗?(是3,否4)3.删除4.不删除5.提示没有本学生教师删除学生 1(9)添加学生初始化长提private void Window_Loaded(object sender, RoutedEventArgs e)1.把班级名填充到班级选择框中2.把政治面貌填充到政治面貌选择窗中提交创建private void txtnum_LostFocus(object sender, RoutedEventArgs e)1.如果有用户名存在,则创建失败2.提交数据到数据库检测用户名是否存在private void txtnum_LostFocus(object sender, Ro

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论