当前位置:编程学习 > C/C++ >>

c++课程设计 小型饭店管理信息系统

10、小型饭店管理信息系统;
功能要求:
一、前台管理
主要是对饭店前台收银的管理。包括开台管理,买单管理,单日结帐数据分析,日结算管理。
1.前置条件:
登陆系统并有权限对前台管理进行操作。
2.后置条件:
如果操作成功,将在数据库中的数据记录进行修改或添加,同时完成前台收银工作。
3.基流:
如选择开台管理,则执行分支流S1,若选择买单管理,则进入分支流S2,若选择日结帐分析管理,则进入分支流S3。
4.分支流:
S1:开台管理
查找空闲房台,为客户开台,然后为客户进行点菜。(A1)
若用户要求并台、转台或加菜,前2者查找空闲房台,为客户进行相应的操作(A1);最后一种情况则为顾客进行加菜服务。
S2:买单管理
1.输入买单房台,为客户进行结帐处理
S3:日结帐分析管理
1.对该日结帐信息进行分析管理。
5.替代流:
A1: 若无空闲房台,只能请顾客等待或放弃并台或转台。
16、校友通信录管理系统。
答案:#include "stdafx.h"
#include "FinanceBook.h"
#include "AccountDaily.h"

// CAccountDaily 对话框

IMPLEMENT_DYNAMIC(CAccountDaily, CDialog)

CAccountDaily::CAccountDaily(CWnd* pParent /*=NULL*/)
: CDialog(CAccountDaily::IDD, pParent)
{

EnableAutomation();

}
CAccountDaily::~CAccountDaily()
{
}

void CAccountDaily::OnFinalRelease()
{
// 释放了对自动化对象的最后一个引用后,将调用
// OnFinalRelease。基类将自动
// 删除该对象。在调用该基类之前,请添加您的
// 对象所需的附加清理代码。

CDialog::OnFinalRelease();
}

void CAccountDaily::DoDataExchange(CDataExchange* pDX)
{
CDialog::DoDataExchange(pDX);
}

BEGIN_MESSAGE_MAP(CAccountDaily, CDialog)
ON_BN_CLICKED(IDOK, &CAccountDaily::OnBnClickedOk)
END_MESSAGE_MAP()

BEGIN_DISPATCH_MAP(CAccountDaily, CDialog)
END_DISPATCH_MAP()

// 注意: 我们添加 IID_IAccountDaily 支持
// 以支持来自 VBA 的类型安全绑定。此 IID 必须同附加到 .IDL 文件中的
// 调度接口的 GUID 匹配。

// {535CE23C-51E3-4FD9-96FB-DB8A8C13BE92}
static const IID IID_IAccountDaily =
{ 0x535CE23C, 0x51E3, 0x4FD9, { 0x96, 0xFB, 0xDB, 0x8A, 0x8C, 0x13, 0xBE, 0x92 } };

BEGIN_INTERFACE_MAP(CAccountDaily, CDialog)
INTERFACE_PART(CAccountDaily, IID_IAccountDaily, Dispatch)
END_INTERFACE_MAP()

// CAccountDaily 消息处理程序

BOOL CAccountDaily::OnInitDialog()
{
CDialog::OnInitDialog();

// TODO: 在此添加额外的初始化
CButton *pRadioButton = (CButton*)GetDlgItem(IDC_PAYOUT);
pRadioButton->SetCheck(true);
CButton *pCheckBox = (CButton*)GetDlgItem(IDC_FORMAT_DAILY);
pCheckBox->SetCheck(true);

return TRUE; // return TRUE unless you set the focus to a control
// 异常: OCX 属性页应返回 FALSE
}

void CAccountDaily::CheckEnter()
{
//该函数的作用是检查输入格式,判断RadioButton和CheckBox的状态
CButton *pRadioButton = (CButton*)GetDlgItem(IDC_PAYOUT);
CButton *pCheckBox = (CButton*)GetDlgItem(IDC_FORMAT_DAILY);

int IsRadioButtonChecked = pRadioButton->GetCheck(),
IsCheckBox = pCheckBox->GetCheck();

GetDlgItemText(IDC_DATE_DAILY,dateTime);
GetDlgItemText(IDC_RESUME,resume);
GetDlgItemText(IDC_AMOUNT_DAILY,amount);
GetDlgItemText(IDC_REMARK_DAILY,remark);

if(!resume.GetLength())
{
MessageBox(L"费用摘要 不能为空! ",L"重要提示",MB_ICONWARNING);
GetDlgItem(IDC_RESUME)->SetFocus();
}
else if(!amount.GetLength())
{
MessageBox(L"发生金额 不能为空! ",L"重要提示",MB_ICONWARNING);
GetDlgItem(IDC_AMOUNT_DAILY)->SetFocus();
}
else
{
if(IsRadioButtonChecked)
type = L"支出";
else
type = L"收入";

int dot = 0, space = 0, ch = 0;
CString str;
for(int index = 0; index != amount.GetLength(); ++index)
{
if(amount.GetAt(index) == '.')

dot++;
if(amount.GetAt(index) == ' ')

space++;
if(amount.GetAt(index) < '0' || amount.GetAt(index) > '9')
{

str = amount.GetAt(index);

ch++;
}
}
if(ch > 0)
{
/***BUG:当字串中有其他字符,形如“a.6”时,会认为格式正确。***/
if(str != '.' && str != ' ' || (space > 0 || dot > 1) )
{

MessageBox(L"金额格式有误,请您检查输入! ",L"重要提示",MB_ICONWARNING);

amountIsRigth = false;

GetDlgItem(IDC_AMOUNT_DAILY)->SetFocus();
}
else

amountIsRigth = true;
}



if(IsCheckBox)
amount = L"¥" + amount;
}
}

void CAccountDaily::OnBnClickedOk()
{
// TODO: 在此添加控件通知处理程序代码
//OnOK();
CheckEnter();
if(resume.GetLength() && amount.GetLength() && amountIsRigth)
MessageBox(dateTime + L"\
\
" + resume + L"\
\
" + type + L"\
\
" + amount + L"\
\
" + remark);

}

上一个:急! C++问题,菜鸟问题
下一个:谁有Microsoft Visual C++ V6.0软件?

CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,