亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? choosefood.cpp

?? 一個比較完整的酒店管理系統
?? CPP
字號:
// ChooseFood.cpp : implementation file
//

#include "stdafx.h"
#include "qq.h"
#include "ChooseFood.h"

#ifdef _DEBUG
#define new DEBUG_NEW
#undef THIS_FILE
static char THIS_FILE[] = __FILE__;
#endif

/////////////////////////////////////////////////////////////////////////////
// CChooseFood dialog


CChooseFood::CChooseFood(CWnd* pParent /*=NULL*/)
	: CDialog(CChooseFood::IDD, pParent)
{
	//{{AFX_DATA_INIT(CChooseFood)
	m_PaidType = -1;
	//}}AFX_DATA_INIT
	m_DefaultSum=0.00f;
	bStriked=false;
}


void CChooseFood::DoDataExchange(CDataExchange* pDX)
{
	CDialog::DoDataExchange(pDX);
	//{{AFX_DATA_MAP(CChooseFood)
	DDX_Control(pDX, IDC_PAID, Paid);
	DDX_Control(pDX, IDC_SUM, Sum);
	DDX_Control(pDX, IDC_REBATE, Rebate);
	DDX_Control(pDX, IDC_FOODBILLLIST, FoodBillList);
	DDX_Control(pDX, IDC_FOODNUM, FoodNum);
	DDX_Control(pDX, IDC_FOODLIST, FoodList);
	DDX_Control(pDX, IDC_BILLCODE, BillCode);
	DDX_Control(pDX, IDC_HANDCODE, HandCode);
	DDX_Radio(pDX, IDC_RADIO1, m_PaidType);
	//}}AFX_DATA_MAP
}


BEGIN_MESSAGE_MAP(CChooseFood, CDialog)
	//{{AFX_MSG_MAP(CChooseFood)
	ON_BN_CLICKED(IDC_ADD, OnAdd)
	ON_BN_CLICKED(IDC_DELETE, OnDelete)
	ON_BN_CLICKED(IDC_UPDATEDATA, OnUpdatedata)
	ON_BN_CLICKED(IDC_RADIO1, OnRadio)
	ON_BN_CLICKED(IDC_RADIO2, OnRadio)
	//}}AFX_MSG_MAP
END_MESSAGE_MAP()

/////////////////////////////////////////////////////////////////////////////
// CChooseFood message handlers

BOOL CChooseFood::OnInitDialog() 
{
	CDialog::OnInitDialog();
	HICON m_hIcon=AfxGetApp()->LoadIcon(IDR_MAINFRAME2);
	this->SetIcon(m_hIcon,true);//設置對話框圖標
	// TODO: Add extra initialization here
	
	if(!m_FoodInfoSet.Open())
	{
		MessageBox("打開數據庫失敗!","數據庫錯誤",MB_OK);
		return false;
	}
	m_FoodInfoSet.MoveFirst();
	while (!m_FoodInfoSet.IsEOF())
	{
		CString strFoodList="",strFoodPrice="";
        strFoodList=m_FoodInfoSet.m_FoodName;
		strFoodList=strFoodList+"  ";
		strFoodPrice.Format("%5.0f",m_FoodInfoSet.m_FoodPrice);
		strFoodList=strFoodList+strFoodPrice;
		FoodList.AddString(strFoodList);
		m_FoodInfoSet.MoveNext();
	}
	m_FoodInfoSet.Close();
	//產生帳單號碼
	CCreateBillCode billcode;
	BillCode.SetWindowText(billcode.GenereBillCode());
	//將錢的總數設置為0
	Sum.SetWindowText("0");
	///Paid無效話
	Paid.SetWindowText("0");
    Paid.EnableWindow(FALSE);
	//設置缺省折扣率
	Rebate.SetWindowText("1");
	bStriked=false;
	return TRUE;  // return TRUE unless you set the focus to a control
	              // EXCEPTION: OCX Property Pages should return FALSE
}

