C版本学生信息管理系统Word下载.docx
《C版本学生信息管理系统Word下载.docx》由会员分享,可在线阅读,更多相关《C版本学生信息管理系统Word下载.docx(22页珍藏版)》请在冰豆网上搜索。
、系统
选课信息管理模块主要包括添加课程信息、修改学分等操作。
成绩信息模块主要包括查看学生的选课成绩等操作。
用户管理模块主要可以用来注册新用户,并可以用新用户来登陆系统。
三、系统分析
需求分析
学生信息管理系统的用户是学校的老师,它可以有效的管理学生信息情况。
管理员可以创建用户,增加和修改用户信息以及删除用户信息,和对学校一些学生信息的编辑等。
该系统包括基本学生基本信息、成绩信息管理、选课信息管理等主要模块。
每一个功能模块都需要针对不同的表来完成相同的数据库操作,即添加记录,修改记录,删除记录以及查询显示记录信息。
具体功能有以下几个方面。
开发环境
VisualStudio2010是一种可视化的、面向对象和调用事件驱动方式的结构化高级程序设计,可用于开发Windows环境下的种类应用程序。
它简单易学、效率高,且功能强大,可以与Windows的专业开发工具SDK相媲美,而且程序开发人员不必具有C/C++编程基础。
在Visual2010环境下,利用事件驱动的编程机制、新颖易用的可视化设计工具,使用Windows内部的应用程序接口(API)函数,以及动态链接库(DLL)、动态数据交换(DDE)、对象的链接与嵌入(OLE)、开放式数据访问(ODBC)等技术,可以高效、快速地开发出Windows环境下功能强大、图形界面丰富的应用软件系统。
四、总体设计
软件功能构成
学生信息管理系统是一个典型的数据库应用程序,由学生信息管理模块、课程信息管理模块、成绩信息管理模块等模块组成,允许授予权限的用户操作相应的菜单,从而实现数据信息的修改,查询,打印,统计等功能。
业务流程图
学生信息管理系统
系统管理
专业设置
班级管理
学生管理
课程管理
添加
功能
修改功能
删除功能
成绩管理
用户操作
五、数据库设计
数据库需求分析
在设计数据库结构时,以及可能地满足用户所提出的各项要求,同时又避免同时又要避免冗余数据产生。
由于在学生信息管理系统中,需要采集大量的信息,包括学生信息,班级信息,课程信息,成绩信息,专业信息等,如果不能够合理有效地组织数据表的结构,以及合理设置每张表所包含的字段,那么后期进行的数据的整理以及汇总时,就会增加编程人员的开发难度,并造成成绩效益的大幅度下降。
根据学生基本信息以及其他相关信息的特点,归纳出以下规律:
1.一个专业包括多个班级;
2.一个班在一个学期内开设多门课程;
3.每一门课程记录每一名学生的成绩;
4.一种角色对应一个和多个用户;
5.每一个学生可以贷款多项费用;
6.一个班级对应一个入学年份及学制;
7.一个班级包含多名学生;
8.每一个学生都有不同的学号;
9.每一个学生可以受奖励或处罚多次;
10.每一个学生可以获奖学金多次;
信息实体E—R图
学号
所在系别
姓名
学生
年龄
性别
学生信息实体E—R图
课程
课程信息实体E—R图
学生
专业
包含
班级
1N1N
1
拥有
N
课程
学生信息管理系统总E-R图
数据表设计
学生信息管理数据库采用MicrosoftSQLSERVER2010,在使用数据库过程中,接触最多的就是数据库中的表,表是数据存储的地方,是数据库最重要的部分。
这个系统数据库表由4个表构成,具体如下。
表student
主键是sno
字段
数据类型
长度
是否允许空值
字段描述
sno
int
N
学生学号
sname
char
10
学生姓名
ssex
2
Y
学生性别
sage
学生年龄
sdept
表course
cno
课程编号
cname
课程名称
cpno
先修课程编号
credit
学分
表Sc
类型
课程号
grade
成绩
表admin
主键是用户名
是否允许为空值
用户名
20
密码
6、实现过程
系统登录功能的实现
用户要使用本系统,首先必须通过系统的身份认证。
如果用户名错误或者不存在,密码错误3次后,对话框自动关闭。
具体代码如下:
namespace学生选课
{
publicpartialclassForm1:
Form
{
publicForm1()
InitializeComponent();
}
privatevoidbutton2_Click(objectsender,EventArgse)
();
}
privatevoidtextBox3_TextChanged(objectsender,EventArgse)
("
学生信息管理系统"
);
publicstaticFormfm=null;
privatestaticintErrorTimes=0;
privatevoidbutton1_Click(objectsender,EventArgse)
if=="
"
||=="
)
{("
提示:
请输入用户名和密码!
"
警告"
SqlConnectionconn=newSqlConnection("
Server=TC-PC;
IntegratedSecurity=true;
DataBase=学生"
SqlCommandcmd=newSqlCommand("
select*fromadminwhere用户名='
++"
'
and密码='
conn);
SqlDataReadersdr=();
if
登录成功!
提示"
Form2fm=newForm2();
else
ErrorTimes++;
用户名或密码不正确!
您还有"
+(3-ErrorTimes)+"
次输入密码的机会,请重新输入!
如果超过3次,系统将自动关闭"
if(ErrorTimes>
=3)
ErrorTimes=0;
}
主界面
publicpartialclassForm2:
publicForm2()
publicstaticFormfr=null;
if(fr==null)
Form3fr2=newForm3();
您已成功进入----学生管理!
=true;
publicstaticFormfw=null;
if(fw==null)
Form4fw3=newForm4();
您已成功进入----成绩信息!
publicstaticFormfe=null;
privatevoidbutton3_Click(objectsender,EventArgse)
if(fe==null)
Form5fe2=newForm5();
您已成功进入----选课信息!
publicstaticFormfu=null;
privatevoidbutton4_Click(objectsender,EventArgse)
{
if(fu==null)
Form10fr2=newForm10();
您已成功进入----用户管理!
privatevoidbutton5_Click(objectsender,EventArgse)
privatevoidForm2_Load(objectsender,EventArgse)
学生管理信息界面
publicpartialclassForm3:
publicForm3()
privatevoid添加学生ToolStripMenuItem_Click(objectsender,EventArgse)
Form6f2=newForm6();
=this;
=;
privatevoid学生列表ToolStripMenuItem_Click(objectsender,EventArgse)
Form7f2=newForm7();
privatevoid退出ToolStripMenuItem_Click(objectsender,EventArgse)
privatevoidForm3_Load(objectsender,EventArgse)
成绩信息管理界面
代码具体如下:
publicpartialclassForm4:
publicForm4()
InitializeComponent();
stringstrcon="
;
SqlConnectioncon;
SqlDataAdapterda;
DataSetds;
privatevoidForm4_Load(objectsender,EventArgse)
{
i++)
intx=Convert.ToInt32([i].Cells[4].Value);
[0].Rows[i]["
grade"
]=x;
(ds);
=[0];
您已成功修改数据!
privatevoiddataGridView1_CellContentClick(objectsender,DataGridViewCellEventArgse)
stringstr=[0].();
stringsql="
deletefromscwheresno='
+str+"
stringconsqlserver="
SqlConnectioncon=newSqlConnection(consqlserver);
SqlCommandcmd=newSqlCommand();
=sql;
=con;
您已成功删除数据!
选课信息界面
publicpartialclassForm5:
publicForm5()
privatevoidForm5_Load(objectsender,EventArgse)
;
deletefromcoursewherecno='
}
添加学生信息界面
具体代码如下
publicpartialclassForm6:
publicForm6()
SqlConnectionconn=newSqlConnection("
server=TC-PC;
database=学生;
integratedSecurity=true"
insertintostudent(sid,sname,ssex,sage,sdept)values('
++"
'
)"
SqlCommandcomm=newSqlCommand(sql,conn);
if==
if())>
0)
="
成功!
失败!
privatevoidForm6_Load(objectsender,EventArgse)
学生列表界面
代码具体如下
using学生选课
publicpartialclassForm7:
publicForm7()
privatevoidForm7_Load(objectsender,EventArgse)
//TODO:
这行代码将数据加载到表“学生”中。
您可以根据需要移动或删除它。
学生;
添加成绩界面
publicpartialclassForm8:
publicForm8()
insertintosc(sno,sname,cno,cname,grade)values('
privatevoidForm8_Load(objectsender,EventArgse)
选课添加界面