您的当前位置:首页正文

vc++6.0学生信息管理系统

2023-05-04 来源:好走旅游网
青岛科技大学本科VC课程设计(报告)

1引言

1.1项目的开发背景

学生信息管理系统是针对学校人事处的大量业务处理工作而开发的管理软件,是典型的管理信息系统(Management Information System)。它是一个教育单位不可缺少的部分,它的内容对于学校的决策者和管理者来说都至关重要,它能够为用户提供充足的信息和快捷的查询手段。能有效的帮助学校和老师掌握学生的基本情况。在传统模式下利用人工进行学生信息管理,存在着较多的缺点,如:效率底,保密性差,时间一长将产生大量的文件和数据,更不便于查找,更新,维护等。诸如这些情况,令学校管理者对学生的信息管理带来了很大困难,严重影响了教育工作者的工作效率。随着科学技术的不断提高,计算机科学日渐成熟, 使用日趋成熟的计算机技术来代替传统的人工模式,来实现学生信息的现代化管理,其强大的功能已为人们深刻认识,它已进入人类社会的各个领域并发挥着越来越重要的作用。作为计算机应用的一部分,使用计算机对学生信息进行管理,具有着手工管理所无法比拟的优点。例如:检索迅速、查找方便、易修改、可靠性高、存储量大、数据处理快捷、保密性好、寿命长、成本低、便于打印等。这些优点能够极大地提高学生信息管理的效率,也是学校的科学化、正规化管理,与世界接轨的重要条件。

1.2系统调研与可行性分析

基于VC课程的学生信息管理系统的设计与开发,主要是利用Visual C++6。0和Access数据库制作一个有特色的管理系统。

本系统的设计主要从以下几方面做起:系统的开发环境、系统需求分析、系统的数据库结构设计、系统的页面设计等。做这些工作需了解Visual C++6。0的使用和管理系统的相关知识。

(1)技术可行性:本系统主要是用Visual C++6.0作为网站的开发工具,使用了Access数据库来实现。虽然本次开发使用的工具和技术是目前比较旧的,但是微软出的产品最大的好处就是快速入门、益于上手,所以从这方面来看,技术上是可行的。

(2)经济可行性:现在各大教育单位有了自己的管理系统,这样就需要在管理中提供一个简单易操作可行性高的系统,也就是本项目所要开发的管理系统。并且开发一个小型的管理系统的成本也不高,是完全可以承受的.从这一方面来看,经济上是可行的。

1.3 本文的内容安排

本文共分六章,各个章节的内容安排如下:

1

学生信息管理系统

第一章是引言,介绍了项目的开发背景和系统调研与可行性分析.

第二章介绍系统的开发环境,着重介绍了Visual C++6。0和Access数据库以及MFC的相关知识等。

第三章是管理系统的需求分析,包括学生信息管理系统功能性需求。

第四章是概要设计,列出了系统的总体结构图,系统流程图,以基本系统所用到的数据库表。

第五章是系统的详细设计和实现,重点介绍了本系统权限模块的设计,并对各个界面进行了详细的分析。

第六章是总结,总结了本系统已经实现的功能和系统的不足。

青岛科技大学本科VC课程设计(报告)

2开发环境简介

2。1 Visual C++6.0特点

Visual C++6。0是功能最为强大的可视化开发工具之一,它不仅支持传统的软件开发方法,更重要的是它能支持面向对象、可视化的开发风格。因此Visual C++6.0又称作是一个集成开发工具,它提供了软件代码自动生成和可视化的资源编辑功能。

Visual C++ 具有多种优点:它提供了面向对象的应用程序框架MFC(Microsoft Foundation Class),简化了程序员的编程工作,提高了模块的可重用性;提供了基于CASE技术的可视化软件的自动生成和维护工具AppWizard、Class Wizard、Visual Studio、Wizard Bar等,实现了直观、可视的程序设计风格,方便地编辑和管理各种类,维护程序的源代码;封装了Windows的API函数、USER、KERNEL、GDI函数,简化了编程时创建、维护窗口的许多复杂的工作.

2。2 MFC的简介

MFC的英文全称是Microsoft Foundation Class Library,MFC中的各种类结合起来构成了一个应用程序框架,它的目的就是让程序员在此基础上来建立Windows下的应用程序,这是一种相对SDK来说更为简单的方法.因为总体上,MFC框架定义了应用程序的轮廓,并提供了用户接口的标准实现方法,程序员所要做的就是通过预定义的接口把具体应用程序特有的东西填入这个轮廓。

Microsoft Visual C++提供了相应的工具来完成这个工作:AppWizard可以用来生成初步的框架文件(代码和资源等);资源编辑器用于帮助直观地设计用户接口;Class Wizard用来协助添加代码到框架文件;最后,编译,则通过类库实现了应用程序特定的逻辑。

