版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、課 程 設(shè) 計(jì) 報(bào) 告課程名稱 C語言課程設(shè)計(jì) 課題名稱 車票管理系統(tǒng) 專 業(yè) 自動(dòng)化 班 級(jí) 1402 學(xué) 號(hào) 201401020208 姓 名 宋愛軍 指導(dǎo)教師 陳世清 楊子華 黃哲 2014年 12 月 27 日湖南工程學(xué)院課 程 設(shè) 計(jì) 任 務(wù) 書課程名稱 C語言課程設(shè)計(jì) 課 題 車票管理系統(tǒng) 專業(yè)班級(jí) 自動(dòng)化 學(xué)生姓名 宋愛軍 學(xué) 號(hào) 201401020208 指導(dǎo)老師 陳世清 楊子華黃哲 審 批 任務(wù)書下達(dá)日期 2014 年 12 月 20 日任務(wù)完成日期 2014年 12 月 27 日目錄1、 設(shè)計(jì)目的 2、 總體設(shè)計(jì)3、 詳細(xì)設(shè)計(jì)4、 調(diào)試與測(cè)試:5、 總結(jié)與體會(huì)附:源程序清單
2、和使用說明一、課程設(shè)計(jì)目的1熟練掌握C語言的應(yīng)用及特點(diǎn);2掌握函數(shù)聲明、定義和使用的方法;3熟練掌握C語言中的對(duì)文件進(jìn)行操作的基本方法;4熟練掌握結(jié)構(gòu)體的使用方法;5掌握鏈表的基本操作。本課程設(shè)計(jì)的目標(biāo)就是要達(dá)到理論與實(shí)際應(yīng)用相結(jié)合,提高學(xué)生組織數(shù)據(jù)及編寫大型程序的能力,并培養(yǎng)基本的、良好的程序設(shè)計(jì)技能以及各種能力。 設(shè)計(jì)中要求綜合運(yùn)用所學(xué)知識(shí),上機(jī)解決一些與實(shí)際應(yīng)用結(jié)合緊密的、規(guī)模較大的問題,通過分析、設(shè)計(jì)、編碼、調(diào)試等各環(huán)節(jié)的訓(xùn)練,使學(xué)生深刻理解、牢固掌握數(shù)據(jù)結(jié)構(gòu)和算法設(shè)計(jì)技術(shù),掌握分析、解決實(shí)際問題的能力。通過這次設(shè)計(jì),要在程序設(shè)計(jì)方法以及上機(jī)操作等基本技能和科學(xué)作風(fēng)方面受到比較系統(tǒng)和嚴(yán)
3、格的訓(xùn)練。二、總體設(shè)計(jì)1設(shè)計(jì)內(nèi)容:一車站每天有n個(gè)發(fā)車班次,每個(gè)班次都有一班次號(hào)(1、2、3n),固定的發(fā)車時(shí)間,固定的路線(起始站、終點(diǎn)站),大致的行車時(shí)間,固定的額定載客量。如班次 發(fā)車時(shí)間 起點(diǎn)站 終點(diǎn)站 行車時(shí)間 額定載量 已定票 人數(shù)18:00 湘潭 長(zhǎng)沙 2 45 30 1026:30 湘潭 常德 4 40 40 20功能要求:系統(tǒng)能提供下列服務(wù):1)、錄入班次信息(信息用文件保存),可不定時(shí)地增加班次數(shù)據(jù)。2)、瀏覽班次信息,可顯示出所有班次當(dāng)前狀況(如果當(dāng)前系統(tǒng)時(shí)間超過了某班次的發(fā)車時(shí)間,則顯示“此班已發(fā)出”的提示信息)。3)、查詢路線:可按班次號(hào)查詢 ,可按終點(diǎn)站查詢。4)、
4、售票和退票功能。(1)當(dāng)查詢出已定票人數(shù)小于額定載量且當(dāng)前系統(tǒng)時(shí)間小于發(fā)車時(shí)間時(shí)才能售票,自動(dòng)更新已售票人數(shù)(2)退票時(shí),輸入退票的班次,當(dāng)本班車未發(fā)出時(shí)才能退票,自動(dòng)更新已售票人數(shù)。2設(shè)計(jì)要求:1)、設(shè)計(jì)正確,方案合理。2)、界面友好,使用方便。3)、程序精煉,結(jié)構(gòu)清晰。4)、設(shè)計(jì)報(bào)告5000字以上,。5)、上機(jī)演示。3概要設(shè)計(jì)車票管理系統(tǒng)的功能為 1. 錄入班次 2. 顯示所有班次 3. 查詢班次 4. 增加班次 5. 售票 6. 退票 7. 修改班次 8. 刪除班次 9. 退出 車票管理系統(tǒng)的功能模塊有:(1)提供菜單界面,方便用戶對(duì)程序個(gè)功能進(jìn)行選擇,選擇要實(shí)現(xiàn)的功能按enter鍵進(jìn)入
5、該功能。(2)接受用戶輸入的功能項(xiàng),按enter鍵結(jié)束輸入并將進(jìn)入該系統(tǒng),其需要的結(jié)果顯示出來,方便用戶查看。(3)完成每次功能,可保存用戶的修改的信息,及時(shí)更新文件信息。下次查詢時(shí)內(nèi)容為最新信息。實(shí)時(shí)的信息更新對(duì)比等。一個(gè)名TICKET的結(jié)構(gòu)體進(jìn)行定義,包括num10 hour3; min3 from10; to10; 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不用沒次輸,
6、 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)站, vo
7、id deletemessage()刪除函數(shù), int findnum(char s1)班次查詢函數(shù), void get(int,int)修改及增加班次, char *menu菜單函數(shù)。該系統(tǒng)將這些信息均放在文件d:車票管理系統(tǒng)0中。最后定義main()函數(shù),利用函數(shù)調(diào)用,實(shí)現(xiàn)程序的各種功能。將其放在系統(tǒng)文件d:車票管理系統(tǒng)0中。程序分為多個(gè)小模塊,通過調(diào)用實(shí)現(xiàn)各種功能,增強(qiáng)了程序的可建設(shè)性。程序把每種功能分開實(shí)現(xiàn),更簡(jiǎn)單,實(shí)用程序更易理解。三、詳細(xì)設(shè)計(jì)1進(jìn)度安排第17周 星期一 布置任務(wù),查找資料。 星期二 確定總體方案,進(jìn)行詳細(xì)設(shè)計(jì)。 星期三 編寫程序,上機(jī)調(diào)試。 星期四 編寫程序,上機(jī)調(diào)
8、試。星期五 答辯,總結(jié)。星期六星期天 寫課程設(shè)計(jì)報(bào)告。2.模塊功能說明所有函數(shù)及功能add() /增加記錄change() /修改函數(shù)deletemessage() /刪除班次信息Display() /顯示所有函數(shù)find(char s1,char s2) /查詢函數(shù)findnum(char s1) /查找班次get(int i,int j) / 修改及增加班次load() /按班次查詢函數(shù)main() /主函數(shù)menu_select() /菜單函數(shù)NewMessage() /錄入函數(shù)quit() /退出函數(shù)save() /保存函數(shù)search() /查詢調(diào)用ShowTable1() /線框調(diào)
9、用1,不用沒次輸ShowTable2(int i) /線框調(diào)用2。不用沒次輸。Ticketdelete() /刪除函數(shù)Ticketorder() /售票函數(shù)whether(int i) /判斷時(shí)間是否超出函數(shù). 輸入及輸入的形式char num10; /車次編號(hào)char hour3; /時(shí)間,小時(shí)char min3; /分鐘char from10; /起始站char to10; /終點(diǎn)站float hours; /車程實(shí)際時(shí)間int max; /最大車載容量int now; /已售票數(shù). 輸出的形式Printf3模塊功能詳細(xì)設(shè)計(jì) 車票管理系統(tǒng) 調(diào)用主菜單選項(xiàng) 輸入選擇后分別結(jié)束 完成功能后返回
10、主菜單1調(diào)用錄入班次2調(diào)用顯示所有班次3調(diào)用查詢班次4調(diào)用增加班次6調(diào)用退票5調(diào)用售票7調(diào)用修改班次8調(diào)用刪除班次9調(diào)用退出四調(diào)試與測(cè)試1.功能菜單如上圖所示,該程序?yàn)橛脩籼峁┎藛谓缑妫脩艨梢詫?duì)程序的各種功能進(jìn)行選擇,方便用戶使用。選擇1-9并按enter鍵進(jìn)行操作。如選擇出錯(cuò),系統(tǒng)將提出警告,并提醒用戶重新進(jìn)行選擇。2顯示所有班次功能如上圖所示,該功能實(shí)現(xiàn)顯示所有班次。選擇2按enter鍵進(jìn)入該功能,程序直接顯示出信息,按enter鍵,程序進(jìn)入菜單項(xiàng),程序?qū)⒃俅翁嵝延脩暨M(jìn)行新的選擇。3查詢功能 如上圖所示,該功能將實(shí)現(xiàn)程序運(yùn)行班次的查詢。選擇3并按enter鍵將實(shí)現(xiàn)該功能。分班次和終點(diǎn)站兩
11、種方式查詢。.按班次查詢.按終點(diǎn)站查詢4.增加班次功能5增加班次成功顯示結(jié)果如上圖所示,該功能將增加班次信息,幫助用戶更新班次信息。選擇4并按enter將實(shí)現(xiàn)該功能,再按提示輸入就行。按任意鍵返回主菜單。6.訂票功能如上圖所示,該功能將幫助人們選擇買票。選擇5按enter鍵實(shí)現(xiàn)該功能,按任意鍵關(guān)閉程序。買票程序可提示買票成功否,且自動(dòng)判斷是否可賣。7.退票功能 如上圖所示,該功能將幫助人們選擇退票。選擇6按enter鍵實(shí)現(xiàn)該功能,按任意鍵關(guān)閉程序。退票程序可提示退票成功否,且自動(dòng)判斷是否可退。8修改班次如上圖所示,該功能將幫助人們修改班次信息。選擇7按enter鍵實(shí)現(xiàn)該功能,按任意鍵關(guān)閉程序。
12、按提示操作修改班次。9.刪除班次如上圖所示,該功能可刪除班次信息。選擇8按enter鍵實(shí)現(xiàn)該功能,按任意鍵關(guān)閉程序。按提示操作刪除班次。10.退出如上圖所示,該功能可退出系統(tǒng)。選擇9按enter鍵實(shí)現(xiàn)該功能五、總結(jié)與體會(huì)1心得:經(jīng)過這次集中上機(jī)實(shí)習(xí),我充分認(rèn)識(shí)到了C語言的用途是非常廣的,功能也非常強(qiáng)大,是學(xué)計(jì)算機(jī)不可缺少的語言。更重要的是,在這次編程中熟悉了編寫一個(gè)比較復(fù)雜程序的流程,以及發(fā)現(xiàn)問題、解決問題的能力,為下一步計(jì)算機(jī)語言的學(xué)習(xí)做了準(zhǔn)備。之前感覺遙不可及的功能,現(xiàn)在可以實(shí)現(xiàn)了,應(yīng)當(dāng)感謝老師和同學(xué)的熱心幫助,這是我得以及時(shí)完成這個(gè)程序的重要因素. 我們改進(jìn)的思想就是盡可能讓它變得簡(jiǎn)單!
13、還有很多的不足和瑕疵需要我們繼續(xù)去奮斗,希望老師不吝賜教!2體會(huì):這次實(shí)驗(yàn)讓我們收獲良多,這讓我們得到了很多經(jīng)驗(yàn),又認(rèn)識(shí)了很多的不足,在c語言這方面我們還需要很多的歷練!我想通過這次的練習(xí),我們都有所進(jìn)展,我們現(xiàn)在需要的就是實(shí)踐。完成了任務(wù)我們還是很有成就感的,也增添了我們對(duì)c語言的熱情. 在今后我們知道,凡事都要有自己的見解,我們可以借鑒別人,但別人是不可復(fù)制的,我們要明白只有理解才是自己的,只有通過自己實(shí)踐我們才能深刻的認(rèn)識(shí)到這一點(diǎn)!我相信,只要努力、勤奮、堅(jiān)持不懈,就沒有什么做不到的事,不能還沒開始就退縮,要勇于拼搏,敢于創(chuàng)新。附件:1源程序#include<stdio.h>
14、 /宏定義函數(shù)#include<string.h> /串操作及內(nèi)存操作函數(shù)#include<stdlib.h> /調(diào)用系統(tǒng)函數(shù)#include<time.h> /時(shí)間庫函數(shù) #include<conio.h> /輸入輸出函數(shù)#define N 1000 /宏定義多條記錄typedef struct TICKET /定義新結(jié)構(gòu)體TICKETchar num10; /車次編號(hào)char hour3; /時(shí)間,小時(shí)char min3; /分鐘char from10; /起始站char to10; /終點(diǎn)站float hours; /車程實(shí)際時(shí)間int m
15、ax; /最大車載容量int now; /已售票數(shù)CLASS;int class_num=0; /初始班次總數(shù)為0 CLASS recordsN; / 多條記錄int system_time(); /系統(tǒng)時(shí)間void NewMessage(); /新紀(jì)錄*錄入函數(shù)*void ShowTable1(); /線框調(diào)用1,不用沒次輸 void ShowTable2(int i); /線框調(diào)用2,不用沒次輸 void Display(); /顯示所有函數(shù)void add(); /增加記錄void save(); / 保存函數(shù)void load(); / 按班次查詢函數(shù)void search(); /查
16、詢函數(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=&
17、quot;*歡迎使用車票查詢系統(tǒng)*", "tttt湖南工程學(xué)院 電氣信息學(xué)院 自動(dòng)化 1402 宋愛軍 n""n*MENU功能菜單*","n 1. 錄入班次 ","n 2. 顯示所有班次 ","n 3. 查詢班次 ","n 4. 增加班次 ","n 5. 售票 ","n 6. 退票 ","n 7. 修改班次 ","n 8. 刪除班次 ","n 9. 退出 " /*主函
18、數(shù)*/void main()system("cls"); /刷屏while(1) /菜單函數(shù)循環(huán)switch(menu_select() /菜單函數(shù)*case 1: NewMessage();break; /新紀(jì)錄*錄入函數(shù)*case 2: Display();break; / /顯示case 3: search();break; /查找函數(shù)*case 4: add();break; / /增加記錄case 5: Ticketorder();break; /*售票函數(shù)*case 6: Ticketdelete();break; /刪除函數(shù)*case 7: change();
19、break; /修改函數(shù)*case 8: deletemessage();break; /選擇調(diào)用刪除函數(shù)case 9: quit();break; /退出函數(shù)*/*菜單函數(shù)*/int menu_select() /菜單函數(shù)*char s5; /定義要輸入的數(shù)字功能int c,i; system("cls"); /刷屏 system("color 09");/改變顏色 for(i=0;i<11;i+)printf("%s",menui); /輸出菜單各項(xiàng)) i=0; while(c<0|c>9) /判斷是否是1到9的
20、命令printf("n"); /輸出換行 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 s5;FILE *fp; /定義文件型指針變量system("cls"); /刷屏if(fp=fopen("d:車票管理系統(tǒng)0.dat&qu
21、ot;,"rb")!=NULL) /fopen打開文件 printf("車票信息已經(jīng)存在請(qǐng)選擇增加功能!n");printf("任意輸入則返回菜單n");scanf("%s",s);i=1; /通過是1if(i=0) system("cls"); /刷屏printf("請(qǐng)輸入要錄入班次總數(shù):n");scanf("%d",&class_num); /指向班次指針system("cls"); /刷屏for(i=0;i<clas
22、s_num;i+) system("cls"); /刷屏printf("請(qǐng)輸入第%d個(gè)班次信息:n",i+1);h=-1;for(;h!=i;) /循環(huán)輸出printf("請(qǐng)輸入班次:n");scanf("%s",recordsi.num);for(h=0;h<i;h+)if(strcmp(recordsh.num,recordsi.num)=0) /判斷字符串比較是否相等, 待比較的字符串 printf("輸入錯(cuò)誤!該班次已存在!n");break; /返回get(i,j); /修改及增
23、加班次*j=5;save(); /調(diào)用保存函數(shù)/*顯示所有函數(shù)*/void Display() /顯示所有函數(shù)int i,j;system("cls"); /刷屏load(); / 調(diào)用按班次查詢函數(shù)ShowTable1(); /線框調(diào)用1,不用沒次輸 for(i=0,j=0;i<class_num;i+,j+=2) /按班次順序輸出 printf("n|-|-|-|-|-|-|-|n");if(whether(i) /判斷時(shí)間是否超出函數(shù)*printf("|%10s|%5s:%-4s|%10s|%10s|%8.1f|%8d|%8d|&q
24、uot;,recordsi.num,recordsi.hour,recordsi.min,recordsi.from,recordsi.to,recordsi.hours,recordsi.max,recordsi.now);else printf("|%10s| 已發(fā)車 |%10s|%10s|%8.1f|%8d|%8d|",recordsi.num,recordsi.from,recordsi.to,recordsi.hours,recordsi.max,recordsi.now);ShowTable2(j); /線框調(diào)用2printf("n按任意鍵繼續(xù).n&q
25、uot;);getch(); /從控制臺(tái)讀取一個(gè)字符,但不顯示在屏幕上/*打印表頭*/void ShowTable1() /線框調(diào)用1,不用沒次輸int i=2;system("cls"); /刷屏printf("*MESSAGE車程信息*n");printf("n|-|-|-|-|-|-|-|n"); printf("n| 班次 | 發(fā)車時(shí)間 | 起點(diǎn)站 | 終點(diǎn)站 |行車時(shí)間|額定載量| 已售票 |n");/*打印表尾*/void ShowTable2(int i) /線框調(diào)用2。不用沒次輸。printf(&q
26、uot;n|-|-|-|-|-|-|-|n");/*查找函數(shù)11*/void search() /查詢調(diào)用int i;char s110='0',s210='0'system("cls"); /刷屏printf("1. 按班次查詢n");printf("2. 按終點(diǎn)站查詢n");printf("3. 退出n");printf("請(qǐng)選擇(1-3):n");scanf("%d",&i);load(); / 調(diào)用按班次查詢函數(shù)swi
27、tch(i) /多分枝選擇語句 case 1: printf("請(qǐng)輸入要查詢的班次:n"); /s1為班次scanf("%s",s1);find(s1,s2); /調(diào)用查找函數(shù)222 2 break;case 2:printf("請(qǐng)輸入要查詢終點(diǎn)站:n"); /s2為終點(diǎn)站scanf("%s",s2);find(s1,s2); /調(diào)用查找函數(shù)222 2 break; case 3: break;default : printf("輸入錯(cuò)誤!n");break;printf("按任意鍵繼
28、續(xù).n");getch(); /從控制臺(tái)讀取一個(gè)字符,但不顯示在屏幕上/*查詢函數(shù)22*/void find(char s1,char s2)int i,h=0,m;ShowTable1(); /調(diào)用線框1if(s20='0')m=1; /1為無條件執(zhí)行else m=0;for(i=0;i<class_num;i+)if(strcmp(s1,recordsi.num)=0|strcmp(s2,recordsi.to)=0) /判斷字符串比較是否相等, 待比較的字符串 printf("n|-|-|-|-|-|-|-|n");printf(&qu
29、ot;|%10s|%5s:%-4s|%10s|%10s|%8.1f|%8d|%8d|",recordsi.num,recordsi.hour,recordsi.min,recordsi.from,recordsi.to,recordsi.hours,recordsi.max,recordsi.now);h+=2;if(m=1)break;ShowTable2(h); /調(diào)用線框2if(h=0)printf("要查找的班次不存在!n");/*增加函數(shù)*/void add() / /增加記錄int i,j=5;load(); / 調(diào)用按班次查詢函數(shù)system(&qu
30、ot;cls"); /刷屏printf("1. 增加班次n");printf("2. 返回n");printf("請(qǐng)選擇(1-2)n");scanf("%d",&i);if(i=1)system("cls"); /刷屏printf("1. 請(qǐng)輸入要增加的班次:n");scanf("%s",recordsclass_num.num);for(i=0;i<class_num;i+)if(strcmp(recordsclass_num.n
31、um,recordsi.num)=0)/判斷字符串比較是否相等, 待比較的字符串 判斷車次沒重復(fù) printf("輸入錯(cuò)誤!n");getch(); /從控制臺(tái)讀取一個(gè)字符,但不顯示在屏幕上break;if(i=class_num) get(i,j); /修改及增加班次*class_num+; /使班次數(shù)加1save(); /調(diào)用保存函數(shù)/*售票函數(shù)*/void Ticketorder() /*售票函數(shù)*int i;char num10;system("cls"); /刷屏printf("1. 售票n");printf("2
32、. 返回n");printf("請(qǐng)選擇(1-2):n");scanf("%d",&i);if(i=1)load(); / 調(diào)用按班次查詢函數(shù)search(); /查找函數(shù)*printf("請(qǐng)輸入要訂票的班次(若無請(qǐng)輸入0):n");scanf("%s",num);for(i=0;i<class_num;i+)if(strcmp(num,recordsi.num)=0)/判斷字符串比較是否相等, 待比較的字符串 if(recordsi.max>recordsi.now&&
33、whether(i)=1) /判斷時(shí)間是否超出函數(shù)*并且*沒超出最大客量recordsi.now+; /使已售的暑假1printf("通向%s班次為%s的票訂票成功!n",recordsi.to,recordsi.num);save(); /調(diào)用保存函數(shù)getch(); /從控制臺(tái)讀取一個(gè)字符,但不顯示在屏幕上break;elseprintf("該班次已滿或已發(fā)出!n");getch(); /從控制臺(tái)讀取一個(gè)字符,但不顯示在屏幕上/*退票刪除函數(shù)*/void Ticketdelete() /刪除函數(shù)*int i;char num10;system(&qu
34、ot;cls"); /刷屏printf("1. 退票n");printf("2. 返回n");printf("請(qǐng)選擇(1-2)n:");scanf("%d",&i);if(i=1)system("cls"); /刷屏load(); / 調(diào)用按班次查詢函數(shù)printf("請(qǐng)輸入要退票的班次:n");scanf("%s",num);i=findnum(num); /調(diào)用班次查詢函數(shù)if(strcmp(num,recordsi.num)=0)
35、/判斷字符串比較是否相等 待比較的字符串 if(whether(i) /判斷時(shí)間是否超出函數(shù)*printf("確定(Y/N)?");scanf("%s",num);if(num0='y'|num0='Y') recordsi.now-; /使已售票加1printf("退票成功!n");save(); /調(diào)用保存函數(shù)getch(); /從控制臺(tái)讀取一個(gè)字符,但不顯示在屏幕上elseprintf("該班車已發(fā)出,無法退票!n");getch(); /從控制臺(tái)讀取一個(gè)字符,但不顯示在屏幕上
36、if(i=class_num)printf("輸入錯(cuò)誤!n");getch(); /從控制臺(tái)讀取一個(gè)字符,但不顯示在屏幕上/*修改函數(shù)*/void change() /修改函數(shù)*char num10,s10;int h=0,j=13,i;load(); / 調(diào)用按班次查詢函數(shù)system("cls"); /刷屏printf("請(qǐng)輸入要修改的班次:n");scanf("%s",num);i=findnum(num); /調(diào)用班次查詢函數(shù) if(i=class_num)printf("輸入錯(cuò)誤,無此班次!n&
37、quot;);getch(); /從控制臺(tái)讀取一個(gè)字符,但不顯示在屏幕上elseprintf("確定修改(Y/N)?n");scanf("%s",s);if(s0='y'|s0='Y')get(i,j); /修改及增加班次*save(); /調(diào)用保存函數(shù)/*刪除函數(shù)*/void deletemessage() /刪除班次信息int i,h=0;char num10;system("cls"); /刷屏printf("1. 刪除班次n");printf("2. 返回n&quo
38、t;);printf("請(qǐng)選擇(1-2):n");scanf("%d",&i);if(i=1)system("cls"); /刷屏printf("請(qǐng)輸入要?jiǎng)h除的班次:n");scanf("%s",num);i=findnum(num); /調(diào)用班次查詢函數(shù)if(i=class_num)printf("輸入錯(cuò)誤,無此班次!n");getch(); /從控制臺(tái)讀取一個(gè)字符,但不顯示在屏幕上elseprintf("確定?(y/n)n");scanf(&q
39、uot;%s",num);if(num0='y'|num0='Y')for(;i<class_num-1;i+) recordsi=recordsi+1;class_num-; /班次總數(shù)減1save(); /調(diào)用保存函數(shù)printf("刪除成功!n");getch();/*按班次查詢函數(shù)*/int findnum(char s1) /查找班次 int i,h=0;ShowTable1(); /線框調(diào)用1,不用沒次輸 for(i=0;i<class_num;i+)if(strcmp(s1,recordsi.num)=0)
40、 /判斷字符串比較是否相等,如果符合則輸出車次等信息 printf("|-|-|-|-|-|-|-|n");printf("|%10s|%5s:%-4s|%10s|%10s|%8.1f|%8d|%8d|",recordsi.num,recordsi.hour,recordsi.min,recordsi.from,recordsi.to,recordsi.hours,recordsi.max,recordsi.now);h+=2; /加2使輸出的框架合適break;ShowTable2(h); /調(diào)用框架2return i;/*保存函數(shù)*/void sav
41、e() /保存函數(shù)FILE *fp1,*fp2; /文件行指針if(fp1=fopen("d:車票管理系統(tǒng).dat","wb")=NULL) /打開文件、為輸出打開一個(gè)二進(jìn)制文件printf("文件打開錯(cuò)誤!n");exit(0);if(fp2=fopen("d:車票管理系統(tǒng)0.dat","wb")=NULL) /打開文件、為輸出打開一個(gè)二進(jìn)制文件printf("文件打開錯(cuò)誤!n");exit(0);fwrite(&class_num,sizeof(int),1,fp2); /寫入文件信息fwrite(records,sizeof(CLASS),class_num,fp1);fclose(fp1);fclose(fp2); /關(guān)閉文件/*按班次查詢函數(shù)*/void load() /按班次查詢函數(shù)FILE *fp1,*fp2;if(fp1=fopen("d:車票管理系統(tǒng).dat","
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2024物流配送員勞動(dòng)協(xié)議3篇
- 2024版網(wǎng)絡(luò)游戲開發(fā)與運(yùn)營(yíng)權(quán)轉(zhuǎn)讓合同2篇
- 2024押證不押車商業(yè)地產(chǎn)項(xiàng)目貸款合同范本9篇
- 2025年度建筑安全評(píng)價(jià)與施工監(jiān)理一體化合同范本3篇
- 2025廠區(qū)食堂承包合同:廠區(qū)文化建設(shè)與餐飲服務(wù)融合協(xié)議3篇
- 二零二五版北京市金融行業(yè)勞動(dòng)合同法實(shí)施標(biāo)準(zhǔn)2篇
- 2024離婚財(cái)產(chǎn)分割保險(xiǎn)保障合同
- 2024施工現(xiàn)場(chǎng)環(huán)境信息公開與共享協(xié)議3篇
- 2025年MLB棒球帽定制加工及品牌合作框架協(xié)議3篇
- 2025年度智能制造生產(chǎn)線操作工勞動(dòng)合同3篇 - 副本
- 2024版?zhèn)€人私有房屋購買合同
- 2025年山東光明電力服務(wù)公司招聘筆試參考題庫含答案解析
- 《神經(jīng)發(fā)展障礙 兒童社交溝通障礙康復(fù)規(guī)范》
- 2025年中建六局二級(jí)子企業(yè)總經(jīng)理崗位公開招聘高頻重點(diǎn)提升(共500題)附帶答案詳解
- 2024年5月江蘇省事業(yè)單位招聘考試【綜合知識(shí)與能力素質(zhì)】真題及答案解析(管理類和其他類)
- 注漿工安全技術(shù)措施
- 《食品與食品》課件
- 2024年世界職業(yè)院校技能大賽“食品安全與質(zhì)量檢測(cè)組”參考試題庫(含答案)
- 讀書分享會(huì)《白夜行》
- 2023上海高考英語詞匯手冊(cè)單詞背誦默寫表格(復(fù)習(xí)必背)
- 人民軍隊(duì)歷史與優(yōu)良傳統(tǒng)(2024)學(xué)習(xí)通超星期末考試答案章節(jié)答案2024年
評(píng)論
0/150
提交評(píng)論