C語言C++編程新手入門基礎(chǔ)學(xué)習(xí)之打造——火車訂票系統(tǒng)

其實C語言的話靠胜,做出來的東西,各種系統(tǒng)挺多的毕源,需要的是不斷地去挖掘浪漠,有人說,C語言學(xué)了不就是一些簡單的語法霎褐,函數(shù)址愿,數(shù)據(jù)結(jié)構(gòu)什么的嘛,就一些知識點會了不就行了冻璃。

在我看來這個只是大學(xué)里面需要掌握的一些响谓,其實C語言很強大的,可以做的東西省艳,項目挺多的娘纷,各種小游戲,管理系統(tǒng)什么的拍埠,所以說不要說會了那些C語言的知識點就說失驶,C很簡單很會了,其實當(dāng)我們?nèi)邮肿鲰椖康臅r候就是一臉懵逼的枣购,大學(xué)時候我想問問嬉探,有多少人動手去做過什么項目,或許嘗試做個推箱子或者貪吃蛇有可能棉圈,但是這肯定只局限于百分之十五的大學(xué)生吧涩堤。

前面有人說,要我用C語言做個火車訂票系統(tǒng)分瘾,這不很簡單麼胎围,主要是好笑的,下面有人說只能Java才能做德召,這也太逗比了吧白魂,Java本身就是C C++開發(fā)出來的好麼。而且這個火車訂票系統(tǒng)也是很容易的上岗,下面的話我發(fā)一下代碼吧福荸,代碼的話也有好幾百行,我就發(fā)一部分肴掷,后面的各個點思路我就總結(jié)一下在下面吧敬锐,

#include

#include

#include

#include

#include

#include

#define HEADER1 " -------------------------------BOOK TICKET----------------------------------"

#define HEADER2 " | number |start city|reach city|takeofftime|receivetime|price|ticketnumber|"

#define HEADER3 " |----------|----------|----------|-----------|-----------|-----|------------|"

#define FORMAT " |%-10s|%-10s|%-10s|%-10s |%-10s |%5d| %5d |"

#define DATA p->data.num,p->data.startcity,p->data.reachcity,p->data.takeofftime,p->data.receivetime,p->data.price,p->data.ticketnum

int saveflag = 0;

/*定義存儲火車信息的結(jié)構(gòu)體*/

struct train

{

char num[10];/*列車號*/

char startcity[10];/*出發(fā)城市*/

char reachcity[10];/*目的城市*/

char takeofftime[10];/*發(fā)車時間*/

char receivetime[10];/*到達(dá)時間*/

int price;/*票價*/

int ticketnum;/*票數(shù)*/

};

/*訂票人的信息*/

struct man

{

char num[10];/*ID*/

char name[10];/*姓名*/

int bookNum;/*訂的票數(shù)*/

};

/*定義火車信息鏈表的結(jié)點結(jié)構(gòu)*/

typedef struct node

{

struct train data;

struct node * next;

}Node, *Link;

/*定義訂票人鏈表的結(jié)點結(jié)構(gòu)*/

typedef struct Man

{

struct man data;

struct Man *next;

}book, *bookLink;

/* 初始界面*/

void menu()

{

puts("");

puts(" |--------------------------------------------------------|");

puts(" | Booking Tickets |");

puts(" |--------------------------------------------------------|");

puts(" |0:退出系統(tǒng) |");

puts(" |1:加入火車信息 |");

puts(" |2:查找火車信息 |");

puts(" |3:訂購火車票 |");

puts(" |4:修改火車信息 |");

puts(" |5:瀏覽火車信息 |");

puts(" |6:保存火車信息 |");

puts(" |--------------------------------------------------------|");

}

/*添加一個火車信息*/

void Traininfo(Link linkhead)

{

struct node *p, *r, *s;

char num[10];

r = linkhead;

s = linkhead->next;

while (r->next != NULL)

r = r->next;

while (1)

{

printf("請輸入車次(0-return)");

scanf("%s", num);

if (strcmp(num, "0") == 0)

break;

/*判斷是否已經(jīng)存在*/

while (s)

{

if (strcmp(s->data.num, num) == 0)

{

printf("車次 '%s'已經(jīng)存在背传!", num);

return;

}

s = s->next;

}

p = (struct node*)malloc(sizeof(struct node));

strcpy(p->data.num, num);/*輸入車號*/

printf("請輸入出發(fā)城市:");

scanf("%s", p->data.startcity);/*輸入出發(fā)城市*/

printf("請輸入到達(dá)城市:");

scanf("%s", p->data.reachcity);/*輸入到站城市*/

printf("請輸入出發(fā)時間:");

scanf("%s", p->data.takeofftime);/*輸入出發(fā)時間*/

printf("請輸入到達(dá)時間:");

scanf("%s", &p->data.receivetime);/*輸入到站時間*/

printf("請輸入票價:");

scanf("%d", &p->data.price);/*輸入火車票價*/

printf("請輸入訂購數(shù)量:");

scanf("%d", &p->data.ticketnum);/*輸入預(yù)定票數(shù)*/

p->next = NULL;

r->next = p;/*插入到鏈表中*/

r = p;

saveflag = 1;

}

}

/*打印火車票信息*/

void printheader() /*格式化輸出表頭*/

{

printf(HEADER1);

printf(HEADER2);

printf(HEADER3);

}

void printdata(Node *q) /*格式化輸出表中數(shù)據(jù)*/

{

Node* p;

p = q;

printf(FORMAT, DATA);

}

/*查詢火車信息*/

void searchtrain(Link l)

