0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫(xiě)文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

C語(yǔ)言程序設(shè)計(jì)--火車(chē)訂票系統(tǒng)

白茶茶668 ? 來(lái)源:白茶茶668 ? 作者:白茶茶668 ? 2023-08-01 00:40 ? 次閱讀

任務(wù)要求:

創(chuàng)建一個(gè)火車(chē)票管理系統(tǒng),功能包括:

(1)錄入班次信息(信息用文件保存),可不定時(shí)地增加班次數(shù)據(jù)

(2)瀏覽班次信息,可顯示出所有班次當(dāng)前狀總(如果當(dāng)前系統(tǒng)時(shí)間超過(guò)了某班 次的發(fā)車(chē)時(shí)間,則顯示“此班已發(fā)出”的提示信息)。

(3)查詢路線(起點(diǎn)、終點(diǎn)):可按班次號(hào)查詢 ,可按終點(diǎn)站查詢

(4)增加及修改班次和刪除班次信息 (5)售票和退票功能

系統(tǒng)設(shè)計(jì):


wKgaomTH5A6AJDpWAAHzNxKvY5o565.png

一.車(chē)票管理系統(tǒng)的功能為:1.錄入班次2. 顯示所有班次3.查詢班次4.增加班次 5.售票6.退票7.修改班次8.刪除班次9.退出

車(chē)票管理系統(tǒng)軟件的功能模塊有:

(1)提供菜單界面,方便用戶對(duì)程序個(gè)功能進(jìn)行選擇,選擇要實(shí)現(xiàn)的功能按enter鍵進(jìn)入該功能。

(2)接受用戶輸入的功能項(xiàng),按enter鍵結(jié)束輸入并將進(jìn)入該系統(tǒng),其需要的結(jié)果顯示出來(lái),方便用戶查看。

(3)完成每次功能,可保存用戶的修改的信息,及時(shí)更新文件信息。下次查詢時(shí)內(nèi)容為最新信息。實(shí)時(shí)的信息更新對(duì)比等。

一個(gè)名TICKET的結(jié)構(gòu)體進(jìn)行定義,包括num[10] hour[3]; min[3] from[10]; to[10]; hours max; now;等結(jié)構(gòu)體成員。

然后對(duì)調(diào)用函數(shù)進(jìn)行定義。int system_time()系統(tǒng)時(shí)間,void NewMessage() 新紀(jì)錄錄入函數(shù),void ShowTable1() void ShowTable2(int i) 線框調(diào)用1和2不用每次輸,void Display()顯示所有函數(shù),void add()增加記錄,void save() 保存函數(shù),void save()保存函數(shù),void load() 按班次查詢函數(shù),void search() 查詢函數(shù),void change()修改函數(shù),void quit()退出函數(shù),void Ticketorder() 售票函數(shù),void Ticketdelete()刪除函數(shù),int menu_select()菜單函數(shù), int whether(int)判斷時(shí)間是否超出函數(shù),void find(char s1[],char s2[]) 查詢函數(shù)★//s1為班次//s2為終點(diǎn)站,void deletemessage()刪除函數(shù),int findnum(char s1[])班次查詢函數(shù),void get(int,int)修改及增加班次,char *menu[]菜單函數(shù)。

該系統(tǒng)將這些信息均放在文件d:車(chē)票管理系統(tǒng)0中。

最后定義main()函數(shù),利用函數(shù)調(diào)用,實(shí)現(xiàn)程序的各種功能。將其放在系統(tǒng)文件d:車(chē)票管理系統(tǒng)0中。

程序分為多個(gè)小模塊,通過(guò)調(diào)用實(shí)現(xiàn)各種功能,增強(qiáng)了程序的可建設(shè)性。

程序把每種功能分開(kāi)實(shí)現(xiàn),更簡(jiǎn)單,實(shí)用程序更易理解。

程序測(cè)試:

3.0 菜單界面


wKgZomTH5A-AKkK2AADWaJohyqQ064.png

?

圖3-1菜單界面

如上圖所示,該程序?yàn)橛脩籼峁┎藛谓缑妫脩艨梢詫?duì)程序的各種功能進(jìn)行選擇,方便用戶使用。選擇1-9并按enter鍵進(jìn)行操作。如選擇出錯(cuò),系統(tǒng)將提出警告,并提醒用戶重新進(jìn)行選擇。

