資源簡介
數據結構,可以作為大作業,詳細的注釋以及嚴謹的編碼風格,為大二編寫的還是很學生化得,而且有說明文檔

代碼片段和文件信息
#include
#include
#include
#include
using?namespace?std;
#define?CITYNUM?24
#define??MAXINT?100000
struct?TimeMy
{
int?Hour;
int?Minute;
int?operator<(TimeMy?time2);//小于重載
int?operator-(TimeMy?time2);//減號重載
int?operator+(int?time);//加好重載
};
int?TimeMy::operator?+(int?time)
{
return?60*Hour+Minute+time;
}
int?TimeMy::operator?<(TimeMy?time2)
{
if(Hour==time2.Hour)
if(time2.Minute return?1;
else?
return?0;
if(Hour return?1;
else
return?0;
}
int TimeMy::operator?-(TimeMy?time2)
{
return?60*(Hour-time2.Hour)+Minute-time2.Minute;
}
//輸出操作重載
ostream?operator<<(ostream?&outTimeMy?time)
{
out< out< out< return?out;
}
//輸入操作重載
istream?operator>>(istream?&inTimeMy?&time2)
{
char?buff[5];
in>>buff;
buff[2]=‘\0‘;
time2.Hour=atoi(&buff[0]);//前兩個字符轉換成整型
time2.Minute=atoi(&buff[3]);//后兩個字符轉換成整型
buff[2]=‘0‘;//我怕造成內存泄漏
return?in;
}
/*//時間類測試
int?main()
{
TimeMy?time1time2;
cin>>time1>>time2;
cout< cout<<(time1 cout<<(time2 cout< return?0;
}*/
//一個航班或是車列的記錄
struct?TFNum
{
string?ID;
TimeMy?Start;
TimeMy?End;
float?Cost;
TimeMy?Long;
};
struct?TGraph
{
TFNum?tfnum[CITYNUM][CITYNUM][3];//全部車次或航班鄰接矩陣
int?num[CITYNUM][CITYNUM];//num[x1][x2]表示tfnum[x1][x2]的第三維有num[x1][x2]個車次
void?output();
};
void?TGraph::output()
{
for(int?i=0;i for(int?j=0;j for(int?t=0;t cout< < < < < }
//所有人注意:你的程序要是用到多次使用的很大數據,避免重復生成,就在各自數據域定義成全局變量,但要記得銷毀
//全局變量
//公共數據域
//該域數據只在程序的開始根據記錄文件初始化并不再改動
string?city[CITYNUM];
//用于計算費用最少的航班、車次路線的輔助變量域
typedef?TFNum?MGraph[CITYNUM][CITYNUM];
MGraph?tmgraph;//最省車次鄰接矩陣
MGraph?pmgraph;//最省航班鄰接矩陣
//用于計算時間最少的航班、車次路線的輔助變量域
TGraph?ttgraph;//車次的鄰接矩陣
TGraph?ptgraph;//航班的鄰接矩陣
//函數聲明
void??InitMGraph(const?char*?filenameMGraph?&mgraph);
void??InitTGraph(const?char*?filenameTGraph?&tgraph);
//所有的小組成員注意,數據結構是各個函數的連接橋梁,
//所以編寫的時候一定按照規定的數據結構編寫,若對數據進行修改一定要小組討論決定
//函數定義
//用于航班和車次數據的修改,函數調用中用戶選擇修改航班還是車次
//從起點城市查找記錄,并進行修改,并調用相應輔助變量圖初始化函數
void?chosetype(int?typestring?&filename)
{
if(type==0)
filename=“plane.txt“;
if(type==1)
filename=“train.txt“;
if(type!=1&&type!=0)
filename=“none“;
}
void?modify(int?type)
{
fstream?file;
string?filename;
chosetype(typefilename);
file.open(filename.c_str());
if(!file)
{
cout<<“數據文件丟失或選擇操作數據錯誤!“< return?;
}
string?startcitybuffscity;
cout<<“請輸入所修改數據的起點站“< cin>>scity;
getline(filebuff);
file>>startcity;
while(!file.eof())
{
file>>buff;
if(startcity==scity)
break;
?屬性????????????大小?????日期????時間???名稱
-----------?---------??----------?-----??----
?????文件??????17633??2009-06-18?19:04??全國交通咨詢模擬系統\fr
?????文件???????3068??2009-06-14?10:18??全國交通咨詢模擬系統\plane.txt
?????文件???????6533??2009-06-15?19:00??全國交通咨詢模擬系統\train.txt
?????文件?????175616??2009-06-18?22:51??全國交通咨詢模擬系統\全國交通咨詢系統設計報告.doc
?????目錄??????????0??2009-06-18?22:56??全國交通咨詢模擬系統
-----------?---------??----------?-----??----
???????????????202850????????????????????5
- 上一篇:基于AT89S52單片機的數字溫度計
- 下一篇:MRMR(最小冗余最大相關算法
評論
共有 條評論