{

Node *s[10], *r;

int sel, k, i = 0;

char str1[5], str2[10];

if (!l->next)

{

printf("沒有信息!");

return;

}

printf("請選擇:1:按車次查詢;2:按城市查詢");

scanf("%d", &sel);/*輸入選擇的序號*/

if (sel == 1)

{

printf("請輸入車次:");

scanf("%s", str1);

r = l->next;

while (r != NULL)

if (strcmp(r->data.num, str1) == 0)/*檢索是否有與輸入的車號相匹配的*/

{

s[i] = r;

i++;

break;

}

else

r = r->next;

}

else if (sel == 2)

{

printf("請輸入到達(dá)城市:");

scanf("%s", str2);

r = l->next;

while (r != NULL)

if (strcmp(r->data.reachcity, str2) == 0)/*檢索是否有與輸入的城市相匹配的火車*/

{

s[i] = r;

i++;

r = r->next;

}

else

r = r->next;

}

if (i == 0)

printf("沒有信息!");

else

{

printheader();

for (k = 0; k

printdata(s[k]);

}

}

后面的話還有幾個功能沒發(fā)出來,分別是:1台夺、訂票子模塊 2径玖、修改火車信息 3、保存火車信息 4颤介、保存訂票人信息梳星。 下面我發(fā)一下界面,效果圖滚朵。

涉及到的C語言的知識點也不是很多丰泊,也就是:C語言的基本語法+三大控制結(jié)構(gòu)+數(shù)據(jù)結(jié)構(gòu)鏈表+文件操作,所以說不要小看C語言始绍,它是很強大的,其實什么Java话侄,Python我不是反感它們亏推,當(dāng)有人說,現(xiàn)在Java很強大年堆,什么做個小小的火車訂票系統(tǒng)都不能用C語言吞杭,我只想站出來說下自己的觀點,最好的改正這個觀點就是自己去把這個系統(tǒng)用C語言去做出來变丧,我覺得才是最好的芽狗!這個的話代碼也有一些,思路也寫了痒蓬,所以說童擎,希望各位能自己摸索出來吧,實在覺得有難度的攻晒,可以一起學(xué)習(xí)交流探討顾复,打手不易,勿噴哈鲁捏,這個知識點里面有我自己的說法芯砸,全屬個人的見解,蟹蟹大家给梅。

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末假丧,一起剝皮案震驚了整個濱河市,隨后出現(xiàn)的幾起案子动羽,更是在濱河造成了極大的恐慌包帚,老刑警劉巖,帶你破解...
    沈念sama閱讀 222,464評論 6 517
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件曹质,死亡現(xiàn)場離奇詭異婴噩,居然都是意外死亡擎场,警方通過查閱死者的電腦和手機,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 95,033評論 3 399
  • 文/潘曉璐 我一進店門几莽,熙熙樓的掌柜王于貴愁眉苦臉地迎上來迅办,“玉大人,你說我怎么就攤上這事章蚣≌酒郏” “怎么了?”我有些...
    開封第一講書人閱讀 169,078評論 0 362
  • 文/不壞的土叔 我叫張陵纤垂,是天一觀的道長矾策。 經(jīng)常有香客問我,道長峭沦,這世上最難降的妖魔是什么贾虽? 我笑而不...
    開封第一講書人閱讀 59,979評論 1 299
  • 正文 為了忘掉前任,我火速辦了婚禮吼鱼,結(jié)果婚禮上蓬豁,老公的妹妹穿的比我還像新娘。我一直安慰自己菇肃,他們只是感情好地粪,可當(dāng)我...
    茶點故事閱讀 69,001評論 6 398
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著琐谤,像睡著了一般蟆技。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上斗忌,一...
    開封第一講書人閱讀 52,584評論 1 312
  • 那天质礼,我揣著相機與錄音,去河邊找鬼飞蹂。 笑死几苍,一個胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的陈哑。 我是一名探鬼主播妻坝,決...
    沈念sama閱讀 41,085評論 3 422
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼惊窖!你這毒婦竟也來了刽宪?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 40,023評論 0 277
  • 序言:老撾萬榮一對情侶失蹤界酒,失蹤者是張志新(化名)和其女友劉穎圣拄,沒想到半個月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體毁欣,經(jīng)...
    沈念sama閱讀 46,555評論 1 319
  • 正文 獨居荒郊野嶺守林人離奇死亡庇谆,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 38,626評論 3 342
  • 正文 我和宋清朗相戀三年岳掐,在試婚紗的時候發(fā)現(xiàn)自己被綠了。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片饭耳。...
    茶點故事閱讀 40,769評論 1 353
  • 序言:一個原本活蹦亂跳的男人離奇死亡串述,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出寞肖,到底是詐尸還是另有隱情纲酗,我是刑警寧澤,帶...
    沈念sama閱讀 36,439評論 5 351
  • 正文 年R本政府宣布新蟆,位于F島的核電站觅赊,受9級特大地震影響,放射性物質(zhì)發(fā)生泄漏琼稻。R本人自食惡果不足惜吮螺,卻給世界環(huán)境...
    茶點故事閱讀 42,115評論 3 335
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望帕翻。 院中可真熱鬧规脸,春花似錦、人聲如沸熊咽。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,601評論 0 25
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽横殴。三九已至,卻和暖如春卿拴,著一層夾襖步出監(jiān)牢的瞬間衫仑,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 33,702評論 1 274
  • 我被黑心中介騙來泰國打工堕花, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留文狱,地道東北人。 一個月前我還...
    沈念sama閱讀 49,191評論 3 378
  • 正文 我出身青樓缘挽,卻偏偏與公主長得像瞄崇,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子壕曼,可洞房花燭夜當(dāng)晚...
    茶點故事閱讀 45,781評論 2 361

推薦閱讀更多精彩內(nèi)容