錄入班次功能



wKgaomTH5A-AE4vnAABYmTFzyag396.png

?

圖3-1- 1第一次輸入時(shí)的界面

wKgZomTH5A-AGvC0AABcfLOXT9s830.png

?

圖3-1- 2第二次輸入時(shí)的界面

如上圖所示,該功能實(shí)現(xiàn)錄入班次信息。選擇1按enter鍵進(jìn)入該功能,程序提醒用戶輸入車(chē)次.發(fā)車(chē)時(shí)間.起始站.終點(diǎn)站.行車(chē)時(shí)間.額定載量.已售票數(shù),輸入完畢后按enter鍵將完成錄入班次結(jié)果,同時(shí)程序?qū)⒃俅翁嵝延脩暨M(jìn)行新的選擇。而第二次輸入時(shí)提醒已經(jīng)輸過(guò),不能在加。

3.2查詢所有班次功能



wKgaomTH5A-AbtSRAAEIWifmPQE205.png

?

圖 3-2-1查詢班次界面


wKgZomTH5BCAGuQ4AABVLBN3ybg038.png

?

圖3-2-2選擇查詢方式的界面

該功能將實(shí)現(xiàn)程序運(yùn)行班次的查詢。選擇3并按enter鍵將實(shí)現(xiàn)該功能。分班次和終點(diǎn)站兩種方式查詢。


3.3增加班次功能


wKgaomTH5BCAEa4SAACr0KoMEvo448.png

?

添加圖片注釋?zhuān)怀^(guò) 140 字(可選)

wKgZomTH5BCAe_WUAABtWKdzStw232.png

?

圖3-2-3增加班次功能界面

wKgaomTH5BCAAWaLAAHZkl7Vxzs170.png

?

圖3-2-4增加班次后界面

該功能將增加班次信息,幫助用戶更新班次信息。選擇4并按enter鍵將實(shí)現(xiàn)該功能,再按提示輸入就行。按任意鍵返回主菜單。

3.3售票功能


wKgZomTH5BGAdPjdAABGYmEBDLY347.png

?

圖3-3-1選擇售票功能界面


wKgaomTH5BGAKtFlAABkN34_Nxg551.png

圖3-3-2選擇售票后的界面



wKgZomTH5BKAUht5AAFicOfBPY4000.png

?

圖3-3-3訂票的界面

選擇5按enter鍵實(shí)現(xiàn)該功能,按任意鍵關(guān)閉程序。買(mǎi)票程序可提示買(mǎi)票成功否,且自動(dòng)判斷是否可賣(mài)。

3.4退票功能


wKgaomTH5BKACxg4AAEWO-xzGh4954.png

?

編輯切換為居中

圖3-4-1退票界面

選擇6按enter鍵實(shí)現(xiàn)該功能,按任意鍵關(guān)閉程序。退票程序可提示退票成功否,且自動(dòng)判斷是否可退。

3.5修改班次功能


wKgZomTH5BKAQ3n-AADUAhWtNco344.png

?

編輯切換為居中

圖3-5-1修改界面

選擇7按enter鍵實(shí)現(xiàn)該功能,按任意鍵關(guān)閉程序。按提示操作修改班次。

3.6 刪除班次功能


wKgaomTH5BOACy0MAAEZ5w-RfRs234.png

?

編輯切換為居中

圖3-6-1刪除界面

3.7 退出功能


wKgZomTH5BOAVzk5AAFHLJKSdgQ104.png

?

編輯切換為居中

圖3-7-1退出界面


該功能可退出系統(tǒng),選擇9按enter鍵實(shí)現(xiàn)該功能


部分程序:


#include ///宏定義函數(shù)

#include //串操作及內(nèi)存操作函數(shù)

#include /////調(diào)用系統(tǒng)函數(shù)

#include ///時(shí)間庫(kù)函數(shù)

#include ///輸入輸出函數(shù)

#define N 1000 //宏定義多條記錄

typedef struct TICKET ////定義新結(jié)構(gòu)體TICKET

