资源简介
实验环境:
1. Windows XP操作系统,Server版;
2. 企业版Microsoft SQL Server 2000;
3. Visual C++ MFC编程
题目要求:
假设图书馆的工作人员要处理下列日常工作:
借书:核实读者身份并检查是否存在下述情况:
该读者借书的数额超标;
该读者所借的书过期未还;
该读者曾因借书过期被罚款而未交;
如不存在上述情况,则登记借书信息;
还书:检查所还图书是否损坏或过期,是则登记罚单信息并打印罚单,在交纳罚金前,不允许该读者继续借书。若图书损坏,注销该图书信息,否则进行还书登记。
罚款:根据罚单收取罚金,同时取消该读者的借书限制。
图书信息维护:新书上架、旧书下架及图书信息查询。
读者信息维护:录入、注销、修改及查询读者信息。
此外,图书馆还应向读者提供下列基本功能:
查询图书信息;
查询自己的基本信息和借书记录;
续借;
代码片段和文件信息
// accbook.cpp : implementation file
//
#include “stdafx.h“
#include “library.h“
#include “accbook.h“
#ifdef _DEBUG
#define new DEBUG_NEW
#undef THIS_FILE
static char THIS_FILE[] = __FILE__;
#endif
/////////////////////////////////////////////////////////////////////////////
// accbook dialog
accbook::accbook(CWnd* pParent /*=NULL*/)
: CDialog(accbook::IDD pParent)
{
//{{AFX_DATA_INIT(accbook)
//}}AFX_DATA_INIT
}
void accbook::DoDataExchange(CDataExchange* pDX)
{
CDialog::DoDataExchange(pDX);
//{{AFX_DATA_MAP(accbook)
DDX_Control(pDX IDC_EDIT4 m_edi4);
DDX_Control(pDX IDC_EDIT6 m_edi6);
DDX_Control(pDX IDC_EDIT5 m_edi5);
DDX_Control(pDX IDC_EDIT3 m_edi3);
DDX_Control(pDX IDC_EDIT2 m_edi2);
DDX_Control(pDX IDC_EDIT1 m_edi1);
//}}AFX_DATA_MAP
}
BEGIN_MESSAGE_MAP(accbook CDialog)
//{{AFX_MSG_MAP(accbook)
//}}AFX_MSG_MAP
END_MESSAGE_MAP()
/////////////////////////////////////////////////////////////////////////////
// accbook message handlers
void accbook::OnOK()
{
CString edi1edi2edi3edi4sql;
m_edi1.GetWindowText(edi1);
m_edi2.GetWindowText(edi2);
m_edi3.GetWindowText(edi3);
m_edi4.GetWindowText(edi4);
m_edi1.SetWindowText(““);
m_edi2.SetWindowText(““);
m_edi3.SetWindowText(““);
m_edi4.SetWindowText(““);
CString s1=“是“;
CString s2=“否“;
::CoInitialize(NULL);
_ConnectionPtr cnn=NULL;
HRESULT hr=cnn.CreateInstance(__uuidof(Connection));
_bstr_t strConnect=“Provider=SQLOLEDB; Server=(local);““Database=library; uid=sa; pwd=123;“;
cnn->Open(strConnect““““NULL);
_RecordsetPtr rst=NULL;
rst.CreateInstance(__uuidof(Recordset));
if(edi2==s2&&edi3==s2){
try
{
sql.Format(“delete from 借书信息 where 借书证号=‘%s‘ and 编号=‘%s‘ “edi4edi1);
cnn->Execute((_bstr_t)sqlNULLadCmdText);
sql.Format(“update 图书 set 数量=数量+1 where 编号=‘%s‘ “edi1);
cnn->Execute((_bstr_t)sqlNULLadCmdText);
sql.Format(“update 用户 set 已借书数量=已借书数量-1 where 借书证编号=‘%s‘ “edi4);
cnn->Execute((_bstr_t)sqlNULLadCmdText);
::MessageBox(NULL“操作成功!““提示“MB_OK|MB_ICONWARNING);
CDialog::OnCancel();
}
catch(_com_error &e)
{
::MessageBox(NULL“输入错误请重新输入!““提示“MB_OK|MB_ICONWARNING);
}
// TODO: Add extra validation here
}
else if(edi2==s2&&edi3==s1)
{
CString edi5edi6;
m_edi5.GetWindowText(edi5);
m_edi6.GetWindowText(edi6);
m_edi5.SetWindowText(““);
m_edi6.SetWindowText(““);
float i=(float)atof(edi5);
try{
sql.Format(“delete from 借书信息 where 借书证号=‘%s‘ and 编号=‘%s‘ “edi4edi1);
cnn->Execute((_bstr_t)sqlNULLadCmdText);
sql.Format(“insert into 罚单 values(‘%s‘‘%s‘%f) “edi6edi4i);
cnn->Execute((_bstr_t)sqlNULLadCmdText);
sql.Format(“update 图书 set 数量=数量+1 where 编号=‘%s‘ “edi1);
cnn->Execute((_bstr_t)sqlNULLadCmdText);
sql.Format(“update 用户
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
文件 159 2008-09-15 17:45 梅正刚012005013911\readme.txt
文件 265728 2008-09-15 17:40 梅正刚012005013911\梅正刚012005013911.doc
文件 4583 2008-09-15 09:57 梅正刚012005013911\源代码文件\library\accbook.cpp
文件 1235 2008-09-15 09:57 梅正刚012005013911\源代码文件\library\accbook.h
文件 2396 2008-09-01 22:47 梅正刚012005013911\源代码文件\library\addbook.cpp
文件 1252 2008-09-01 22:42 梅正刚012005013911\源代码文件\library\addbook.h
文件 2358 2008-09-01 22:21 梅正刚012005013911\源代码文件\library\alteruser.cpp
文件 1254 2008-09-01 22:18 梅正刚012005013911\源代码文件\library\alteruser.h
文件 1757 2008-09-01 12:35 梅正刚012005013911\源代码文件\library\bookselect.cpp
文件 1236 2008-09-01 12:29 梅正刚012005013911\源代码文件\library\bookselect.h
文件 7389 2008-09-15 10:43 梅正刚012005013911\源代码文件\library\cmain.cpp
文件 1453 2008-09-02 13:51 梅正刚012005013911\源代码文件\library\cmain.h
文件 2433 2008-09-01 22:21 梅正刚012005013911\源代码文件\library\createuser.cpp
文件 1285 2008-09-01 21:44 梅正刚012005013911\源代码文件\library\createuser.h
文件 1734 2008-09-01 22:56 梅正刚012005013911\源代码文件\library\delbook.cpp
文件 1155 2008-09-01 22:53 梅正刚012005013911\源代码文件\library\delbook.h
文件 4708 2008-09-15 10:41 梅正刚012005013911\源代码文件\library\lend.cpp
文件 1339 2008-09-01 16:23 梅正刚012005013911\源代码文件\library\lend.h
文件 2488412 2008-09-17 10:57 梅正刚012005013911\源代码文件\library\library.aps
文件 9878 2008-09-17 11:01 梅正刚012005013911\源代码文件\library\library.clw
文件 2032 2008-08-31 22:20 梅正刚012005013911\源代码文件\library\library.cpp
文件 5624 2008-09-02 14:36 梅正刚012005013911\源代码文件\library\library.dsp
文件 522 2008-08-30 19:13 梅正刚012005013911\源代码文件\library\library.dsw
文件 1335 2008-08-30 19:13 梅正刚012005013911\源代码文件\library\library.h
文件 410624 2008-09-17 11:01 梅正刚012005013911\源代码文件\library\library.ncb
文件 932 2008-09-15 15:58 梅正刚012005013911\源代码文件\library\library.plg
文件 18359 2008-09-15 15:56 梅正刚012005013911\源代码文件\library\library.rc
文件 8430 2008-09-15 15:10 梅正刚012005013911\源代码文件\library\libraryDlg.cpp
文件 1390 2008-09-01 20:17 梅正刚012005013911\源代码文件\library\libraryDlg.h
文件 10005 2008-09-15 15:58 梅正刚012005013911\源代码文件\library\main.cpp
............此处省略36个文件信息
评论
共有 条评论