您好,欢迎访问三七文档
当前位置:首页 > 商业/管理/HR > 企业财务 > 学生选课系统C#(完美终结版)
电子信息工程专业课程设计题单班级088205242学生朱振华课程名称专业课程设计课题学生选课系统设计要求利用VisualC#和SQLsever(或者Access)的开发环境实现一个学生选课系统,数据库中要包含学生、课程、选课等表。课题发给日期2011.6.11课程设计完成日期2011.6.20指导教师评语:评分:1摘要本文设计并实现了一个简单的学生选课系统,它是学生选课的平台,含登陆界面,三种角色(学生用户、教师用户、教务员)在输入正确密码的前提下方能进入系统。进入系统后学生可以在这个平台进行选课、查看所选课程以及成绩,教师可以查看个人资料,学生信息以及成绩录入和查看,教务员可以查看个人资料、学生信息,更改成绩。系统设计的目的是方便选课的顺利进行。学生选课系统具有以下特点:·用户登录按角色进行登录;·学生可以根据要求和自身条件选择自己喜欢的学科;·教师可以查看学生资料以及登分等;·教务员可以查看学生、教师、以及自己的资料,更改学生成绩等。本系统后台数据库采用SQLServer2000,前台采用C#作为开发工具。本系统的主要功能包括以下几个方面:·用户登录以及密码修改·学生选课以及相关查询·教师登分以及相关查询·教务员可以更正学生分数以及做其相应工作关键字:信学生选课数据库C#SQLServerAccess2目录一系统概述……………………………………………………3二系统设计……………………………………………………102.1系统设计思想………………………………………………102.1系统功能模块划分…………………………………………10三数据库设计……………………………………………………113.1数据库需求分析……………………………………………113.2数据库概念结构设计………………………………………113.3数据库逻辑结构设计………………………………………12四模块分析及设计……………………………………………144.1登录界面实现……………………………………………144.1.1登录(含密码修改)界面设计………………………144.1.2登录(含密码修改)界面设计代码…………………154.2学生用户界面………………………………………………194.2.1学生主界面……………………………………………194.2.2选课列表及本次选课结果界面………………………224.2.3个人信息及选课要求界面……………………………264.3教师用户界面………………………………………………294.3.1教师用户登录主页面…………………………………294.4教务员界面…………………………………………………304.4.1教务员登录主页面……………………………………33五课程调试……………………………………………………38六课程总结……………………………………………………39七、课程总结……………………………………………………403一系统概述1.1系统功能与应用背景随着社会的进步,作为代表科学前沿的学生所学的课程也在不断增加。相应的公共任选课业越来越多。为了解决上述问题,本系统提供了一套学生选课管理的平台,使得教务管理人员对学校的选课工作得以改善。1.2系统预览(学生部分)图1-1为学生选课系统的登陆界面,由相应的学生用户、教师用户、教务员正确输入用户名和密码以及选择正确的相应角色后方可成功登陆。成功登陆后系统转至相应的程序主界面。4图1-1系统登陆窗体图1-2登录异常(密码错误)图1-3修改密码时出错(两次输入密码不同)5图1-4修改密码(密码不可见)6图1-5学生进入选课系统的主界面图1-6学生个人信息7图1-7选课要求图1-8选课列表8图1-9选课进行中图1-10查看选课结果9图1-11退出登录10二系统设计2.1系统设计思想本系统采用C#作为开发语言,采用结合后台Access数据库开发模式,优化了程序的代码及结构,提高了程序的运行效率。实例在.NET环境中进行开发,该环境提供了大量可供选择的对象,可以很方便地建立与数据库之间的连接,并在此链接的基础上,利用各种常用数据组件对数据库进行操作。在本系统中,采用OleDbConnection对象与后台数据库创建连接,所有针对数据库的操作都需要利用这个对象作为数据库连接对像。2.2系统功能模块划分根据本文开始部分描述的系统功能可以得到如图2-1所示的系统功能图。图2-1系统功能图退出登录修改员工删除员工个人信息选课列表选课结果选课要求添加收入浏览收入修改收入删除收入学生用户教务员浏览员工个人信息教师用户学生选课系统用户登录修改密码重置11三数据库设计3.1数据库需求分析在设计数据库结构时,应该尽可能满足用户提出的各项要求,同时避免冗余数据的产生。由于在学生选课系统中需要采集大量的信息,包括课程信息、学生信息、教师信息、教务员信息等,如果不能有效合理的组织数据表的结构以及每张表所包含的字段,那么在后期进行数据整理及汇总时,将增加开发人员的工作难度和工作量,根据学生和课程的基本信息及相关特点,可以总结出一下规律:·一个学生可以选择多门课程·一个教师只能教一门课·每个·每个员工都有自己对应的月收入·一个角色对应一个或多个用户3.2数据库概念结构设计根据数据库需求分析的结果,就可以确定程序中所包含的实体与实体之间的关系,作为数据库逻辑结构设计的基础与指导。根据本系统的需要,可以归纳出一下实体:工种信息实体、部门信息实体、员工信息实体、员工月收入实体。为了更好地理解各个实体及其含义,用E-R图(EntityRelationshipDiagram),即实体关系图对实体进行描述。用户实体如图3-1所示;课程实体如图3-2所示;图3-1工种息实体图用户名用户年龄密码性别角色电话12图3-2课程实体图3.3数据库逻辑结构设计系统数据库名称为db_Person,数据库中包括:①登录表;②course表;③student表;④xuanke表。下面列出各个表的数据结构,如表1--表4所示。表1登录表的数据结构字段名类型说明用户名文本主键密码文本性别文本男or女年龄文本角色文本课程地点起止时间任课教师课程号课程名学分13表2course表的数据结构字段名类型说明CID文本主键CName文本CWeekStart文本CWeekEnd文本CTName文本CAddress文本CTime文本表3xuanke表的数据结构字段名类型说明SIDchar一起设为主键CIDchar表4student表的数据结构字段名类型说明SID文本设为主键SAge文本SSex文本SKey文本SPhone文本14四模块分析及设计4.1.登录界面实现4.1.1登录界面(含密码修改)设计登录界面的作用就是让不同的用户能够凭密码进入相应界面。在登录界面中,包括三个控件,分别是textBox控件、label控件,comboBox、Button控件。图4-1主界面设计15图4-2密码修改4.1.2登录界面代码即密码修改代码登录界面的全部代码如下所示。usingSystem;usingSystem.Collections.Generic;usingSystem.ComponentModel;usingSystem.Data;usingSystem.Drawing;usingSystem.Text;usingSystem.Windows.Forms;usingSystem.Data.OleDb;//这个头文件不能少,不然无法调用Access数据库namespaceWindowsApplication116{publicpartialclassForm1:Form{publicstaticstringname=;//定义全局变量为后续窗口调用登录用户名做铺垫publicForm1(){InitializeComponent();}privatevoidbutton1_Click(objectsender,EventArgse){OleDbConnectionconn=newOleDbConnection(provider=Microsoft.Jet.OLEDB.4.0;+DataSource=D:\\学生选课.mdb);//连接到数据库(学生选课.mdb)conn.Open();//打开连接OleDbCommandcomm=newOleDbCommand();//创建OleDbCommand对象comm.Connection=conn;//以上代码连接并打开数据库comm.CommandText=select*from登录where用户名='+textBox1.Text+';//根据登录界面输入的信息去查询数据库内容OleDbDataReaderdr;dr=comm.ExecuteReader();//执行链接if(dr.Read()==true){if(dr[密码].ToString()==textBox2.Text&&dr[角色].ToString()==comboBox1.Text)//登录角色以及密码正确进入以下判断{name=textBox1.Text;//将登录用户名暂赋全局变量nameif(dr[角色].ToString()==学生用户)//学生用户跳转{this.Hide();Form2aa=newForm2();aa.Show();}elseif(dr[角色].ToString()==教师用户)//教师用户跳转{this.Hide();Form3aa=newForm3();aa.Show();}else//教务员跳转17{this.Hide();Form4aa=newForm4();aa.Show();}}else//登录角色或密码错误,报错{MessageBox.Show(登录角色错误或密码错误!);}}else//无法从数据库中调到用户资料,说明无此用户,报错{MessageBox.Show(无此用户!);}conn.Close();//关闭连接}privatevoidbutton2_Click(objectsender,EventArgse)//重置各textBox的内容{textBox1.Text=;textBox2.Text=;comboBox1.Text=学生用户;//角色对应内容重置为学生用户}privatevoidbutton3_Click(objectsender,EventArgse)//跳到修改密码界面{this.Hide();Form5aa=newForm5();aa.Show();}}}18密码修改界面代码:privatevoidbutton2_Click(objectsender,EventArgse){this.Hide();Form1aa=newForm1();aa.Show();}privatevoidbutton1_Click(objectsender,EventArgse){stringn=Form1.name;OleDbConnectionconn=newOleDbConnection(provider=Microsoft.Jet.OLEDB.4.0;+DataSource=D:\\学生选课.mdb);conn.Open();OleDbCommandcomm=newOleDbCommand();comm.Connection=conn;//以上代码连接并打开数据库comm.CommandText=select*from登录where用户名='+textBox4.Text+';//根据登录界面输入的信息去查询数据库内容OleDbDataReaderdr;dr=comm.ExecuteReader();if(textBox5.Text==王锦明){if(dr.Read()==true){if(dr[密码].ToString()==textBox1.Text&&textBox1.Text==textBox2.Text&&textBox3.Text!=){MessageBox.Show(恭喜你,密码修改成功!);}elseif
本文标题:学生选课系统C#(完美终结版)
链接地址:https://www.777doc.com/doc-1806180 .html