{

char num[10]; //車(chē)次編號(hào)

char hour[3]; //時(shí)間,,小時(shí)

char min[3]; //分鐘

char from[10]; //起始站

char to[10]; //終點(diǎn)站

float hours; //車(chē)程實(shí)際時(shí)間

int max; //最大車(chē)載容量

int now; //已售票數(shù)

}CLASS;

int class_num=0; ///初始班次總數(shù)為0

CLASS records[N]; // 多條記錄

int system_time(); //系統(tǒng)時(shí)間

void NewMessage(); //新紀(jì)錄*錄入函數(shù)******

void ShowTable1(); //線框調(diào)用1,,,不用每次輸


printf("******************************************************");

printf("n請(qǐng)選擇(1-9):");

scanf("%s",s);

c=atoi(s); //atoi將字符串轉(zhuǎn)換成一個(gè)整數(shù)值

} ///輸出菜單面

return c; ////返回請(qǐng)求

}

/*******************************錄入函數(shù)************************************/

void NewMessage() //*錄入函數(shù)******

{

int i=0,j=5,h; ////

char s[5];

FILE *fp; ////定義文件型指針變量

system("cls"); //刷屏

if((fp=fopen("d:車(chē)票管理系統(tǒng)0.dat","rb"))!=NULL) //fopen打開(kāi)文件

{

printf("車(chē)票信息已經(jīng)存在請(qǐng)選擇增加功能!n");

printf("任意輸入則返回菜單n");

scanf("%s",s);

i=1; //通過(guò)是1

}

if(i==0)

{

system("cls"); //刷屏

printf("請(qǐng)輸入要錄入班次總數(shù):n");

scanf("%d",&class_num); //指向班次指針

system("cls"); //刷屏

for(i=0;i

{

system("cls"); //刷屏

printf("請(qǐng)輸入第%d個(gè)班次信息:n",i+1);

h=-1;

for(;h!=i;) ///循環(huán)輸出

{

printf("請(qǐng)輸入班次:n");

scanf("%s",records[i].num);

for(h=0;h

if(strcmp(records[h].num,records[i].num)==0)

//判斷字符串比較是否相等,, 待比較的字符串

{

printf("輸入錯(cuò)誤!該班次已存在!n");

break; ///返回

}

}

get(i,j); ////修改及增加班次*

j=5;

}

save(); //調(diào)用保存函數(shù)

}

}

/*******************************顯示所有函數(shù)********************************/


wKgaomTH5BOAaUIoAAVYDYa41-E062.png

審核編輯:湯梓紅

聲明:本文內(nèi)容及配圖由入駐作者撰寫(xiě)或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問(wèn)題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • C語(yǔ)言
    +關(guān)注

    關(guān)注

    180

    文章

    7604

    瀏覽量

    136861
  • 程序設(shè)計(jì)
    +關(guān)注

    關(guān)注

    3

    文章

    261

    瀏覽量

    30395
收藏 人收藏

    評(píng)論

    相關(guān)推薦

    c語(yǔ)言程序設(shè)計(jì)課件下載ppt

    C語(yǔ)言程序設(shè)計(jì)》課程的任務(wù)1. 指導(dǎo)學(xué)生掌握 C 程序設(shè)計(jì)語(yǔ)言的基礎(chǔ)知識(shí);2.培養(yǎng)學(xué)生綜合分析并編制
    發(fā)表于 09-03 17:08 ?0次下載

    c++程序設(shè)計(jì)語(yǔ)言題解

    c++程序設(shè)計(jì)語(yǔ)言題解是與Bjarne Stroustrup的《C++程序設(shè)計(jì)語(yǔ)言》一書(shū)配套使用的習(xí)題解答,為從《C++
    發(fā)表于 09-05 16:00 ?121次下載
    <b class='flag-5'>c</b>++<b class='flag-5'>程序設(shè)計(jì)語(yǔ)言</b>題解

    C51語(yǔ)言程序設(shè)計(jì)技巧

    1 C51語(yǔ)言程序設(shè)計(jì)\技巧 C語(yǔ)言 是一種高級(jí)程序設(shè)計(jì)語(yǔ)言,它提供了十分完備的規(guī)范化流程控制結(jié)
    發(fā)表于 05-17 14:02 ?6035次閱讀
    <b class='flag-5'>C</b>51<b class='flag-5'>語(yǔ)言</b><b class='flag-5'>程序設(shè)計(jì)</b>技巧

    C語(yǔ)言程序設(shè)計(jì)教程下載

    書(shū)名:C語(yǔ)言程序設(shè)計(jì)教程 出版社:電子工業(yè)出版社 C語(yǔ)言作為一種適用于開(kāi)發(fā)系統(tǒng)軟件及應(yīng)用軟件的計(jì)
    發(fā)表于 10-15 11:27 ?256次下載
    <b class='flag-5'>C</b><b class='flag-5'>語(yǔ)言</b><b class='flag-5'>程序設(shè)計(jì)</b>教程下載

    C程序設(shè)計(jì)語(yǔ)言

    c程序設(shè)計(jì)語(yǔ)言,51單片機(jī)。
    發(fā)表于 04-05 15:39 ?33次下載

    C程序設(shè)計(jì)語(yǔ)言-最經(jīng)典的C語(yǔ)言教程

    C程序設(shè)計(jì)語(yǔ)言-最經(jīng)典的C語(yǔ)言教程,有興趣的同學(xué)可以下載學(xué)習(xí)
    發(fā)表于 05-03 16:36 ?77次下載

    C語(yǔ)言程序設(shè)計(jì)

    C語(yǔ)言程序設(shè)計(jì)。
    發(fā)表于 05-16 11:05 ?0次下載

    音樂(lè)播放系統(tǒng)的proteus仿真電路及C語(yǔ)言程序設(shè)計(jì)

    樂(lè)播放系統(tǒng)的proteus仿真電路及C語(yǔ)言程序設(shè)計(jì)
    發(fā)表于 06-08 14:10 ?6次下載

    C語(yǔ)言程序設(shè)計(jì)及應(yīng)用實(shí)例

    其他編程語(yǔ)言——C語(yǔ)言程序設(shè)計(jì)及應(yīng)用實(shí)例,感興趣的小伙伴可以看一看。
    發(fā)表于 11-03 15:50 ?0次下載

    C語(yǔ)言程序設(shè)計(jì)實(shí)用教程

    C語(yǔ)言程序設(shè)計(jì)實(shí)用教程免費(fèi)下載。
    發(fā)表于 05-24 16:17 ?50次下載

    C語(yǔ)言程序設(shè)計(jì)現(xiàn)代方法

    C語(yǔ)言程序設(shè)計(jì)現(xiàn)代方法說(shuō)明。
    發(fā)表于 06-01 15:38 ?54次下載

    C語(yǔ)言程序設(shè)計(jì).pdf

    C語(yǔ)言程序設(shè)計(jì).pdf
    發(fā)表于 12-29 17:36 ?0次下載

    C語(yǔ)言程序設(shè)計(jì)火車(chē)訂票系統(tǒng)

    任務(wù)要求:創(chuàng)建一個(gè)火車(chē)票管理系統(tǒng),功能包括:(1)錄入班次信息(信息用文件保存)可不定時(shí)地增加班次數(shù)據(jù)(2)瀏覽班次信息可顯示出所有班次當(dāng)前狀總(如果當(dāng)前系統(tǒng)時(shí)間超過(guò)了某班? ? ? ? ?次的發(fā)車(chē)
    發(fā)表于 04-03 09:32 ?5次下載

    C語(yǔ)言程序設(shè)計(jì)--學(xué)生信息管理系統(tǒng)

    C語(yǔ)言程序設(shè)計(jì)--學(xué)生信息管理系統(tǒng)
    的頭像 發(fā)表于 08-01 00:38 ?2368次閱讀
    <b class='flag-5'>C</b><b class='flag-5'>語(yǔ)言</b><b class='flag-5'>程序設(shè)計(jì)</b>--學(xué)生信息管理<b class='flag-5'>系統(tǒng)</b>

    C語(yǔ)言程序設(shè)計(jì)(ppt版)

    C語(yǔ)言程序設(shè)計(jì)(ppt版)
    發(fā)表于 08-07 15:33 ?17次下載