课程设计论文.docx
- 文档编号:9711423
- 上传时间:2023-02-06
- 格式:DOCX
- 页数:66
- 大小:491.09KB
课程设计论文.docx
《课程设计论文.docx》由会员分享,可在线阅读,更多相关《课程设计论文.docx(66页珍藏版)》请在冰豆网上搜索。
课程设计论文
江苏师范大学科文学院
本科生课程设计
课程名称:
VisualC++
题目:
图书管理系统
专业班级:
学生姓名:
学生学号:
日期:
指导教师:
科文学院教务部印制
一、课程设计目的、任务和内容要求:
《VisualC++实用教程》是一门以编程实践为主的专业课,目的在于培养学生利用VC++进行软件开发所必需的基本思想和基本技能,进一步提高综合应用VC++的各种编程知识和技巧进行程序设计的能力,通过本次课程设计,学生应能达到具备设计功能较为复杂的应用程序的能力,同时培养学生自主学习和独立创新的精神。
任务如下:
1.进行需求分析和概要设计,给出流程图。
2.写出详细设计,熟悉其中采用的关键技术。
3.给出具体的编码实现并调试。
4.写课程设计报告提交源程序。
内容要求:
设计并完成软件系统。
要求:
1.应具有简洁友好的用户界面。
2.要求软件系统的功能完整。
3.要求程序具备正确性,可读性和运行的高效性。
二、进度安排:
第1~3天:
查找资料,熟悉电子密码锁的设计原理,给出设计总体方案;
第4~6天:
各模块的详细设计;
第7~12天:
硬件连线,调试;
第13~14天:
写课程设计报告。
三、主要参考文献:
1.谢自美.电子线路设计-实验-测试[M].武汉:
华中科技大学出版社,2000
2.谭浩强.C程序设计(第三版).北京:
清华大学出版社,2005
3.谭浩强.C程序设计题解与上机指导(第三版).北京:
清华大学出版社,2005
4.郑阿奇.VisualC++实用教程(第三版)北京:
.电子工业出版社,2005
指导教师签字:
年月日
附录主要程序代码
摘要
随着人们知识层次的提高,图书馆成为日常生活中不可缺少的一部分。
而图书馆的存书量和业务量庞大,仅仅靠传统的记账式管理是不可行的。
图书馆管理系统应运而生,并逐渐成为信息化建设的重要组成部分。
图书馆管理系统为学校或社会型图书馆的管理员提供所有借阅者的详细信息,以及馆内库存的详细情况,对借书和还书两大功能进行合理操纵并登记,在很大程度上方便了图书馆管理工作。
于是我们选择图书馆管理系统作为我们课程设计的课题。
关键词:
信息化方便管理
Abstract
Aspeople'sknowledgelevel,libraryhasbecomeanindispensablepartofdailylife.Whilethelibraryofbooksandbusinessvolumeishuge,relyingonlyontraditionalaccountingmanagementisnotfeasible.Librarymanagementsystememergeasthetimesrequire,andgraduallybecomeanimportantpartininformationconstruction.Librarymanagementsystemforschoolorcommunitylibraryadministratorprovideallthedetailedloaninformation,aswellasinthedetailsoftheinventory,thelibraryandbooktwomajorfunctionsofthereasonableuseandregistration,toalargeextentfacilitatetheworkofLibrarymanagement.Sowechooseasourlibrarymanagementsystemcurriculumdesigntopics.
Keywords:
informatizationconvenientmanage
1前言
1.1设计目的
1、巩固并加深学生对C++语言程序设计知识的理解;
2、培养学生面向对象的程序设计思想使学生认识面向过程和面向对象两种设计方法的区别;
3、进一步掌握和应用VC++6.0集成开发环境;
4、提高运用C++语言解决实际问题的能力;
5、初步掌握开发小型实用软件的基本方法,能独立设计、实现基本的MIS系统;
6、掌握书写程序设计开发文档的能力(书写课程设计实验报告)。
2图书管理系统的设计
2.1设计内容
本次课程设计的内容是独立完成一个图书管理系统的设计,实现简单图书信息的管理。
课程设计具体内容如下:
实现简单图书信息的管理。
如:
登陆权限管理、读者管理、图书信息(入库、修改、借还、查询、超期)管理、罚金管理。
其要求如下:
1)权限管理:
增加或删除系统操作人员并指定操作人员的权限;
2)读者管理:
设置不同的读者身份并对读者相关信息进行管理,包括建立新的读者、编辑已有的读者信息和删除读者信息的操作;
3)图书类别的管理:
对图书的类别进行管理;
4)图书入库管理:
录入新的图书信息;
5)图书信息修改管理:
对已有的图书信息进行修改,包括删除指定图书操作;
6)图书借还管理:
实现对图书的借出和归还的管理;
7)图书查询管理:
通过各种查询方式可以来进行查询,比如书号、书名、作者等;
8)图书超期管理:
对超期的情况能自动给出提示信息
2.2系统的功能模块划分
整个图书管理系统分为四个模块。
分别为图书管理模块、借阅管理模块、读者管理模块和系统管理模块。
3设计的模块和整体框图
3.1总体框图
图3—1总设计图
3.2系统主界面设计
其中信息可以查看管理员信息,图书信息,读者信息,上机信息;日常工作中包含图书借阅,图书归还,缴纳费用;查询中包含读者查询;帮助中可以查看系统帮助
3.3系统登录模块设计
添加系统登录对话框,属性设置为
3.4图书信息管理模块设计
控件类型
ID
属性设置
Button
IDC_CONFIRM
Caption设为“登录[&L]”
Button
IDC_CANCEL
Caption设为“取消[&C]”
StaticText
默认
Caption设为“请输入用户名和密码”
StaticText
默认
Caption设为“用户名”
StaticText
默认
Caption设为“密码”
EditBox
IDC_LOGIN_NAME
默认
EditBox
IDC_LOGIN_PASSWORD
password
双击对话框打开ClassWizard对话框,为IDD_LOGIN添加CLoginMDlg类,按下表为该类添加成员变量。
控件ID
变量名
数据类型
IDC_LOGIN_NAME
m_strName
CString
IDC_LOGIN_PASSWORD
m_strPassword
CString
创建一个新类,在BaseClass中选择CRecordset
添加消息映射
最后输入按键的执行代码。
4系统详细设计
4.1管理员信息管理模块设计
控件类型
ID
属性设置
Button
IDC_BUTTON_WKSADD
标题设为“添加”
Button
IDC_BUTTON_WKSEDIT
标题设为“编辑”
Button
IDC_BUTTON_WKSDELL
标题设为“删除”
Button
IDC_BUTTON_WKSSEARCH
标题设为“搜索”
Button
IDOK
标题设为“退出”
StaticText
默认
标题设为“职工号”
StaticText
默认
标题设为“性别”
StaticText
默认
标题设为“姓名”
StaticText
默认
标题设为“出生年月”
StaticText
默认
标题设为“职工号”
StaticText
默认
标题设为“单(职)位”
EditBox
IDC_EDIT_WKSNO
默认
EditBox
IDC_EDIT_WKSNA
默认
EditBox
IDC_EDIT_WKSLX
默认
EditBox
IDC_EDIT_WKSBTDA
默认
EditBox
IDC_EDIT_WKSAFF
默认
EditBox
IDC_EDIT_WKSSEARCH
默认
4.2借书还书读者管理模块设计
控件类型
ID
属性设置
Button
IDC_BUTTON_BKADD
标题设为“新增”
Button
IDC_BUTTON_BKEDIT
标题设为“编辑”
Button
IDC_BUTTON_BKDELL
标题设为“删除”
Button
IDC_BUTTON_BKSEARCH
标题设为“搜索”
Button
IDOK
标题设为“确定”
StaticText
默认
标题设为“书名”
StaticText
默认
标题设为“借书人名”
StaticText
默认
标题设为“借书日期”
StaticText
默认
标题设为“还书日期”
StaticText
默认
标题设为“是否逾期”
StaticText
默认
标题设为“输入要查询的日期”
EditBox
IDC_EDIT_BKTITLE
默认
EditBox
IDC_EDIT_BKNAME
默认
EditBox
IDC_EDIT_BKBTIME
默认
EditBox
IDC_EDIT_BKRTIME
默认
EditBox
IDC_EDIT_BKOVERDUE
默认
EditBox
IDC_EDIT_BKSEARCH
默认
按上述步骤做相似操作,添加消息映射最后输入按钮代码
4.3上机、时间查询模块设计
控件类型
ID
属性设置
Button
IDC_FIRST
标题设为“第一条[&F]”
Button
IDC_PRIOR
标题设为“上一条[&P]”
Button
IDC_NEXT
标题设为“下一条[&N]”
Button
IDC_LAST
标题设为“末一条[&L]”
Button
IDC_NEW
标题设为“新增[&N]”
Button
IDC_ENQUERY
标题设为“查询[&Q]”
Button
IDC_EDIT
标题设为“修改[&E]”
Button
IDC_DELETE
标题设为“删除[&D]”
Button
IDC_SAVE
标题设为“保存[&S]”
Button
IDC_CANCEL_REC
标题设为“取消[&C]”
Button
IDC_EXIT
标题设为“推出[&X]”
StaticText
默认
标题设为“读者姓名”
StaticText
默认
标题设为“读者条码”
StaticText
默认
标题设为“读者姓名”
StaticText
默认
标题设为“读者条码”
StaticText
默认
标题设为“身份证号”
EditBox
IDC_READERNAME_FOR_Q
默认
EditBox
IDC_READERID_FOR_Q
默认
EditBox
IDC_READERNAME
默认
EditBox
IDC_READERID
默认
EditBox
IDC_IDCARD
默认
4.4测试
4.4.1测试方案
对功能进行逐一测试,在输入合理及不合理的数据后测试系统的正常运作情况
测试一:
系统登录测试
测试二:
读者管理测试
测试三:
上机管理测试
测试四:
工作人员管理测试
4.4.2测试结果
1、系统登录测试
正确登录错误登录
2、读者管理测试
新增编辑
搜索
3、上机管理测试
新增编辑
搜索删除
4、工作人员管理测试
新增编辑
搜索删除
5课程设计心得体会
在这次的课程设计中,让我学到了很多在课堂上和书本上学不到的知识,我在这次课程设计中最大的收获有以下几方面:
一、领略到了数据库设计在计算机领域的重要性。
数据库作为一个永久存储形式在应用中发挥着重要的作用。
在数据库设计中,我明白了数据库设计不是范式越高越好的,我们要根据我们的应用来决定,一切应该以需求为首要选择。
二、对编程环境、一些控件的使用和界面的设计更加熟悉。
因为《图书管理系统》中设计到很多控件的使用,只有很好的使用这些控件才可以给出一个很好的界面呈现在用户面前。
这样更有利于数据库和用户之间的交流。
三、利用软件工程学开发系统。
虽然这个《图书管理系统》是一个小的系统,但从这个小的项目中也让我明白了数据库作为任何一个系统的后台的重要性,在开发系统设计和实现中学到和总结很多经验和教训。
参考文献
1.谢自美.电子线路设计-实验-测试[M].武汉:
华中科技大学出版社,2000
2.谭浩强.C程序设计(第三版).北京:
清华大学出版社,2005
3.谭浩强.C程序设计题解与上机指导(第三版).北京:
清华大学出版社,2005
4.郑阿奇.VisualC++实用教程(第三版)北京:
.电子工业出版社,2005
附录主要程序代码
//BookDlg.cpp:
implementationfile
//
#include"stdafx.h"
#include"Library_ADO_07.h"
#include"BookDlg.h"
#include"EditBookDlg.h"
#ifdef_DEBUG
#definenewDEBUG_NEW
#undefTHIS_FILE
staticcharTHIS_FILE[]=__FILE__;
#endif
/////////////////////////////////////////////////////////////////////////////
//CBookDlgdialog
CBookDlg:
:
CBookDlg(CWnd*pParent/*=NULL*/)
:
CDialog(CBookDlg:
:
IDD,pParent)
{
//{{AFX_DATA_INIT(CBookDlg)
m_strBktime=_T("");
m_strBkname=_T("");
m_strBkoverdue=_T("");
m_strBksearch=_T("");
m_strBktitle=_T("");
m_strBkrtime=_T("");
//}}AFX_DATA_INIT
}
voidCBookDlg:
:
DoDataExchange(CDataExchange*pDX)
{
CDialog:
:
DoDataExchange(pDX);
//{{AFX_DATA_MAP(CBookDlg)
DDX_Text(pDX,IDC_EDIT_BKBTIME,m_strBktime);
DDX_Text(pDX,IDC_EDIT_BKNAME,m_strBkname);
DDX_Text(pDX,IDC_EDIT_BKOVERDUE,m_strBkoverdue);
DDX_Text(pDX,IDC_EDIT_BKSEARCH,m_strBksearch);
DDX_Text(pDX,IDC_EDIT_BKTITLE,m_strBktitle);
DDX_Text(pDX,IDC_EDIT_BKRTIME,m_strBkrtime);
//}}AFX_DATA_MAP
}
BEGIN_MESSAGE_MAP(CBookDlg,CDialog)
//{{AFX_MSG_MAP(CBookDlg)
ON_BN_CLICKED(IDC_BUTTON_BKADD,OnButtonBkadd)
ON_BN_CLICKED(IDC_BUTTON_BKEDIT,OnButtonBkedit)
ON_BN_CLICKED(IDC_BUTTON_BKSEARCH,OnButtonBksearch)
//}}AFX_MSG_MAP
END_MESSAGE_MAP()
/////////////////////////////////////////////////////////////////////////////
//CBookDlgmessagehandlers
BOOLCBookDlg:
:
OnInitDialog()
{
CDialog:
:
OnInitDialog();
//TODO:
Addextrainitializationhere
m_pConnection.CreateInstance(__uuidof(Connection));//初始化Connection指针
m_pRecordset.CreateInstance(__uuidof(Recordset));//初始化Recordset指针
m_pCommand.CreateInstance(__uuidof(Command));//初始化Recordset指针
//连接数据源为"DatabaseExampleForVC++"
m_pConnection->ConnectionString="DSN=DatabaseLibrary";
m_pConnection->ConnectionTimeout=30;//允许连接超时时间,单位为秒
HRESULThr=m_pConnection->Open("","","",0);
if(hr!
=S_OK)MessageBox("无法连接指定的数据库!
");
returnTRUE;//returnTRUEunlessyousetthefocustoacontrol
//EXCEPTION:
OCXPropertyPagesshouldreturnFALSE
}
voidCBookDlg:
:
OnButtonBkadd()
{
//TODO:
Addyourcontrolnotificationhandlercodehere
_variant_tRecordsAffected;
UpdateData();
m_strBktitle.TrimLeft();
m_strBkname.TrimLeft();
m_strBktime.TrimLeft();//查询是否已有记录
m_strBkrtime.TrimLeft();
m_strBkoverdue.TrimLeft();
m_pCommand->ActiveConnection=m_pConnection;
m_pCommand->CommandText=_bstr_t("select*frombookwherebktitle='"+m_strBktitle+"'");
m_pRecordset=m_pCommand->Execute(NULL,NULL,adCmdText);
if(m_pRecordset->adoEOF)
{
m_pConnection->Execute(_bstr_t("INSERTINTObook(bktitle,bkname,bkbtime,bkrtime,bkoverdue)VALUES('"+m_strBktitle+"','"+m_strBkname+"','"+m_strBktime+"','"+m_strBkrtime+"','"+m_strBkoverdue+"')"),&RecordsAffected,adCmdText);
MessageBox("添加新课程成功!
");
m_strBktitle="";
m_strBkname="";
m_strBktime="";
m_strBkrtime="";
m_strBkoverdue="";
UpdateData(FALSE);
}
else
{
MessageBox("已有该课程记录!
");
}
}
voidCBookDlg:
:
OnButtonBkedit()
{
//TODO:
Addyourcontrolnotificationhandlercodehere
CEditBookDlgdlg;
UpdateData();
dlg.m_strBktitle=m_strBktitle;
dlg.m_strBkname=m_strBkname;
dlg.m_strBktime=m_strBktime;
dlg.m_strBkrtime=m_strBkrtime;
dlg.m_strBkoverdue=m_strBkoverdue;
if(dlg.DoModal()==IDOK)
{
_variant_tRecordsAffected;
m_pConnection->Execute(_bstr_t("updatebooksetbktitle='"+dlg.m_strBktitle+"',bkname='"+dlg.m_strBkname+"',bkbtime='"+dlg.m_strBktime+"',bkrtime='"+dlg.m_strBkrtime+"',bkoverdue='"+dlg.m_strBkoverdue+"'wherebktitle='"+dlg.m_strBktitle+"'"),&RecordsAffected,adCmdText);
MessageBox("编辑课程记录成功!
");
}
}
voidCBookDlg:
:
OnButtonBksearch()
{
//TODO:
Addyourcontrolnotificationhandlercodehere
UpdateData();
m_pCommand->ActiveConnection=m_pConnection;
m_pCommand->CommandText=_bstr_t("selecttop1*frombookwherebktitlelike'%"+m_strBksearch+"%'orbknamelike'%"+m_strBksearch+"%'orbkbtimelike'%"+m_str
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 课程设计 论文