當前位置:法律諮詢服務網 - 企業資訊 - c++課程設計 小型飯店管理信息系統

c++課程設計 小型飯店管理信息系統

#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"\n\n" + resume + L"\n\n" + type + L"\n\n" + amount + L"\n\n" + remark);

}

  • 上一篇:流程圖怎麽做?
  • 下一篇:賣房標題怎麽寫有吸引力
  • copyright 2024法律諮詢服務網