void CChooseFood::OnAdd() 
{
	// TODO: Add your control notification handler code here
 ////////////////////////////////////////////////////////////////////
	//////////////////////////////////////////////////////////////////////////
///////////////////////添加一個項目模塊
    int nCurSel=FoodList.GetCurSel();
	if(nCurSel==-1)
	{
		MessageBox("請選擇至少一種菜!","選擇錯誤",MB_OK);
		return;
	}
	CString strFoodNum;
	FoodNum.GetWindowText(strFoodNum);
	if(strFoodNum==""||strFoodNum=="0")
	{
		MessageBox("數量至少要為一","選擇錯誤",MB_OK);
		return;
	}
	CString strFoodName="";
	FoodList.GetText(nCurSel,strFoodName);//得到文本
	char* s=strFoodName.GetBuffer(strFoodName.GetLength());
	char* str=strtok(s," ");//得到菜的名字
	bool bSame=false;
	for(int i=0;i<FoodBillList.GetCount();i++)
	{
		CString strTemp="";
		FoodBillList.GetText(i,strTemp);//得到文本
		char* temp=strTemp.GetBuffer(strTemp.GetLength());//得到緩沖區字符
		char* bSameText=strtok(temp," ");
		if(*bSameText==*str)//找到一個相同的項目
		{
			bSame=true;
			MessageBox("你已經選了這個食品!","選擇錯誤",MB_OK);
			return;
		}
//		strTemp.ReleaseBuffer(-1);
	}
	if(!bSame)//若沒有相同的項目則添加新的記錄
	{
       strFoodName=str;//構造顯示文本
	   strFoodName=strFoodName+"         "+strFoodNum;
	   FoodBillList.AddString(strFoodName);//添加字符竄
	}
 /////////////////////添加一個項目完成
 ////////////////////////////////////////////////////////////////////
/*########################計算當前應付的總款#########################
####################################################################*/
	float MoneySum=0;//總錢數目
	for( i=0;i<FoodBillList.GetCount();i++)
	{
		//取得當前文本
		CString BillListText="";
		FoodBillList.GetText(i,BillListText);//取得文本
		//將取得的文本進行轉換(char*)
		char* billlistText=BillListText.GetBuffer(BillListText.GetLength());
        char* FoodNameInBillList,*FoodNumInBillList;
		//分別取得對應的數據
		FoodNameInBillList=strtok(billlistText," ");//食物名字
		FoodNumInBillList=strtok(NULL," "); //食物數量
		//根據菜單的名字查找相應的價錢
		CString SQLstr;
		SQLstr="select * from FoodInfo where FoodName='";
		SQLstr=SQLstr+FoodNameInBillList;
		SQLstr=SQLstr+"'";
		if(!m_FoodInfoSet.Open(AFX_DB_USE_DEFAULT_TYPE,SQLstr))
		{
            MessageBox("打開數據庫失敗!","數據庫錯誤",MB_OK);
			return;
		}
		float nMoney=m_FoodInfoSet.m_FoodPrice;//得到價錢
		m_FoodInfoSet.Close();//關閉數據庫
      //////////////////////////////////////////////////////////////////////////
      ///計算總數
		long FoodNum=0;
		FoodNum=atoi(FoodNumInBillList);//食物數量
		MoneySum=MoneySum+nMoney*FoodNum;
	}
	////將計算得到的總數再乘以折扣率
	m_DefaultSum=MoneySum;//設置缺省的總數
	float rebate=0.00f;
	CString strText;
	Rebate.UpdateData(true);
	Rebate.GetWindowText(strText);
	if(strText=="")
	{
		MessageBox("請輸入折扣率!","數據為空錯誤",MB_OK);
		return;
	}
    char* sTemp=strText.GetBuffer(strText.GetLength());
	rebate=atof(sTemp);
	MoneySum=m_DefaultSum*rebate;//乘以折扣率

    CString strSum="";
	strSum.Format("%6.00f",MoneySum);
	Sum.SetWindowText(strSum);//顯示總數
//####################################################################
}

