⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 pathdlg.cpp

📁 数据库实验代码。实现一个旅行管理数据库的应用软件。
💻 CPP
字号:
// PATHDLG.cpp : 实现文件
//

#include "stdafx.h"
#include "travel.h"
#include "PATHDLG.h"
#include "RESERVATIONS.h"
#include "FLIGHTS.h"
#include "City.h"
#define MAX_COLUMN 10
// PATHDLG 对话框

IMPLEMENT_DYNAMIC(PATHDLG, CDialog)

PATHDLG::PATHDLG(CWnd* pParent /*=NULL*/)
	: CDialog(PATHDLG::IDD, pParent)
	, Name(_T(""))
	, NumPath(0)
{
	NumPath=0;
}

PATHDLG::~PATHDLG()
{
}

void PATHDLG::DoDataExchange(CDataExchange* pDX)
{
	CDialog::DoDataExchange(pDX);
	//DDX_Control(pDX, IDC_LIST1, List);
	DDX_Control(pDX, IDC_LIST2, List);
	DDX_Text(pDX, IDC_EDIT1, Name);

	List.ModifyStyle(0,LVS_REPORT|LVS_SHOWSELALWAYS|LVS_SORTASCENDING);
	List.SendMessage(LVM_SETEXTENDEDLISTVIEWSTYLE,0,LVS_EX_GRIDLINES|LVS_EX_FULLROWSELECT);

	List.DeleteAllItems();
    for (int i = 0; i < MAX_COLUMN; i++)
    {
        if (!List.DeleteColumn(0)) break;
    }
	CDC* pDC=GetDC();
	TEXTMETRIC tm;
	pDC->GetTextMetrics(&tm);
	List.InsertColumn(0,"ID",LVCFMT_LEFT,15*tm.tmAveCharWidth,0);
	List.InsertColumn(1,"Custname",LVCFMT_LEFT,15*tm.tmAveCharWidth,1);
	List.InsertColumn(2,"FromCity",LVCFMT_LEFT,15*tm.tmAveCharWidth,2);
	List.InsertColumn(3,"AvailCity",LVCFMT_LEFT,15*tm.tmAveCharWidth,3);
	//	List.InsertColumn(4,"numAvail",LVCFMT_LEFT,15*tm.tmAveCharWidth,4);


}


BEGIN_MESSAGE_MAP(PATHDLG, CDialog)
	ON_BN_CLICKED(IDOK, &PATHDLG::OnBnClickedClose)
	ON_BN_CLICKED(IDCANCEL, &PATHDLG::OnBnClickedCancel)
	ON_BN_CLICKED(IDC_BUTTON1, &PATHDLG::OnBnClickedButton1)
END_MESSAGE_MAP()


// PATHDLG 消息处理程序

void PATHDLG::OnBnClickedClose()
{
	// TODO: 在此添加控件通知处理程序代码
	OnOK();
}

void PATHDLG::OnBnClickedCancel()//4.查询某个客户的旅行线路。
{
	// TODO: 在此添加控件通知处理程序代码
	UpdateData();
	CFlights Flights;
	CReservations Reservations;
	Flights.Open();
	Reservations.Open();
	int i=0;
	while (!Reservations.IsEOF())
	{
		if (Reservations.m_custName==Name)
		{
			Flights.MoveFirst();
			while(!Flights.IsEOF())
			{
				if (Flights.m_flightNum==Reservations.m_resvKey)
				{
					CString temp;		
					temp.Format(_T("%d"),i);
					List.InsertItem(i,temp);
					List.SetItemText(i,1,Reservations.m_custName);
					//temp.Format(_T("%d"),Record.m_price);
					List.SetItemText(i,2,Flights.m_FromCity);
					//temp.Format(_T("%d"),Record.m_numRooms);
					List.SetItemText(i,3,Flights.m_ArivCity);
					//temp.Format(_T("%d"),Record.m_numAvail);
					//List.SetItemText(i,4,temp);
					i++;
				}
				Flights.MoveNext();
			}
		}
		Reservations.MoveNext();
	}
	NumPath=i;
}

void PATHDLG::OnBnClickedButton1()//检查完整性
{
	// TODO: 在此添加控件通知处理程序代码
	if (NumPath>0)
	{
//				for (int i = -1; (i = List.GetNextItem(i, LVIS_SELECTED)) != -1;)
/*		CString test;
		test=List.GetItemText(0,0);
		test=List.GetItemText(0,1);
		test=List.GetItemText(1,1);
		test=List.GetItemText(1,0);
		*/
		int i=List.GetItemCount();
		City Location;
		for (int j=0;j<i;j++)
		{

			Location.T[j]=1;
			Location.From[j]=List.GetItemText(j,2);
			Location.Avail[j]=List.GetItemText(j,3);
		}
		CString temp,start;
		int k;
		temp=Location.Avail[0];
		start=Location.From[0];
		k=Location.SearchFrom(temp,
			i);
		bool stop=0;
		while (k!=-1&&!stop)
		{
			temp=Location.Avail[k];
			if (temp==start)
			{
				stop=1;
			}
			else
			{
				k=Location.SearchFrom(temp,i);
			}

		}
		if (stop==1)
		{
			AfxMessageBox("路线是完整的!");
		}
		else
			AfxMessageBox("路线不是完整的!");
		
		
	}
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -