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

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

?? choosefood.cpp

?? C++開發完整酒店管理系統
?? 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一区二区三区免费野_久草精品视频
91精品国产乱码久久蜜臀| 一区二区三区不卡视频| 麻豆91在线看| 日韩网站在线看片你懂的| 舔着乳尖日韩一区| 9191成人精品久久| 日韩成人午夜精品| 精品久久国产字幕高潮| 国产在线视频一区二区| 亚洲国产精品二十页| 99久久精品一区| 亚洲主播在线观看| 日韩一区二区免费高清| 国产一区二区三区黄视频| 欧美激情资源网| 欧美性视频一区二区三区| 日韩成人一区二区三区在线观看| 精品国产区一区| 成人av在线播放网址| 亚洲永久精品国产| 日韩一区二区在线看片| 国产v综合v亚洲欧| 亚洲成人av在线电影| 日韩视频免费观看高清完整版 | 狠狠色丁香九九婷婷综合五月| 中文字幕精品综合| 91成人免费在线| 九九**精品视频免费播放| 国产精品高潮呻吟| 欧美日韩在线不卡| 国产宾馆实践打屁股91| 亚洲香蕉伊在人在线观| 精品不卡在线视频| 在线视频国内自拍亚洲视频| 国模套图日韩精品一区二区| 夜夜嗨av一区二区三区中文字幕 | 美女网站色91| 亚洲欧洲成人精品av97| 91精品国产综合久久久久久| 99天天综合性| 精品中文字幕一区二区小辣椒| 亚洲免费观看在线视频| 精品成人一区二区三区四区| 欧美日韩精品是欧美日韩精品| 高清国产一区二区三区| 天天综合色天天综合| 综合久久综合久久| 久久免费看少妇高潮| 欧美一区二区福利在线| 91久久精品日日躁夜夜躁欧美| 国精产品一区一区三区mba视频 | 精品久久人人做人人爱| 一本久久综合亚洲鲁鲁五月天| 国产在线精品国自产拍免费| 视频在线观看91| 亚洲一区在线观看视频| 国产精品女上位| 久久久久久久网| 久久青草国产手机看片福利盒子| 欧美久久久久久蜜桃| 91猫先生在线| 91一区二区在线| zzijzzij亚洲日本少妇熟睡| 国产精品一区二区在线看| 美女脱光内衣内裤视频久久影院| 日韩高清一级片| 肉色丝袜一区二区| 三级久久三级久久久| 午夜久久久影院| 午夜精品久久久久久久久久久| 亚洲精品免费一二三区| 亚洲人成小说网站色在线 | 久久久www成人免费无遮挡大片| 日韩女优视频免费观看| 欧美福利电影网| 欧美伦理视频网站| 欧美日韩大陆一区二区| 欧美日韩另类国产亚洲欧美一级| 欧美在线影院一区二区| 色琪琪一区二区三区亚洲区| 欧美性一区二区| 这里只有精品99re| 日韩一区二区免费在线观看| 欧美电影免费观看完整版| 精品日韩av一区二区| 精品国精品国产| 国产日韩欧美精品电影三级在线| 国产女人18毛片水真多成人如厕 | 日韩视频免费观看高清完整版在线观看 | 一区二区三区欧美日韩| 亚洲精品欧美在线| 午夜欧美在线一二页| 蜜臀久久99精品久久久久久9| 美日韩一区二区| 粉嫩一区二区三区性色av| 9人人澡人人爽人人精品| 色丁香久综合在线久综合在线观看| 欧美在线你懂的| 91精品国产综合久久久蜜臀粉嫩 | 九色|91porny| eeuss鲁片一区二区三区在线观看| 在线看一区二区| 日韩欧美在线网站| 国产目拍亚洲精品99久久精品| 亚洲色大成网站www久久九九| 亚洲国产视频在线| 久久99九九99精品| 成人18视频在线播放| 欧洲在线/亚洲| 久久青草欧美一区二区三区| 亚洲精选一二三| 美女爽到高潮91| 色综合久久久网| 26uuu亚洲综合色欧美| 成人免费视频在线观看| 日韩在线a电影| www.日韩大片| 日韩视频一区在线观看| 成人免费在线视频| 麻豆精品国产91久久久久久| 97精品电影院| 日韩欧美中文字幕精品| 亚洲欧洲99久久| 精品一区二区三区视频 | 国产成人精品免费在线| 欧美在线free| 亚洲国产成人在线| 日精品一区二区| 色噜噜狠狠成人网p站| 精品欧美久久久| 午夜精品一区二区三区三上悠亚 | 国产一区二区免费看| 欧美性受xxxx黑人xyx性爽| 国产亚洲一本大道中文在线| 五月天一区二区| 99这里只有久久精品视频| 欧美大尺度电影在线| 亚洲综合偷拍欧美一区色| 国产一级精品在线| 7799精品视频| 亚洲一区在线免费观看| 成人av免费观看| 久久久99精品免费观看| 日韩国产精品大片| 欧美日韩久久久| 亚洲午夜免费电影| 一本久久a久久免费精品不卡| 国产精品久久久久久亚洲毛片| 精品一区二区三区影院在线午夜| 在线不卡中文字幕| 一区二区欧美精品| 99久久精品费精品国产一区二区| 久久综合色鬼综合色| 日本麻豆一区二区三区视频| 欧美日韩亚洲综合在线 欧美亚洲特黄一级 | 精品国产区一区| 捆绑紧缚一区二区三区视频| 欧美久久久久久蜜桃| 亚洲福中文字幕伊人影院| 在线观看日韩精品| 亚洲精品欧美专区| 91国偷自产一区二区三区成为亚洲经典| 国产日产欧美一区| 国产精品正在播放| 久久久亚洲欧洲日产国码αv| 国产一区二区三区四区五区美女| 日韩欧美一级二级| 日日摸夜夜添夜夜添亚洲女人| 欧美精品在线观看播放| 亚洲国产乱码最新视频| 欧美日韩一区视频| 亚洲综合激情小说| 欧美亚洲日本国产| 亚洲福利一区二区三区| 欧美亚洲尤物久久| 日韩av一区二区在线影视| 欧美丰满美乳xxx高潮www| 视频一区国产视频| 欧美一级国产精品| 久久国产尿小便嘘嘘| 久久久国际精品| 91欧美一区二区| 午夜欧美大尺度福利影院在线看| 69成人精品免费视频| 麻豆精品在线播放| 久久久久久久电影| 99久久免费精品高清特色大片| 亚洲国产综合在线| 欧美一卡二卡在线观看| 国产一区二区不卡在线| 亚洲欧美在线aaa| 欧美肥妇bbw| 丰满亚洲少妇av| 亚洲福利国产精品| 久久亚洲综合av| 日本久久电影网| 久久精品久久精品| 国产亚洲精品资源在线26u| 色综合一区二区| 免费成人美女在线观看.|