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

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

?? refund.cpp

?? 航空訂票系統 學校大作業開發的
?? CPP
字號:
// Refund.cpp : implementation file
//

#include "stdafx.h"
#include "AviationBS.h"
#include "Refund.h"
#include "UsedLine.h"
#include "Queue.h"
#include "DealWithQueue.h"

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

/////////////////////////////////////////////////////////////////////////////
// CRefund dialog

extern UsedLine usedLine;
extern CClient  client;
extern Queue queue;
extern int Index[8];

CRefund::CRefund(CWnd* pParent /*=NULL*/)
	: CDialog(CRefund::IDD, pParent)
{
	//{{AFX_DATA_INIT(CRefund)
	m_ID = _T("");
	m_name = _T("");
	m_date = COleDateTime::GetCurrentTime();
	m_FCNum = 0;
	m_TCNum = 0;
	//}}AFX_DATA_INIT
}

BOOL CRefund::OnInitDialog()
{
	CDialog::OnInitDialog();
		//在查詢框中的"目的地"下拉列表中加入已安排航班的航線
	CString str;
    for(int i=0;i<usedLine.LineSz;i++)
	{
		str.Format(_T("%s"),usedLine.lineArray[i].destination);
		str=str.Left(10);
		str.Remove(' ');
        m_LineCtrl.AddString(str);
	}
	//設置航班的列表框的屬性,用于顯示退票時的客戶的一些信息
    m_ClientDataCtrl.SetExtendedStyle(m_ClientDataCtrl.GetExtendedStyle() | LVS_EX_FULLROWSELECT |
		 LVS_EX_GRIDLINES | LVS_EX_SUBITEMIMAGES);
	//設置航班的列表框的第一行
    TCHAR ListHead[7][113] = {_T("目的地"),_T("客戶姓名"),_T("身份號"),_T("起飛日期"),
		_T("起飛時間"),_T("頭等艙訂票數"), _T("經濟艙訂票數")};
	 LV_COLUMN lvcolumn;
	 CRect rect;
	 m_ClientDataCtrl.GetWindowRect(&rect);
	 for(i=0;i<7;i++)
	 {
        lvcolumn.mask = LVCF_FMT | LVCF_SUBITEM | LVCF_TEXT | LVCF_WIDTH | LVCF_ORDER;
		lvcolumn.fmt = LVCFMT_LEFT;
		lvcolumn.pszText = ListHead[i];
		lvcolumn.iSubItem = i;
		lvcolumn.iOrder = i;
		if(i<5)lvcolumn.cx = rect.Width()*2/14.5;
		    else lvcolumn.cx = rect.Width()*2/13.1;
		m_ClientDataCtrl.InsertColumn(i, &lvcolumn);
	 }    
    return TRUE;
}
void CRefund::DoDataExchange(CDataExchange* pDX)
{
	CDialog::DoDataExchange(pDX);
	//{{AFX_DATA_MAP(CRefund)
	DDX_Control(pDX, IDC_LIST, m_ClientDataCtrl);
	DDX_Control(pDX, IDC_CHECK3, m_AllCtrl);
	DDX_Control(pDX, IDC_COMBO1, m_LineCtrl);
	DDX_Text(pDX, IDC_IDEDIT, m_ID);
	DDV_MaxChars(pDX, m_ID, 20);
	DDX_Text(pDX, IDC_NAMEEDIT, m_name);
	DDV_MaxChars(pDX, m_name, 20);
	DDX_DateTimeCtrl(pDX, IDC_DATETIMEPICKER1, m_date);
	DDX_Text(pDX, IDC_FCEDIT, m_FCNum);
	DDV_MinMaxInt(pDX, m_FCNum, 0, 1000);
	DDX_Text(pDX, IDC_TCEDIT, m_TCNum);
	DDV_MinMaxInt(pDX, m_TCNum, 0, 1000);
	//}}AFX_DATA_MAP
}


BEGIN_MESSAGE_MAP(CRefund, CDialog)
	//{{AFX_MSG_MAP(CRefund)
	ON_BN_CLICKED(IDC_FINDBUTTON, OnFind)
	//}}AFX_MSG_MAP
END_MESSAGE_MAP()

/////////////////////////////////////////////////////////////////////////////
// CRefund message handlers