void CChooseFood::OnDelete() 
{
	// TODO: Add your control notification handler code here
	int nCount=FoodBillList.GetCount();
	if(nCount==0)
	{//當前記錄為空
		MessageBox("當前沒有刪除的項目!","記錄為空錯誤",MB_OK);
		Sum.SetWindowText("0");
		return;
	}
	int nCurSel=FoodBillList.GetCurSel();
	if(nCurSel==-1)
	{//沒有選擇一種菜
	    MessageBox("你應該選擇一種要刪除的菜!","數據為空",MB_OK);
		return;
	}
	else
	{
		FoodBillList.DeleteString(nCurSel);
	}
	/////刪除以后從新計算帳總數
	int nNum=FoodBillList.GetCount();
	float nMoney=0.00f;
	for(int i=0;i<nNum;i++)
	{
        CString strItemText="";
		FoodBillList.GetText(i,strItemText);//得到項目文本
		char* str=strItemText.GetBuffer(strItemText.GetLength());
		char* strFoodName,*strFoodNum;
		strFoodName=strtok(str," ");//得到菜的名字
		strFoodNum=strtok(NULL," ");//得到菜的數目
		CString SQLstr;
		SQLstr="select * from FoodInfo where FoodName='";
		SQLstr=SQLstr+strFoodName;
		SQLstr=SQLstr+"'";
		if(!m_FoodInfoSet.Open(AFX_DB_USE_DEFAULT_TYPE,SQLstr))
		{
			MessageBox("打開數據庫失敗!","數據庫錯誤",MB_OK);
			return;
		}
		float nPrice=m_FoodInfoSet.m_FoodPrice;//得到價錢
		m_FoodInfoSet.Close();//關閉數據庫
		//////計算總數
		long nFoodNum=atoi(strFoodNum);
        nMoney=nMoney+nPrice*nFoodNum;
	}
	//顯示更新后的總數
	m_DefaultSum=nMoney;//設置缺省的總數
	CString strShowText,strReabte;
	Rebate.GetWindowText(strReabte);
	char* s=strReabte.GetBuffer(strReabte.GetLength());
	double n=atof(s);
	strShowText.Format("%6.00f",m_DefaultSum*n);
	Sum.SetWindowText(strShowText);
}

void CChooseFood::OnUpdatedata() 
{
	// TODO: Add your control notification handler code here
	////將計算得到的總數再乘以折扣率
	float MoneySum=0.00f;
	float rebate=0.00f;
	CString strText;
	Rebate.GetWindowText(strText);//得到折扣率文本

	if(strText=="")
	{
		MessageBox("請輸入折扣率!","數據為空錯誤",MB_OK);
		return;
	}
	char* sRebateTemp=strText.GetBuffer(strText.GetLength());
	rebate=atof(sRebateTemp);//轉變折扣率
	MoneySum=m_DefaultSum*rebate;
	CString strSum="";
	strSum.Format("%6.00f",MoneySum);
	Sum.SetWindowText(strSum);//顯示總數
}

void CChooseFood::OnRadio() 
{
	// TODO: Add your control notification handler code here
	this->UpdateData(true);
	if(m_PaidType==0)
	{
		bStriked=true;
        Paid.EnableWindow(true);
	}
	if(m_PaidType==1)
    {
		bStriked=false;
       Paid.EnableWindow(false);
    }
}