2.3 Access数据库的介绍

Access 是关系数据库开发工具,数据库能汇集各种信息以供查询、存储和检索。Access 的优点在于它能使用数据表示图或自定义窗体收集信息。数据表示图提供了一种类似于 Excel 的电子表格,可以使数据库一目了然。另外,Access 允许创建自定义报表用于打印或输出数据库中的信息。Access也提供了数据存储库,可以使用桌面数据库文件把数据库文件置于网络文件服务器,与其他网络用户共享数据库。Access 是一种关系数据库工具,关系数据库是已开发的最通用的数据库之一。Access 多用于中小型企业来设计中小型数据库,一般的学校教务系统的数据库用Access 来设计完全能达到要求。由于考虑到本系统是应用在单

3

学生信息管理系统

机系统上,只建立起一个数据库。

2。4本章小结

本章主要介绍了该学生信息管理系统的开发环境、MFC以及Access数据库。

青岛科技大学本科VC课程设计(报告)

3需求分析

3.1学生信息管理系统的介绍

本系统是基于VC课程开发的管理系统。用户使用本系统可以方便的管理学生基本信息。本系统共具有5大功能:既添加学生信息、修改学生信息、删除学生信息、学生信息查询、学生信息的排序。学生信息排序又细分为:按学号排序、按出生年月排序、按联系方式排序。

3。2学生信息管理系统功能性需求

本管理系统共分为五大功能:

系统登陆界面主要实现用户的登录、退出登录,系统设置模块主要是方便管理员对系统进行操作,包括系统中角色的管理,用户登录后,进入系统主界面,登录之后可以对系统内的所有功能进行管理。

基础数据管理模块主要实现管理员对学生信息的添加、修改、删除、查询、排序操作。 系统设置模块各功能性需求见下表所示:

表3-1用户登录界面

名称、标识符 功能描述 输入 操作序列 输出 补充说明 用户登录界面 使用系统指定的用户通过登录界面登陆系统 用户名、用户密码 验证输入信息的正确性,更改用户标识和权限(是否为管理员) 登录成功/失败、错误提示 所有注册用户都可使用 在系统中只有成功注册才能进入该系统,注册页面在系统中非常重要,在注册界面,用户必须填写用户名、密码,并且用户输入的用户名必须为系统指定的用户名和密码,本系统用户基本信息注册界面的功能性需求如下表3—4所示:

学生信息管理模块各功能性需求见下表所示:

学生信息管理界面

名称、标识符 功能描述 输入 操作序列 输出 补充说明 学生资料管理界面 用户可对其学生信息进行管理 学生的基本信息 用户可对其学生信息进行添加、修改、删除查询、排序操作 添加、修改、删除、查询、排序成功 所有功能都可使用

5

学生信息管理系统

3.3本章小结

本章主要介绍了基于VC++课程的学生信息管理系统的介绍、学生信息管理系统功能性需求.学生信息管理系统功能性需求介绍了各个模块各个页面的功能和实现。

青岛科技大学本科VC课程设计(报告)

4概要设计

在正式设计程序之前,先要作一个概要设计,概要设计目的主要是为程序系统的设计考虑,包括程序系统的总体结构,整个系统的流程,模块划分、功能分配等,为系统的详细设计、程序的具体实现打好基础.本章将主要介绍概要设计说明书。

4。1系统总体结构

本论坛系统共划分为五个模块,包括系统设置模块、基础数据管理模块、人事档案管理模块、数据库管理模块、会议记录模块,每个模块都有各自所实现的功能。系统总体结构如下图4-1所示[8]

学 生 信 息 管 理 系 统 添加学生信息 删除学生信息 修改学生信息 查询 排序

图4-1系统结构图

4.2系统流程图

当用户登陆系统时,首先呈现在用户面前的是登陆界面,输入正确的用户名和密码即可登录系统。成功登陆后,用户根据需要修改基本信息。如图4—2所示

7

学生信息管理系统

开始 登录 合法用户? 是 否 拥有管理员权限 弹出提示窗口 (可对所有页面 进行管理) 结束

图4-2 系统流程图

4。3数据库设计

本系统利用Access作为后台的数据库,建立数据库student.mdb。 首先对系统分析得到的数据进行分析,说明数据库基本结构的设计.

青岛科技大学本科VC课程设计(报告)

(1) 数据库学生表中的信息设计如图4-3所示:

图4-3为student中的表

4。4本章小结

本章主要介绍了学生信息管理系统的框架机构和系统流程以及数据库中各个表的信息

9

学生信息管理系统

5系统详细设计与实现

5.1用户登录界面

当用户进入到学生信息管理系统后,会进入登录页面。在登录页面上,用户必须正确填写用户名:admin,密码:1234,成功登录后用户才具有操作权限 ,否则会弹出提示信息。如图5—1所示