void CRefund::OnFind() 
{
	// TODO: Add your control notification handler code here
    m_ClientDataCtrl.DeleteAllItems();
	UpdateData();
	int Lindex;//所選航線的下標
    m_ID.Remove(' ');
    m_name.Remove(' ');	
	if(m_name.IsEmpty()!=0){MessageBox("請輸入您的姓名!");return;}
	if(m_ID.IsEmpty()!=0){MessageBox("請輸入身份證號碼!");return;}
	 else for(int i=0;i<m_ID.GetLength();i++)
		 if(m_ID.GetAt(i)>'9'||m_ID.GetAt(i)<'0'){MessageBox("身份證號碼不能為字符");return;}
	Lindex=m_LineCtrl.GetCurSel();
	if(CB_ERR == Lindex){MessageBox("請選擇目的地!");return;}
	if(m_date>=usedLine.GetNextNDay(7))
		{MessageBox("對不起,本系統只能查詢七天以內的航班信息!謝謝合作!");return;}
	else if(m_date<usedLine.GetNextNDay(0))
        {MessageBox("對不起,你查詢的日期已過期!");return;}
   
	int dayInWeek=m_date.GetDayOfWeek()-1;
	Line=client.BClient[dayInWeek].Find(Lindex);//查找訂票客戶時,存放退票信息所在的航線的指針
    if(Line->LineData.size==0)
		{MessageBox("找不到訂票信息,請正確輸入身份證,目的地和乘機時間,謝謝!");return;}
	ClientIndex=Line->Find(m_ID,m_name);//查詢到的退票客戶信息的下標
	if(ClientIndex==-1)
	{MessageBox("找不到訂票信息,請正確輸入身份證,目的地和乘機時間,謝謝!");return;}
	COleDateTime Time=COleDateTime::GetCurrentTime();
	if(Line->LineData.ClientData[ClientIndex].FlyTime<=Time)
	{
		MessageBox("你所訂的票已過期(飛機已起飛),不可進行退票!");
        Line->remove(ClientIndex);
		return;
	}
	//把找到的訂票信息,在列表框中顯示出來
	    CString str;
		str.Format("%s",usedLine.lineArray[Lindex].destination);
		str=str.Left(10);
	    str.Remove(' ');
		LV_ITEM ListItem={0};
		ListItem.mask=LVIF_TEXT;
		ListItem.iItem=0;
		ListItem.iSubItem=0;
		ListItem.pszText=str.GetBuffer(str.GetLength());
		str.ReleaseBuffer();
		if (m_ClientDataCtrl.InsertItem(&ListItem) != -1)
			 {
				LV_ITEM FlightInfo = {0};
				for(int j=1;j<7;j++)
				{ 
					FlightInfo.mask=LVIF_TEXT;
					FlightInfo.iItem=0;
					FlightInfo.iSubItem =j;
					switch(j)
					{
					case 1: {
						      FlightInfo.pszText=m_name.GetBuffer(m_name.GetLength());
							  m_name.ReleaseBuffer();
							  break;
							}
					case 2: {
							 FlightInfo.pszText=m_ID.GetBuffer(m_ID.GetLength());
							 m_ID.ReleaseBuffer();
							 break;
							}
                    case 3:{
						     str.Format("%d-%d-%d",
								Line->LineData.ClientData[ClientIndex].FlyTime.GetYear(),
								Line->LineData.ClientData[ClientIndex].FlyTime.GetMonth(),
								Line->LineData.ClientData[ClientIndex].FlyTime.GetDay());
							FlightInfo.pszText=str.GetBuffer(str.GetLength());
							str.ReleaseBuffer();
							break;
							}
					case 4: {
							str.Format("%d:%d:%d",
								Line->LineData.ClientData[ClientIndex].FlyTime.GetHour(),
								Line->LineData.ClientData[ClientIndex].FlyTime.GetMinute(),
								Line->LineData.ClientData[ClientIndex].FlyTime.GetSecond());
							FlightInfo.pszText=str.GetBuffer(str.GetLength());
							str.ReleaseBuffer();
							break;
							}
					case 5: {str.Format("%d",Line->LineData.ClientData[ClientIndex].FriCTicket);FlightInfo.pszText=str.GetBuffer(str.GetLength());str.ReleaseBuffer();break;}
					case 6: {str.Format("%d",Line->LineData.ClientData[ClientIndex].TouCTicket);FlightInfo.pszText=str.GetBuffer(str.GetLength());str.ReleaseBuffer();break;}
					}
					m_ClientDataCtrl.SetItem(&FlightInfo);  
				}
			}
}

