1、(2)学生成绩信息的添加、修改和删除。学生成绩信息包括:学号、课程号、成绩和和学分。22查询功能 可以通过学号来查询学生基本信息,通过学号可以查询学生的选课信息,通过学号和学期查询学生的成绩,通过课程号查询该课程的信息。23统计功能统计学生某个学期或所有学期课程的总学分,统计学生某个学期的或所有学期的单科成绩或者总成绩。运行环境(1)硬件环境处理器:Inter Centrino Duo。内存:521MB。硬盘空间:80G。(2)软件环境操作系统:WindowsXP Microsoft visual c+ Microsoft access数据库3.总体设计系统的结构图学生信息管理系统是对学生的基
2、本信息和成绩信息进行管理,主要包括添加、修改和删除学生的基本信息及课程的基本信息;录入、修改和删除学生的成绩信息,对基本信息、成绩信息进行查询、排序及统计等操作,从而实现学生信息管理的自动化与计算机化。本课题将实现一个简化的学生信息管理系统。 (1)添加信息:使用这个模块,可以添加学生的基本信息,包括学生的学号,姓名,民族,性别,籍贯,出生年月日,政治面貌,学院,专业,所在年级,寝室地址,毕业院校,身份证号,电子邮箱,联系电话,家庭住址,备注等。(2)成绩导入:包括学号,课程编号,课程名称,学分,成绩。(3)信息查询:包括学号,姓名,班级,学院。(4)成绩查询:包括课程名称,课程编号。(5)个
3、人信息:当点击这个按钮时,可以显示当前某个人的信息。(6)查看成绩:点击这个按钮时,可以显示当前这个人的所有成绩。设计数据库 用Microsoft Access创建一个数据库,含有3个主要数据表:学生基本信息表student、课程信息表couese和学生成绩表score。这3个数据表的结构如表13所示。这几个表中,学号studentno和课程号courseno内容都是唯一的,分别是student和course表中的主关键字。Score表中的studentno和student表中的同名字段相对应,字段course和course表中的courseno字段相对应。说明:由于student和cours
4、e表中都有专业字段,因此为便于用户操作,需要一个专业数据字典。该数据字典也作为数据库的一个数据表speical,其结构如表4所示。表1 学生基本信息表(student)结构序号字段名称数据类型字段大小小数位字段含义12345studentnamestudentnoxbbirthdayspeical文本是/否日期/时间201050姓名学号性别出生年月专业表2 课程信息表(course)结构67coursenospecialcoursenamecoursetypeopentermhourscredit数字字节单精度课程号所属专业课程名课程类型开学学期课时数学分表3 学生课程成绩表(score)结构
5、coursescore8成绩 4.详细设计该系统包含多个模块,期中重要的有6大模块,添加信息,成绩导入,信息查询,成绩查询,个人信息,查看成绩。该系统的主界面如图2所示。图2系统的主界面信息查询的设计下面我们对信息查询做详细的设计。信息查询这个模块的功能主要通过某个学生的某一项信息,比如学号,班级,姓名,专业,年级,然后查询到这个学生的多个信息。比如通过学生的学号,可以查询到这个学生所在学院,所在班级等。当我们点击信息查询这个按钮时,显示一个对话框,如图3所示。图3信息查询的界面 当我们点击信息查询按钮时,会立刻弹出一个对话框,期中对话框中包括一个列表框,列表框中包括学号,姓名,学院,专业,年
6、级,列表框中还包括2个按钮,一个查找按钮,一个取消按钮。使用CRecordSet类的成员变量m_strFilter、m_strSort和成员函数Open可以对表进行记录查询。(1)打开Ex_ODBC应用程序的表的单资源,按如图4所示的布局添加控件,七宗添加的编辑框ID号设为IDC_EDIT_QUERY,查询按钮的ID号设为IDC_BUTTON_QUERY.图4添加控件(2)用MFC classwizard为控件IDC_EDIT_QUERY添加关联变量m_strQuery.(3)在CEx_ODBCView类中添加按钮控件IDC_BUTTON_QUERY的BN_CLICKED消息映射,并在映射函数
7、中添加下列代码:void CMemberView:RemoveAll() c+实用教程M.北京高等教育出版社, 83-1262孙越编着.Visual C+数据库开发自学教程M.人民邮电出版社 50-753王彬华,李建华编着.Visual C+实例教程M电子科技大学出版社 4李春葆,曾平编着数据库原理与应用M. 北京清华大学出版社, 41-74附录:#include #ifdef _DEBUG#define new DEBUG_NEW#undef THIS_FILEstatic char THIS_FILE = _FILE_;#endif/ CMemberView printingBOOL CM
8、emberView:OnPreparePrinting(CPrintInfo* pInfo) / default preparation return DoPreparePrinting(pInfo);OnBeginPrinting(CDC* /*pDC*/, CPrintInfo* /*pInfo*/) / TODO: add extra initialization before printingOnEndPrinting(CDC* /*pDC*/, CPrintInfo* /*pInfo*/) add cleanup after printing/ CMemberView diagnos
9、ticsAssertValid() const CListView:AssertValid();Dump(CDumpContext& dc) constDump(dc);CMemberDoc* CMemberView:GetDocument() / non-debug version is inline ASSERT(m_pDocument-IsKindOf(RUNTIME_CLASS(CMemberDoc); return (CMemberDoc*)m_pDocument;#endif /_DEBUG/ CMemberView message handlers /增加指针变量指向ListVi
10、ew的CListCtrl CListCtrl *ctl; ctl=&GetListCtrl(); /删除CListCtrl中的所有记录 ctl-DeleteAllItems();/strSearch查询条件 strMember关键字ListMember(CString strSearch,CString strMember) /前此输出的用户记录 RemoveAll(); /建立一个指针,用以操作ListCtrl输出用户记录 /创建CMemberReSet的实例 CMemberReSet m_MemberReSet; /记录用户序号 int i=0; /定义一个变量来保存%以便设置SQL语句 char chrTemp=%; CString strTemp; try if() (); /设置查询条件MemName=strMemberName if(strMember=) AfxMessageBox(请输入关键字); return; if(strSearch=学号 CString str; (select * from member where MemID = %s order by MemID ASC,strMember);
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1