图5—1为用户登录页面 以下为用户登录页面部分代码: void Clogin1::OnOK() {

// TODO: Add extra validation here CDialog::OnOK();

this—>UpdateData(true); }

void Clogin1::OnCancel() {// TODO: Add extra cleanup here

if(this—>m_login_name==”admin” && this—〉m_login_pwd==”1234”) else

MessageBox(\"登录有误\"); CDialog::OnOK();

青岛科技大学本科VC课程设计(报告)

CDialog::OnCancel();

exit(0); }

5.2系统管理主界面

用户名和密码数如正确后进入系统管理主界面,在此页面上进行学生基本信息的添加、修改、删除等操作。 如图5-2所示

图 5—2为主界面

5。3各功能实现界面

基础数据管理包括:添加学生信息、修改学生信息、删除学生信息、查询、排序。管理员点击“添加信息\"按钮会弹出一个“添加学生信息\"页面按照要求填写,填写完毕后同系统会将信息提交给数据库每项设置所对应的表。

11

学生信息管理系统

5。3.1添加学生信息

图5—3为添加学生信息设置过程

青岛科技大学本科VC课程设计(报告)

以下为添加学生信息页面的部分代码:

void CStudentView::OnButton1() {

// TODO: Add your control notification handler code here Cadd dlg;

//dlg.DoModal();

if(dlg.DoModal()==IDOK) {

m_pSet-〉AddNew();

m_pSet—>m_number=dlg。m_number; m_pSet->m_name=dlg。m_name; m_pSet—>m_birth=dlg.m_birth; m_pSet—>m_sex=dlg.m_sex; m_pSet—〉m_age=dlg.m_age; m_pSet—〉m_tel=dlg。m_tel; m_pSet—〉Update(); m_pSet—>Requery();

int nChoice = MessageBox(\"确认添加记录?”,\"确认\

MB_OKCANCEL|MB_ICONQUESTION); AfxMessageBox(\"记录添加成功!\"); OnInitialUpdate(); UpdateData(false); } }

13

学生信息管理系统

5。3.2修改学生信息

图5—4为修改学生信息过程

以下为修改学生信息部分代码:

void CStudentView::OnButton2() { // TODO: Add your control notification handler code here Cedit dlg; //dlg。DoModal(); dlg.m_number=m_pSet->m_number; dlg。m_name=m_pSet—〉m_name;

青岛科技大学本科VC课程设计(报告)

dlg.m_birth=m_pSet—〉m_birth; dlg。m_sex=m_pSet—>m_sex; dlg。m_age=m_pSet->m_age; dlg。m_tel=m_pSet-〉m_tel; if(dlg.DoModal()==IDOK) { m_pSet—〉Edit(); m_pSet—>m_number=dlg.m_number; m_pSet—〉m_name=dlg。m_name; m_pSet->m_birth=dlg.m_birth; m_pSet->m_sex=dlg。m_sex; m_pSet-〉m_age=dlg。m_age; m_pSet->m_tel=dlg.m_tel; m_pSet->Update(); m_pSet->Requery(); OnInitialUpdate(); UpdateData(false); } }

5.3.3删除学生信息

注:在删除学生信息的过程中,删除的是左边学生基本信息框中显示的当前学生:如图:现在显示的是学号为17,姓名为徐丽的信息,单击“删除信息”按钮后,就删除了该学生的信息,记录返回到第一条记录的位置。

15

学生信息管理系统

图5—5为删除学生信息页面

以下为删除学生信息的部分代码:

void CStudentView::OnButton3() { // TODO: Add your control notification handler code here CRecordsetStatus status; m_pSet—〉GetStatus(status); m_pSet->Delete(); if(status.m_lCurrentRecord ==0) m_pSet->MoveFirst(); else m_pSet—〉MoveLast(); m_pSet-〉Requery();

青岛科技大学本科VC课程设计(报告)

UpdateData(false);

// int nChoice = MessageBox(”确认删除记录?”,”确认”,MB_ICONQUESTION | MB_OKCANCEL); AfxMessageBox(”删除成功!”); OnInitialUpdate(); }

5.3。4学生信息查询

图5—6为查询页面

以下为查询学生信息的部分代码: void CStudentView::OnButton4() { // TODO: Add your control notification handler code here UpdateData(true); m_find。TrimLeft(); if (m_find.IsEmpty()) { MessageBox(”要查询的学号不能为空!\"); return; } if (m_pSet-〉IsOpen()) m_pSet—>Close(); // 如果记录集打开,则先关闭

17

学生信息管理系统

m_pSet-〉m_strFilter。Format(”number='%s’”,m_find); // studentno是score表的字段名,用来指定查询条件 m_pSet—〉m_strSort = \"number\";

// course是score表的字段名,用来按course字段从小到大排序 m_pSet—>Open(); // 打开记录集 if (!m_pSet->IsEOF()) { m_pSet->Requery();// 如果打开记录集有记录 UpdateData(FALSE); OnInitialUpdate(); } else MessageBox(\"没有查到你要找的学生记录!”); }

5。3。5学生信息排序

图5—7-1为按学号排序

青岛科技大学本科VC课程设计(报告)

图5-7-2为按出生年月排序

图5—7-3为按联系方式排序

19

学生信息管理系统

以下为排序学生信息的部分代码:

void CStudentView::OnInitialUpdate() { m_pSet = &GetDocument()-〉m_studentSet; CRecordView::OnInitialUpdate(); GetParentFrame()—〉RecalcLayout(); while(!m_pSet->IsEOF()) { m_pSet->MoveNext(); m_pSet—〉GetRecordCount(); } m_pSet—〉MoveFirst(); m_MSFGrid.SetCols(m_pSet->m_nFields+1); m_MSFGrid.SetRows(m_pSet->GetRecordCount()+1); m_MSFGrid。SetColWidth(1,800); m_MSFGrid.SetColWidth(2,800); m_MSFGrid。SetColWidth(3,800); m_MSFGrid.SetColWidth(4,800); m_MSFGrid。SetColWidth(5,800); m_MSFGrid.SetColWidth(6,800);

m_MSFGrid.SetRow(0); m_MSFGrid。SetCol(1); m_MSFGrid。SetText(”学号\"); m_MSFGrid。SetRow(0); m_MSFGrid.SetCol(2); m_MSFGrid.SetText(\"姓名”); m_MSFGrid。SetRow(0); m_MSFGrid。SetCol(3); m_MSFGrid.SetText(\"性别”); m_MSFGrid.SetRow(0); m_MSFGrid。SetCol(4); m_MSFGrid。SetText(\"年龄\"); m_MSFGrid.SetRow(0); m_MSFGrid.SetCol(5); m_MSFGrid.SetText(\"出生年月\"); m_MSFGrid.SetRow(0); m_MSFGrid.SetCol(6); m_MSFGrid.SetText(\"联系方式”);

青岛科技大学本科VC课程设计(报告)

int iRow=1; while(!m_pSet—>IsEOF()) { CString str; str。Format(”学号%d\",iRow); m_MSFGrid.SetRow(iRow);m_MSFGrid。SetCol(0); m_MSFGrid.SetText(str); m_MSFGrid.SetRow(iRow);m_MSFGrid。SetCol(1); m_MSFGrid。SetText(m_pSet—〉m_number); m_MSFGrid。SetRow(iRow);m_MSFGrid。SetCol(2); m_MSFGrid.SetText(m_pSet—〉m_name); m_MSFGrid。SetRow(iRow);m_MSFGrid。SetCol(3); m_MSFGrid。SetText(m_pSet—〉m_sex); m_MSFGrid。SetRow(iRow);m_MSFGrid。SetCol(4); m_MSFGrid。SetText(m_pSet—〉m_age); m_MSFGrid.SetRow(iRow);m_MSFGrid.SetCol(5); m_MSFGrid。SetText(m_pSet—>m_birth); m_MSFGrid。SetRow(iRow);m_MSFGrid。SetCol(6); m_MSFGrid.SetText(m_pSet—>m_tel); ; iRow++; m_pSet—>MoveNext(); } m_MSFGrid.SetRow(1); m_MSFGrid.SetCol(1); m_pSet-〉MoveFirst(); //////-——////// //ResizeParentToFit(); }

void CStudentView::OnButton5() { // TODO: Add your control notification handler code here CString str; if(IsDlgButtonChecked(IDC_RADIO1))str=”number”; else if(IsDlgButtonChecked(IDC_RADIO2))str=\"birth\"; else str=”tel\"; m_pSet—>m_strSort=str; m_pSet->Requery(); UpdateData(false); OnInitialUpdate(); }

21

学生信息管理系统

5。4本章小结:

本章主要介绍了学生信息管理系统模块的实现,包括学生信息管理系统的用户登录界面、系统设置主界面、添加学生信息界面、修改学生信息界面等,并对各个界面进行了简单的分析,包括界面的实现以及部分代码的介绍。

青岛科技大学本科VC课程设计(报告)

6总结

本系统主要是采用Visual C++6。0和Access数据库开发的管理系统。项目包括登陆界面以及添加学生信息、修改学生信息、删除学生信息、查询、排序五个功能模块.系统由固定的用户完成所有操作.登所有操作都可以按用户的要求来完成对系统数据的操作。

学生信息管理系统的功能基本都可以实现,但因为是初学,所以还有很多地方可以改进和完善,如系统的整体界面风格,学生资料的详细管理等等。通过不断的学习,以后应该进一步的巩固系统,这样才能够使系统实现的更充实、更完善.

23

因篇幅问题不能全部显示,请点此查看更多更全内容