void CRefund::OnOK() 
{
	// TODO: Add extra validation here
	UpdateData();
    if(m_ClientDataCtrl.GetItemCount()==0)
	{
		MessageBox("請先查詢你的訂票信息,謝謝!");
		return;
	}
	////////////////////退票處理////////////////////////////////
	int FC=m_FCNum,TC=m_TCNum;     //頭等艙,跟經濟艙的退票額;
	if(m_AllCtrl.GetCheck ()==1)   //退全票
	{
		FC=Line->LineData.ClientData[ClientIndex].FriCTicket;
		TC=Line->LineData.ClientData[ClientIndex].TouCTicket;
		Line->remove(ClientIndex);
	}
	else
	{
		if(m_FCNum==0&&m_TCNum==0)
		{MessageBox("請輸入你的退票額!");return;}
		if(m_FCNum>Line->LineData.ClientData[ClientIndex].FriCTicket || 
			m_TCNum>Line->LineData.ClientData[ClientIndex].TouCTicket)
		{MessageBox("你輸入的退票額,已超過你的訂票額,請重新輸入,謝謝!");return;}
        //部分退票處理
		Line->modify(ClientIndex,FC,TC);
	}
	MessageBox("恭喜你,退票成功!");
	//找出目前總共還剩下多少票數,以便查找候補隊列時,將票賣出去
	int LIndex=m_LineCtrl.GetCurSel();
    int FlightIndex;  //退票航班在usedLine中對應的下標
    FlightIndex=usedLine.flightArray[LIndex].Find(Line->LineData.ClientData[ClientIndex].FlyTime);
	//把所退的票加在一起,以便查找候補隊列時,將票賣出去
	FC+=usedLine.flightArray[LIndex].flight[FlightIndex].FirCFreeNum;
	TC+=usedLine.flightArray[LIndex].flight[FlightIndex].TouCFreeNum;
	//查找候補隊列,詢問排隊的人,是否需要訂票
	int dayInWeek=usedLine.flightArray[LIndex].flight[FlightIndex].FlyTime.GetDayOfWeek()-1;
	//找出退票航班在排隊隊列中的地址
    int index=queue.queueData[dayInWeek].LineLink[LIndex].Find(
		usedLine.flightArray[LIndex].flight[FlightIndex].FlyTime);
	Index[6]=LIndex;    
	Index[7]=FlightIndex; //記住退票航班在usedLine中對應的下標
	if(index>=0)
	{
		 QLink* temp=queue.queueData[dayInWeek].LineLink[LIndex].qFlight[index].start;
		for(int i=0;i<queue.queueData[dayInWeek].LineLink[LIndex].qFlight[index].size;i++)
		{
			if(temp->queuer.isTry==true ||(FC>=temp->queuer.FCNum && TC>=temp->queuer.TCNum))
			{
			  Index[0]=FC;  //通過全局變量把參數傳給DealWithQueue對話框處理,不安全,笨!
			  Index[1]=TC;
			  Index[2]=index;
			  Index[3]=dayInWeek;
			  DealWithQueue dlg;
			  dlg.Exchange(&queue.queueData[dayInWeek].LineLink[LIndex],temp,Line);	
			  temp=temp->next;
			  dlg.DoModal();
			}
			FC=Index[0];
			TC=Index[1];
			if(FC==0 && TC==0)break;   //所有空閑票處理完畢	
		}
	}
	//將剩下的票放回到usedLine中
    usedLine.flightArray[LIndex].flight[FlightIndex].FirCFreeNum=FC;
    usedLine.flightArray[LIndex].flight[FlightIndex].TouCFreeNum=TC;
	CDialog::OnOK();
}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
亚洲一区影音先锋| 成人午夜激情视频| 日韩精品在线一区二区| 亚洲精品一区二区三区香蕉 | av在线一区二区| 6080yy午夜一二三区久久| 亚洲欧美日韩人成在线播放| 国产东北露脸精品视频| 欧美一区二区精品| 日本不卡123| 欧美一卡二卡在线| 日本不卡123| 日韩欧美国产系列| 久草这里只有精品视频| 久久综合中文字幕| 国产尤物一区二区在线| 日韩亚洲欧美综合| 奇米亚洲午夜久久精品| 欧美一区二区在线播放| 精品亚洲成a人在线观看| 日韩美女在线视频 | 99久久伊人网影院| 亚洲男人的天堂av| 欧美综合一区二区| 在线91免费看| 亚洲美女免费在线| 欧洲av一区二区嗯嗯嗯啊| 亚洲免费av观看| 欧美亚洲一区二区三区四区| 五月天欧美精品| 精品99999| av激情亚洲男人天堂| 亚洲制服欧美中文字幕中文字幕| 欧美人与性动xxxx| 国产一区二区在线观看免费| 久久精品在线观看| 91伊人久久大香线蕉| 亚洲自拍另类综合| 精品国产伦一区二区三区免费| 国产成人亚洲精品青草天美| 亚洲欧洲制服丝袜| 亚洲一区二区三区影院| 97久久精品人人做人人爽50路 | 91精品国产福利在线观看| 亚洲mv大片欧洲mv大片精品| 日韩欧美高清一区| 99久久精品国产观看| 天堂一区二区在线免费观看| 久久免费视频一区| 在线日韩国产精品| 久久福利资源站| 日韩久久一区二区| 欧美一级久久久久久久大片| 成人精品小蝌蚪| 日韩精品每日更新| 中文字幕亚洲电影| 欧美成人精品二区三区99精品| 成人精品视频一区二区三区| 日本美女视频一区二区| 亚洲欧洲99久久| 欧美精品一二三| 97se亚洲国产综合自在线| 精品一区二区三区蜜桃| 亚洲国产aⅴ成人精品无吗| 天天综合色天天综合色h| 国产成人午夜高潮毛片| 亚洲伦理在线精品| 久久久久久久久久久久久女国产乱| 91麻豆精东视频| 国产精品一区二区三区99| 日韩综合一区二区| 国产精品久久久久久久裸模| 日韩写真欧美这视频| 成人看片黄a免费看在线| 麻豆91在线播放| 午夜精品久久久久| 一区二区三区影院| 中文字幕免费在线观看视频一区| 欧美老人xxxx18| 欧美自拍偷拍一区| 99国内精品久久| 成人国产精品免费观看动漫| 精东粉嫩av免费一区二区三区| 一区二区三区免费在线观看| 国产精品三级av在线播放| 精品剧情v国产在线观看在线| 欧美日韩视频在线一区二区| 在线视频中文字幕一区二区| 国产成人在线视频网站| 国产制服丝袜一区| 国内偷窥港台综合视频在线播放| 日韩激情在线观看| 首页亚洲欧美制服丝腿| 亚洲宅男天堂在线观看无病毒| 中文字幕一区二区三区在线观看| 国产网站一区二区| 2021中文字幕一区亚洲| 欧美mv日韩mv亚洲| 欧美精品一区二区三区蜜桃视频 | 亚洲欧洲综合另类在线| 中文字幕一区二区三区在线不卡 | 欧美成人高清电影在线| 欧美日韩国产影片| 欧美剧在线免费观看网站| 欧美亚洲国产一区二区三区| 在线观看欧美精品| 欧美系列亚洲系列| 欧美三区在线视频| 日韩一区二区三区观看| 欧美成人精品1314www| 国产精品免费视频一区| 午夜久久福利影院| 国产一区啦啦啦在线观看| 91麻豆自制传媒国产之光| 欧美二区在线观看| 中文字幕一区日韩精品欧美| 婷婷中文字幕一区三区| 成人性生交大片免费看视频在线| 欧美日韩国产美| 中文字幕不卡的av| 日韩综合小视频| aaa欧美大片| 精品国产三级a在线观看| 亚洲欧美日韩一区二区| 精品在线观看视频| 日本高清成人免费播放| 国产视频一区二区在线观看| 日一区二区三区| 99re亚洲国产精品| 久久久久久久国产精品影院| 日韩精彩视频在线观看| 一本久久综合亚洲鲁鲁五月天| 欧美巨大另类极品videosbest| 中文字幕一区二区三区不卡在线| 免费成人性网站| 欧美在线小视频| 欧美国产日韩亚洲一区| 麻豆精品视频在线| 欧美乱妇15p| 亚洲一区在线免费观看| 成a人片国产精品| 久久夜色精品国产噜噜av| 日本成人中文字幕在线视频| 欧美亚洲综合久久| 亚洲欧美日韩一区二区| 成人黄色a**站在线观看| 欧美精品一区二区三区在线播放 | 午夜电影久久久| 在线日韩av片| 亚洲黄色小说网站| 91麻豆产精品久久久久久| 国产精品天天看| 盗摄精品av一区二区三区| 久久久亚洲精品一区二区三区| 日本欧美一区二区三区| 6080午夜不卡| 奇米影视在线99精品| 3751色影院一区二区三区| 亚洲444eee在线观看| 欧美亚洲一区三区| 亚洲成人自拍网| 精品视频在线免费| 亚洲一区二区免费视频| 欧美日韩在线综合| 亚洲福利视频一区| 91精品麻豆日日躁夜夜躁| 日韩主播视频在线| 欧美一级二级三级乱码| 开心九九激情九九欧美日韩精美视频电影| 欧美精品久久天天躁| 日本在线不卡视频| 欧美mv日韩mv亚洲| 国产大陆精品国产| 亚洲三级电影网站| 欧洲一区二区三区免费视频| 亚洲国产一二三| 91精品国模一区二区三区| 精品一区在线看| 欧美激情一区二区三区四区| 丁香婷婷综合网| 亚洲精品久久嫩草网站秘色| 欧美色倩网站大全免费| 麻豆一区二区三| 国产日产亚洲精品系列| 99久久精品99国产精品| 午夜精品一区二区三区电影天堂| 在线不卡欧美精品一区二区三区| 精品一区二区在线看| 国产精品久久久久影院色老大 | 精品99999| 不卡在线视频中文字幕| 亚洲午夜国产一区99re久久| 日韩欧美一级二级| k8久久久一区二区三区| 亚洲国产视频一区二区| 精品蜜桃在线看| 99热精品国产| 蜜桃久久av一区| 亚洲人成人一区二区在线观看 | 日本一区二区三区久久久久久久久不|