void CChooseFood::OnOK() 
{//保存數據到數據庫中
	// TODO: Add extra validation here
	OnUpdatedata();//自動更新數據,防止因為忘記更新或者其他的原因產生誤操作
	CString strHandCode;
	HandCode.GetWindowText(strHandCode);
    if(strHandCode=="")
	{
	    MessageBox("請輸入手牌號!","數據為空錯誤",MB_OK);
		return;
	}
	/////如果選擇的是"現結"方式,而已經付的金額為<0則提示輸入錯誤
	CString strPaidTemp="";
	Paid.GetWindowText(strPaidTemp);//得到已經付的款
	if(bStriked)
	{
		if(strPaidTemp==""||strPaidTemp=="0")
		{
			MessageBox("你可能輸入錯誤,客人已經付的款應該大于0!!","輸入錯誤",MB_OK);
			return;
		}
	}
	//查找客人數據庫中是否存在這個手牌號
	if(!m_GuestInfoSet.Open(AFX_DB_USE_DEFAULT_TYPE))
	{
		MessageBox("打開數據庫失敗!","數據庫錯誤",MB_OK);
		return;
	}
	m_GuestInfoSet.MoveFirst();
	bool bhas=false;
	while(!m_GuestInfoSet.IsEOF())
	{
        if(m_GuestInfoSet.m_HandCode==strHandCode)
		{ 
			//////////////////////////////////////////////////////////////////////////
			//////////////////////////////////////////	
			bhas=true;//存在這條記錄 
			break;
		}
		m_GuestInfoSet.MoveNext();//移動到下一條記錄
	}
	if(!bhas)
	{
		MessageBox("你輸入的手牌號不正確!","輸入消息錯誤",MB_OK);
		m_GuestInfoSet.Close();//關閉數據庫 
		return;
	}
	m_GuestInfoSet.Close();//關閉數據庫 
	////////查詢完畢
	//////////////////////////////////////////////////////////////////////////
	/////將數據保存到相應的數據庫中
	/////寫BillInfoSet表
	if(!m_BillInfoSet.Open())
	{//打開數據庫失敗處理異常
		MessageBox("打開數據庫失敗!","數據庫錯誤",MB_OK);
		return;
	}
     /////新增加一條帳單的記錄
	m_BillInfoSet.AddNew();
	/////數據填充
	CString strBillCode,strSum,strPaid,strRebate;
	BillCode.GetWindowText(strBillCode);
	m_BillInfoSet.m_BillCode=strBillCode;//帳單號碼
    m_BillInfoSet.m_HandCode=strHandCode;//客人手牌
	Sum.GetWindowText(strSum);
	char* s=strSum.GetBuffer(strSum.GetLength());
	long nSum=atol(s);
	m_BillInfoSet.m_Sum=nSum;//應付總數
	Paid.GetWindowText(strPaid);
	s=strPaid.GetBuffer(strPaid.GetLength());
	long nPaid=atol(s);
	m_BillInfoSet.m_Paid=nPaid;//實付總數
	Rebate.GetWindowText(strRebate);
	m_BillInfoSet.m_Rebate=strRebate;//折扣率
	m_BillInfoSet.m_Striked=bStriked;//是否已經付款
	m_BillInfoSet.Update();//數據更新
	m_BillInfoSet.Close(); //關閉數據庫
 //////////////////////////////////////////////////////////////////////////
 //      開始寫BillContentInfo表,記錄這個帳單的具體消費情況
	if(!m_BillContentInfoSet.Open())
	{
		MessageBox("打開數據庫失敗!","數據庫錯誤",MB_OK);
		return;
	}
	m_BillContentInfoSet.AddNew();//新增一條記錄
	CString strBillContent="";
	for(int i=0;i<FoodBillList.GetCount();i++)
	{
		CString strTemp="";
		FoodBillList.GetText(i,strTemp);
		strBillContent=strBillContent+strTemp+",";
	}
	CString strBillcode;
	BillCode.GetWindowText(strBillcode);
	m_BillContentInfoSet.m_BillCode=strBillcode;
	m_BillContentInfoSet.m_BillContent=strBillContent;
	m_BillContentInfoSet.Update();//更新數據庫,將緩沖區的數據寫入數據庫中
	m_BillContentInfoSet.Close();//關閉數據庫
	CDialog::OnOK();
}

