软件工程课程实验文档Word文档格式.docx
- 文档编号:19527944
- 上传时间:2023-01-07
- 格式:DOCX
- 页数:30
- 大小:111.13KB
软件工程课程实验文档Word文档格式.docx
《软件工程课程实验文档Word文档格式.docx》由会员分享,可在线阅读,更多相关《软件工程课程实验文档Word文档格式.docx(30页珍藏版)》请在冰豆网上搜索。
Vs2013+Sqlsever数据库;
用到的技术有:
文件系统、ODBC、SQL语句增删查改、数据库的更新、MFC。
1.3参考资料
叶俊民.软件工程.武汉.清华大学出版社.2006;
萨师煊.数据库系统概论(第四版).北京.高等教育出版社.2005;
XX知道
2.总体设计
2.1需求概述
世纪,随着网络技术的飞速发展,图书管理系统作为一个管理系统对其实用性的要求也越来越高,要求其具有较高的人机交互性,这里设计的图书管理系统主要由以下模块组成:
(1)身份验证(普通用户验证、管理员身份验证);
(2)管理员模块:
删除信息:
管理员进行登录后,能够删除图书或删除用户;
(3)普通用户模块
查看图书信息:
普通用户登录后能够查看该系统上的所有图书的信息,可以用书名、书籍编号、书籍分类、书籍作者查找;
借阅书籍:
普通用户登录后,选择自己需要的书籍,可以进行借阅。
归还书籍:
普通用户登录后,输入书籍编号,可以进行归还。
2.2软件结构
系统主要实现用户注册、用户登录、浏览书籍、查询书籍、归还书籍、借阅书籍。
后台主要实现管理员登录、查看书籍、删除书籍、删除用户等功能,其具体结构如下图:
3.程序描述
3.1关键代码
关键代码如下:
//ManuDlg.cpp:
实现文件
//
#include"
stdafx.h"
sjq.h"
ManuDlg.h"
afxdialogex.h"
user.h"
tsb1.h"
//CManuDlg对话框
IMPLEMENT_DYNAMIC(CManuDlg,CDialog)
CManuDlg:
:
CManuDlg(CWnd*pParent/*=NULL*/)
:
CDialog(CManuDlg:
IDD,pParent)
m_xh(_T("
"
))
m_lxcz(_T("
m_sm(_T("
m_bh(_T("
m_zz(_T("
m_sm1(_T("
{
}
~CManuDlg()
voidCManuDlg:
DoDataExchange(CDataExchange*pDX)
CDialog:
DoDataExchange(pDX);
//DDX_Control(pDX,IDC_LIST1,m_lb);
DDX_Control(pDX,IDC_EDIT6,m_xuehao);
DDX_Control(pDX,IDC_EDIT5,m_banji);
DDX_Control(pDX,IDC_EDIT7,m_xingming);
DDX_Control(pDX,IDC_LIST1,m_LISTC);
DDX_Text(pDX,IDC_EDIT7,m_xh);
DDX_Text(pDX,IDC_EDIT3,m_lxcz);
DDX_Text(pDX,IDC_sm,m_sm);
DDX_Control(pDX,IDC_sm,m_xm1);
DDX_Text(pDX,IDC_EDIT4,m_bh);
DDX_Control(pDX,IDC_LIST2,m_list);
DDX_Text(pDX,IDC_EDIT13,m_zz);
DDX_Text(pDX,IDC_EDIT2,m_sm1);
DDX_Control(pDX,IDC_EDIT2,m_sm2);
DDX_Control(pDX,IDC_EDIT13,m_zz1);
BEGIN_MESSAGE_MAP(CManuDlg,CDialog)
ON_WM_PAINT()
ON_WM_CTLCOLOR()
ON_BN_CLICKED(IDC_sousuo2,&
OnBnClickedsousuo2)
ON_NOTIFY(NM_CLICK,IDC_LIST1,&
OnNMClickList1)
ON_BN_CLICKED(IDC_jieshu,&
OnBnClickedjieshu)
ON_BN_CLICKED(IDC_sousuo3,&
OnBnClickedsousuo3)
ON_BN_CLICKED(IDC_sousuo4,&
OnBnClickedsousuo4)
ON_BN_CLICKED(IDC_sousuo1,&
OnBnClickedsousuo1)
ON_NOTIFY(NM_CLICK,IDC_LIST2,&
OnNMClickList2)
ON_EN_CHANGE(IDC_EDIT5,&
OnEnChangeEdit5)
END_MESSAGE_MAP()
//CManuDlg消息处理程序
BOOLCManuDlg:
OnInitDialog()
OnInitDialog();
//Setsmallicon
//TODO:
Addextrainitializationhere
CRectrect;
CRectrect1;
//获取编程语言列表视图控件的位置和大小
m_LISTC.GetClientRect(&
rect);
m_list.GetClientRect(&
rect1);
//为列表视图控件添加全行选中和栅格风格
m_LISTC.SetExtendedStyle(m_LISTC.GetExtendedStyle()|LVS_EX_FULLROWSELECT|LVS_EX_GRIDLINES);
m_list.SetExtendedStyle(m_LISTC.GetExtendedStyle()|LVS_EX_FULLROWSELECT|LVS_EX_GRIDLINES);
//为列表视图控件添加三列
m_LISTC.InsertColumn(0,_T("
书籍名"
),LVCFMT_CENTER,rect.Width()/4,0);
m_LISTC.InsertColumn(1,_T("
作者"
),LVCFMT_CENTER,rect.Width()/4,1);
m_LISTC.InsertColumn(2,_T("
图书编号"
),LVCFMT_CENTER,rect.Width()/4,2);
m_LISTC.InsertColumn(3,_T("
剩余本数"
),LVCFMT_CENTER,rect.Width()/4,3);
m_LISTC.InsertColumn(4,_T("
种类编号"
),LVCFMT_CENTER,rect.Width()/4,4);
//zhongbiao
m_list.InsertColumn(0,_T("
m_list.InsertColumn(1,_T("
m_list.InsertColumn(2,_T("
m_list.InsertColumn(3,_T("
m_list.InsertColumn(4,_T("
//chaxunbiao
//在列表视图控件中插入列表项,并设置列表子项文本
inti;
CStringtemp_name;
Ctsb1tsgl;
if(tsgl.IsOpen())
{
tsgl.Close();
}
else
tsgl.Open();
CStringstr1;
tsgl.MoveFirst();
intj;
j=10;
for(i=0;
i<
=j;
i++)
{
m_LISTC.InsertItem(i,(tsgl.m_tsname));
m_LISTC.SetItemText(i,1,(tsgl.m_write));
m_LISTC.SetItemText(i,2,(tsgl.m_t));
str1.Format(L"
%d"
tsgl.m_sy);
m_LISTC.SetItemText(i,3,(str1));
m_LISTC.SetItemText(i,4,(tsgl.m_tsbh));
tsgl.MoveNext();
/*m_LISTC.InsertItem(1,_T("
C"
));
m_LISTC.SetItemText(1,1,_T("
2"
m_LISTC.SetItemText(1,2,_T("
m_LISTC.InsertItem(2,_T("
C#"
m_LISTC.SetItemText(2,1,_T("
3"
m_LISTC.SetItemText(2,2,_T("
6"
m_LISTC.InsertItem(3,_T("
C++"
m_LISTC.SetItemText(3,1,_T("
4"
m_LISTC.SetItemText(3,2,_T("
*/
returnTRUE;
}
OnPaint()
//CPaintDCdc(this);
//devicecontextforpainting
CPaintDCdc(this);
GetClientRect(&
CDCdcMem;
dcMem.CreateCompatibleDC(&
dc);
CBitmapbmpBackground;
bmpBackground.LoadBitmap(IDB_BITMAP1);
//IDB_BITMAP是你自己的图对应的ID,由于我刚刚加入的位图资源
BITMAPbitmap;
bmpBackground.GetBitmap(&
bitmap);
CBitmap*pbmpOld=dcMem.SelectObject(&
bmpBackground);
dc.StretchBlt(0,0,rect.Width(),rect.Height(),&
dcMem,0,0,
bitmap.bmWidth,bitmap.bmHeight,SRCCOPY);
在此处添加消息处理程序代码
//不为绘图消息调用CDialog:
HBRUSHCManuDlg:
OnCtlColor(CDC*pDC,CWnd*pWnd,UINTnCtlColor)
HBRUSHhbr=CDialog:
OnCtlColor(pDC,pWnd,nCtlColor);
在此更改DC的任何特性
switch(pWnd->
GetDlgCtrlID())
caseIDC_STATIC:
pDC->
SetBkMode(TRANSPARENT);
SetTextColor(RGB(0,0,0));
return(HBRUSH)GetStockObject(HOLLOW_BRUSH);
default:
break;
如果默认的不是所需画笔,则返回另一个画笔
returnhbr;
OnBnClickedsousuo2()
UpdateData(true);
if(m_lxcz=="
)
MessageBox(L"
请勿输入空格!
);
Ctsb1tsb;
//CStringstr,use;
if(!
tsb.Open())
数据库连接未成功!
return;
tsb.MoveFirst();
for(inti=0;
=12;
if(tsb.IsEOF())
{
MessageBox(L"
未找到该图书!
return;
}
else
intj=0;
if(m_lxcz==tsb.m_t)
{
//MessageBox(L"
剩余!
//m_sm==tsb.m_tsname;
//UpdateData(true);
//CDialog:
OnOK();
m_list.InsertItem(j,(tsb.m_tsname));
m_list.SetItemText(j,1,(tsb.m_write));
m_list.SetItemText(j,2,(tsb.m_t));
CStringstr;
str.Format(L"
tsb.m_sy);
m_list.SetItemText(j,3,(str));
m_list.SetItemText(j,4,(tsb.m_tsbh));
j++;
return;
}
elseif(tsb.IsEOF())
MessageBox(L"
//usb.MoveFirst();
//usb.Close();
else
tsb.MoveNext();
////TODO:
在此添加控件通知处理程序代码
OnNMClickList1(NMHDR*pNMHDR,LRESULT*pResult)
LPNMITEMACTIVATEpNMItemActivate=reinterpret_cast<
LPNMITEMACTIVATE>
(pNMHDR);
*pResult=0;
POSITIONpos=m_LISTC.GetFirstSelectedItemPosition();
intr;
r=m_LISTC.GetNextSelectedItem(pos);
m_sm=m_LISTC.GetItemText(r,0);
UpdateData(false);
OnBnClickedjieshu()
//UpdateData(true);
//Ctsb1tsb1;
if(!
//m_sm
tsb.MoveFirst();
for(inti=0;
12;
if(tsb.IsEOF())
{
MessageBox(L"
return;
}
else
if(m_sm==tsb.m_tsname)
{//CStringstr;
//str==tsb.m_t;
UpdateData(true);
tsb.AddNew();
//CStringstr;
//str=tsb.m_t;
//tsb.m_tsname=tsb1.m_tsname;
//tsb.m_write=tsb1.m_write;
//tsb.m_tsbh=tsb1.m_tsbh;
//tsb.m_t==str;
inti;
i==tsb.m_sy;
tsb.m_sy=4;
UpdateData(false);
tsb.Update();
MessageBox(L"
借书成功"
return;
}
elseif(tsb.IsEOF())
{
MessageBox(L"
查询结束,未成功!
return;
}
else
{
tsb.MoveNext();
在此添加控件通知处
OnBnClickedsousuo3()
if(m_bh=="
for(intk=0;
k<
k++)
if(m_bh==tsb.m_tsbh)
{//tsb.MoveNext;
if(tsb.IsEOF())
查询完成!
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 软件工程 课程 实验 文档