c++1学生信息管理系统Word格式文档下载.docx

上传人:b****6 文档编号:21678876 上传时间:2023-01-31 格式:DOCX 页数:23 大小:135.42KB
下载 相关 举报
c++1学生信息管理系统Word格式文档下载.docx_第1页
第1页 / 共23页
c++1学生信息管理系统Word格式文档下载.docx_第2页
第2页 / 共23页
c++1学生信息管理系统Word格式文档下载.docx_第3页
第3页 / 共23页
c++1学生信息管理系统Word格式文档下载.docx_第4页
第4页 / 共23页
c++1学生信息管理系统Word格式文档下载.docx_第5页
第5页 / 共23页
点击查看更多>>
下载资源
资源描述

c++1学生信息管理系统Word格式文档下载.docx

《c++1学生信息管理系统Word格式文档下载.docx》由会员分享,可在线阅读,更多相关《c++1学生信息管理系统Word格式文档下载.docx(23页珍藏版)》请在冰豆网上搜索。

c++1学生信息管理系统Word格式文档下载.docx

(2)软件环境

操作系统:

WindowsXP

Microsoftvisualc++Microsoftaccess数据库

3.总体设计

系统的结构图

 

学生信息管理系统是对学生的基本信息和成绩信息进行管理,主要包括添加、修改和删除学生的基本信息及课程的基本信息;

录入、修改和删除学生的成绩信息,对基本信息、成绩信息进行查询、排序及统计等操作,从而实现学生信息管理的自动化与计算机化。

本课题将实现一个简化的学生信息管理系统。

(1)添加信息:

使用这个模块,可以添加学生的基本信息,包括学生的学号,姓名,民族,性别,籍贯,出生年月日,政治面貌,学院,专业,所在年级,寝室地址,毕业院校,身份证号,电子邮箱,联系电话,家庭住址,备注等。

(2)成绩导入:

包括学号,课程编号,课程名称,学分,成绩。

(3)信息查询:

包括学号,姓名,班级,学院。

(4)成绩查询:

包括课程名称,课程编号。

(5)个人信息:

当点击这个按钮时,可以显示当前某个人的信息。

(6)查看成绩:

点击这个按钮时,可以显示当前这个人的所有成绩。

设计数据库

用MicrosoftAccess创建一个数据库,含有3个主要数据表:

学生基本信息表student、课程信息表couese和学生成绩表score。

这3个数据表的结构如表1~3所示。

这几个表中,学号studentno和课程号courseno内容都是唯一的,分别是student和course表中的主关键字。

Score表中的studentno和student表中的同名字段相对应,字段course和course表中的courseno字段相对应。

说明:

由于student和course表中都有专业字段,因此为便于用户操作,需要一个专业数据字典。

该数据字典也作为数据库的一个数据表speical,其结构如表4所示。

表1学生基本信息表(student)结构

序号

字段名称

数据类型

字段大小

小数位

字段含义

1

2

3

4

5

studentname

studentno

xb

birthday

speical

文本

是/否

日期/时间

20

10

50

姓名

学号

性别

出生年月

专业

表2课程信息表(course)结构

6

7

courseno

special

coursename

coursetype

openterm

hours

credit

数字

字节

单精度

——

课程号

所属专业

课程名

课程类型

开学学期

课时数

学分

表3学生课程成绩表(score)结构

course

score

8

成绩

4.详细设计

该系统包含多个模块,期中重要的有6大模块,添加信息,成绩导入,信息查询,成绩查询,个人信息,查看成绩。

该系统的主界面如图2所示。

图2系统的主界面

信息查询的设计

下面我们对信息查询做详细的设计。

信息查询这个模块的功能主要通过某个学生的某一项信息,比如学号,班级,姓名,专业,年级,然后查询到这个学生的多个信息。

比如通过学生的学号,可以查询到这个学生所在学院,所在班级等。

当我们点击信息查询这个按钮时,显示一个对话框,如图3所示。

图3信息查询的界面

当我们点击信息查询按钮时,会立刻弹出一个对话框,期中对话框中包括一个列表框,列表框中包括学号,姓名,学院,专业,年级,列表框中还包括2个按钮,一个查找按钮,一个取消按钮。

使用CRecordSet类的成员变量m_strFilter、m_strSort和成员函数Open可以对表进行记录查询。

(1)打开Ex_ODBC应用程序的表的单资源,按如图4所示的布局添加控件,七宗添加的编辑框ID号设为IDC_EDIT_QUERY,查询按钮的ID号设为IDC_BUTTON_QUERY..

图4添加控件

(2)用MFCclasswizard为控件IDC_EDIT_QUERY添加关联变量m_strQuery.

(3)在CEx_ODBCView类中添加按钮控件IDC_BUTTON_QUERY的BN_CLICKED消息映射,并在映射函数中添加下列代码:

voidCMemberView:

:

RemoveAll()

{

c++实用教程[M].北京高等教育出版社,83-126

[2]孙越编著.VisualC++数据库开发自学教程[M].人民邮电出版社50-75

[3]王彬华,李建华编著.VisualC++实例教程[M]电子科技大学出版社

[4]李春葆,曾平编著.数据库原理与应用[M].北京清华大学出版社,41-74

附录:

#include"

"

#ifdef_DEBUG

#definenewDEBUG_NEW

#undefTHIS_FILE

staticcharTHIS_FILE[]=__FILE__;

#endif

}

//CMemberViewprinting

BOOLCMemberView:

OnPreparePrinting(CPrintInfo*pInfo)

//defaultpreparation

returnDoPreparePrinting(pInfo);