void CChooseFood::OnCancel() 
{
	// TODO: Add extra cleanup here

	CDialog::OnCancel();
}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
亚洲国产精品视频| 欧美在线你懂得| 欧美在线三级电影| 亚洲精品一区二区三区香蕉| 亚洲毛片av在线| 福利91精品一区二区三区| 欧美精品色综合| 一区二区视频免费在线观看| 国产乱码精品一区二区三区忘忧草 | 国产一区二区日韩精品| 欧美丝袜丝nylons| 国产精品久久久久久久久久久免费看| 麻豆精品一区二区综合av| 欧美色成人综合| 亚洲三级在线免费观看| 国产精品18久久久久久久久久久久| 欧美精品视频www在线观看| 亚洲另类在线视频| 成人h动漫精品一区二区| 2017欧美狠狠色| 久久www免费人成看片高清| 欧美福利视频导航| 午夜av一区二区三区| 欧美性大战xxxxx久久久| 亚洲精品国产第一综合99久久| 成人午夜伦理影院| 国产精品色一区二区三区| 国产成人福利片| 久久精品免视看| 国产精品1区2区| 欧美国产成人精品| 成人av集中营| 亚洲婷婷综合色高清在线| av一区二区不卡| 亚洲视频你懂的| 在线观看国产日韩| 视频在线观看一区| 91精品国产91综合久久蜜臀| 日韩成人精品在线观看| 精品日韩一区二区| 国产精品综合一区二区三区| 精品久久久久久综合日本欧美| 久久精品国产精品亚洲综合| 久久婷婷久久一区二区三区| 粉嫩av一区二区三区| 中文字幕中文字幕在线一区 | 国产精品久久久久久久第一福利| 成人黄色大片在线观看| 成人欧美一区二区三区1314| 91网址在线看| 青青草精品视频| 国产三级久久久| 日本高清免费不卡视频| 日韩国产精品91| 久久久午夜精品理论片中文字幕| 成人激情动漫在线观看| 亚洲综合色自拍一区| 欧美zozozo| 一本高清dvd不卡在线观看| 亚洲成人av一区二区| 日韩欧美中文一区二区| 国产成人免费视| 亚洲高清免费观看高清完整版在线观看| 欧美一区二区三区在| 丁香另类激情小说| 亚洲成人1区2区| 国产三级精品三级| 欧美日韩精品久久久| 成人性生交大合| 午夜电影一区二区三区| 中文字幕不卡在线观看| 欧美一区二区黄| 99免费精品在线| 九一九一国产精品| 亚洲a一区二区| 久久亚区不卡日本| 欧美精品在线视频| 懂色av一区二区三区蜜臀| 日韩avvvv在线播放| 亚洲欧美日韩小说| 26uuu久久天堂性欧美| 欧美日韩国产综合久久| 99这里只有精品| 国产精品综合视频| 日产欧产美韩系列久久99| 伊人色综合久久天天| 国产日韩欧美精品一区| 欧美videos大乳护士334| 欧美性xxxxxxxx| 成人丝袜高跟foot| 狠狠狠色丁香婷婷综合激情| 五月天一区二区三区| 亚洲乱码中文字幕| 国产精品午夜春色av| 久久久不卡网国产精品二区| 日韩免费高清电影| 欧美一级欧美一级在线播放| 欧美午夜宅男影院| 91老师国产黑色丝袜在线| 国产成人午夜电影网| 黄色小说综合网站| 免费一区二区视频| 亚洲h在线观看| 亚洲第一主播视频| 亚洲国产美国国产综合一区二区| 国产精品久久久久桃色tv| 国产精品欧美极品| 日本一二三四高清不卡| 国产欧美日本一区二区三区| 久久在线观看免费| 久久久久综合网| 久久精品人人做人人爽人人| 久久久久综合网| 中文av一区二区| 国产精品国产精品国产专区不蜜 | 午夜av电影一区| 亚洲已满18点击进入久久| 亚洲影院在线观看| 亚洲精品国久久99热| 亚洲蜜臀av乱码久久精品| 亚洲精品写真福利| 亚洲电影在线播放| 日本美女一区二区三区| 久久se精品一区二区| 国内精品视频一区二区三区八戒| 激情都市一区二区| www.欧美色图| 欧日韩精品视频| 欧美日韩高清一区二区| 91精品国产综合久久久久| 欧美成人高清电影在线| 国产日韩av一区| 亚洲欧美电影一区二区| 亚洲国产精品影院| 久久电影国产免费久久电影| 国产河南妇女毛片精品久久久 | 欧美网站一区二区| 日韩一区二区精品在线观看| 精品国产成人系列| 18欧美乱大交hd1984| 午夜精品一区二区三区三上悠亚| 久久精品国产久精国产| voyeur盗摄精品| 欧美乱妇15p| 久久久久久久久久久黄色| 亚洲精品免费在线| 另类成人小视频在线| 成人午夜在线免费| 欧美日本高清视频在线观看| 精品国产乱码久久久久久老虎| 亚洲青青青在线视频| 蜜臀a∨国产成人精品| 99re亚洲国产精品| 日韩欧美国产三级电影视频| 国产精品嫩草影院av蜜臀| 午夜欧美一区二区三区在线播放| 国产传媒一区在线| 91精品国产黑色紧身裤美女| 中文字幕一区二区日韩精品绯色| 日韩精品国产精品| av综合在线播放| 精品成人a区在线观看| 一区二区三区在线免费视频| 国产精品影视在线| 欧美影片第一页| 中文字幕一区在线| 国内成人免费视频| 欧美二区三区的天堂| 亚洲精品免费在线播放| 国产成人一级电影| 欧美一二三区精品| 亚洲成人免费视频| 91丨九色丨蝌蚪丨老版| 国产午夜亚洲精品理论片色戒| 日本视频在线一区| 欧美自拍丝袜亚洲| 成人欧美一区二区三区1314 | 国产精品免费aⅴ片在线观看| 美腿丝袜亚洲一区| 欧美无人高清视频在线观看| 亚洲人123区| www.日韩精品| 国产精品每日更新| 国产丶欧美丶日本不卡视频| 日韩一区二区三区视频| 五月激情综合婷婷| 色噜噜狠狠色综合中国 | 国产午夜精品久久久久久久| 麻豆国产欧美日韩综合精品二区| 欧美精品亚洲一区二区在线播放| 亚洲乱码国产乱码精品精的特点| 成人精品国产免费网站| 国产精品女人毛片| 成人av在线电影| 国产精品国产自产拍高清av王其| 国产不卡在线播放| 国产亚洲福利社区一区| 成人午夜免费电影| 中文字幕亚洲综合久久菠萝蜜| 成人动漫在线一区|