OnBeginPrinting(CDC*/*pDC*/,CPrintInfo*/*pInfo*/)

//TODO:

addextrainitializationbeforeprinting

OnEndPrinting(CDC*/*pDC*/,CPrintInfo*/*pInfo*/)

addcleanupafterprinting

//CMemberViewdiagnostics

AssertValid()const

CListView:

AssertValid();

Dump(CDumpContext&

dc)const

Dump(dc);

CMemberDoc*CMemberView:

GetDocument()//non-debugversionisinline

ASSERT(m_pDocument->

IsKindOf(RUNTIME_CLASS(CMemberDoc)));

return(CMemberDoc*)m_pDocument;

#endif//_DEBUG

//CMemberViewmessagehandlers

//增加指针变量指向ListView的CListCtrl

CListCtrl*ctl;

ctl=&

GetListCtrl();

//删除CListCtrl中的所有记录

ctl->

DeleteAllItems();

//strSearch查询条件strMember关键字

ListMember(CStringstrSearch,CStringstrMember)

//前此输出的用户记录

RemoveAll();

//建立一个指针,用以操作ListCtrl输出用户记录

//创建CMemberReSet的实例

CMemberReSetm_MemberReSet;

//记录用户序号

inti=0;

//定义一个变量来保存"

%"

以便设置SQL语句

charchrTemp='

%'

;

CStringstrTemp;

try

{

if())

();

//设置查询条件"

MemName=strMemberName"

if(strMember=="

{

AfxMessageBox("

请输入关键字"

);

return;

}

if(strSearch=="

学号"

{

CStringstr;

("

select*frommemberwhereMemID='

%s'

orderbyMemIDASC"

strMember);

(CRecordset:

snapshot,str,CRecordset:

none);

}

elseif(strSearch=="

姓名"

"

MemNameLIKE'

%c%s%c'

chrTemp,LPCTSTR(),chrTemp);

(CRecordset:

snapshot,NULL,CRecordset:

学院"

MemIns='

LPCTSTR());

专业"

"

MemSpeLIKE'

(CRecordset:

年级"

MemYearLIKE'

年级tree"

MemYear=%sorderbyMemIDASC"

else

条件选择错误"

//输出匹配上查询到的用户记录,直到记录为空

while(!

())

ctl->

InsertItem(i,;

ctl->

SetItemText(i,1,;

SetItemText(i,2,;

SetItemText(i,3,;

SetItemText(i,4,;

SetItemText(i,5,;

SetItemText(i,6,;

SetItemText(i,7,;

();

}

catch(CDBException*e)

e->

Delete();

EditCurUser()

//建立一个指针,用以操作ListCtrl输出用户记录

//寻找当前选中的记录的位置

POSITIONpos=ctl->

GetFirstSelectedItemPosition();

if(pos==NULL)

//如果没有选择记录,则提示并退出

AfxMessageBox("

请先选择一条信息!

//获取当前记录的位置游标

intm_CurUser=ctl->

GetNextSelectedItem(pos);

//创建一个MemberEditDlg的实例

CMemberEditDlgm_MemberEditDlg;

//创建一个临时字符串来保存当前用户信息

charchrTemp[201]={'

\0'

};

//查找学号

GetItemText(m_CurUser,0,chrTemp,sizeof(char[20]));

"

MemIDLIKE'

chrTemp);

//输出匹配上条件用户记录,直到记录为空

if()&

&

!

{

//开始显示记录的内容

=;

=;

if()!

=IDOK)

//如果用户选择取消按钮,则退出

UpdateData(FALSE);

if(MessageBox("

确定修改记录"

"

修改确认"

MB_YESNO|MB_ICONQUESTION)==IDYES)

MemID=chrTemp"

MemID='

//如果用户记录存在,则进行修改操作

if()&

!

{

//设置编辑当前记录

//开始编辑该条记录的内容

=;

if())

{

();

}

//更新完毕,关闭数据库

//关闭数据库

if())

//提示用户

该记录不存在,无法修改!

return;

catch(CDBException*e)

ReportError();

//将用户信息及时更新到ListCtrl中

SetItemText(m_CurUser,0,;

SetItemText(m_CurUser,1,;

SetItemText(m_CurUser,2,;

SetItemText(m_CurUser,3,;

SetItemText(m_CurUser,4,;

SetItemText(m_CurUser,5,;

SetItemText(m_CurUser,6,;

SetItemText(m_CurUser,7,;

OnDblclk(NMHDR*pNMHDR,LRESULT*pResult)

Addyourcontrolnotificationhandlercodehere

*pResult=0;

EditCurUser();

LookMember()

//创建一个MemberDialog的实例

CMemberDialogm_MemberDialog;

CMemberReSetm_MemberReSet;

CStringchrTemp=FindPosition();

if(chrTemp=="

//输出匹配上条件用户记录,直到记录为空

if()&

()){

//开始显示记录的内容

if()==IDCANCEL)

//如果用户选择取消按钮,则退出

UpdateData(FALSE);

DelCurUser()

请先选中一条记录!

charchrTemp[21]={'

//取得用户ID

删除该学生同时会删除该生所有成绩记录,确定删除记录"

删除确认"

try{

//删除个人信息

orderbyMemID"

//设置编辑当前记录

else//考虑特例,如果操作中用户信息不存在了

该记录不存在,无法删除!

}

//删除对应的所有个人成绩

CScoreReSetm_ScoreReSet;

CStringsql;

select*fromscorewhereMemID='

snapshot,sql,CRecordset:

();

//在ListCtrl中删除当前用户信息

c

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 表格模板 > 合同协议

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1