freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內(nèi)容

c語言車票管理系統(tǒng)實(shí)驗報告(已修改)

2025-01-27 17:25 本頁面
 

【正文】 1 《 車票管理系統(tǒng) 》 課程設(shè)計報告 題目: 車票管理系統(tǒng) 專業(yè): 信息與計算科學(xué) 班級: 1002 學(xué)號: 3101301206 3101301216 3101301218 姓名: 陳婉璐 包忠材 邱振濤 指導(dǎo)教師: 吳選忠 熊保平 完成日 期: 2022 年 12 月 23 日 2 一、課程設(shè)計目的 本課程設(shè)計的目標(biāo)就是要達(dá)到理論與實(shí)際應(yīng)用相結(jié)合,提高學(xué)生組織數(shù)據(jù)及編寫大型程序的能力,并培養(yǎng)基本的、良好的程序設(shè)計技能以及合作能力。 設(shè)計中要求綜合運(yùn)用所學(xué)知識,上機(jī)解決一些與實(shí)際應(yīng)用結(jié)合緊密的、規(guī)模較大的問題,通過分析、設(shè)計、編碼、調(diào)試等各環(huán)節(jié)的訓(xùn)練,使學(xué)生深刻理解、牢固掌握數(shù)據(jù)結(jié)構(gòu)和算法設(shè)計技術(shù),掌握分析、解決實(shí)際問題的能力。 通過這次設(shè)計,要在程序設(shè)計方法以及上機(jī)操作等基本技能和科學(xué)作風(fēng)方面受到比較系統(tǒng)和嚴(yán)格的訓(xùn)練。 二、課程設(shè)計內(nèi)容 一 .系統(tǒng) 的主要功能: : ①按班次查詢;②按終點(diǎn)查詢; (1)售票成功(當(dāng)車票有剩余,且車未發(fā)出時) (2)班次不存在 (3)票已售完 (當(dāng)座位數(shù)小于等于已定票人數(shù) ) (4)車已發(fā)出 退票成功(輸入的班次號存在且當(dāng)前時間比發(fā)車時間早) 退票失?。ò啻尾淮嬖诨虍?dāng)前時間比發(fā)車時間晚) 三、課程設(shè)計過程 1.需求分析 (1) 輸入的形式和輸入值的范圍 ; 錄入的班次信息的輸入形式和輸入值的范圍:車次(類型: int) 發(fā)車時間小時(類型:int [0,24]) 發(fā)車時間 分鐘(類型: int [0, 60]) 起始站及終點(diǎn)站(類型: void wap(int k))行車時間(類型: float times(int k))額定票數(shù)(類型: number(int k))已定票人數(shù)(類型:nownumber(int k,int i)) (2) 輸出的形式 ; printf (3) 程序所能達(dá)到的功能; ①錄入 詳細(xì)的班次信息(發(fā)車時間,起點(diǎn),終點(diǎn)站,行車時間 ,額定票數(shù) , 訂票人數(shù),是否已發(fā)車??); ② 瀏覽班 次 信息 ,可顯示出所有班次當(dāng)前狀總 (如果當(dāng)前系統(tǒng)時間超過了某班次的發(fā)車時間 ,則顯示 “ 此班已發(fā) 出”的提示信息 )。 ③ 查詢功能(分班次查詢和終點(diǎn)站查詢兩種); ④ 訂票功能 。(當(dāng)查詢出已定票人數(shù)小于額定載量且當(dāng)前系統(tǒng)時間久小于發(fā)車時間才能售票,自動更新已售票人數(shù)) ⑤ 退票功能; (輸入所退票的班次,當(dāng)本班車未發(fā)出時才能退票,自動更新已售票人數(shù)) 3 ⑥ 臨時增加班次功能; 2.概要設(shè)計 3.詳細(xì)設(shè)計 進(jìn)入班次一覽 進(jìn)入班次查詢 進(jìn)入終點(diǎn)站查詢 售票 退票 增加班次 車票管理系統(tǒng) 進(jìn)入車票查詢界面 按b按班次查詢 按c終點(diǎn)站查詢 按提示操作繼續(xù)查找,按 1 返回主菜單 依據(jù)提示操作 進(jìn)入售票界面 售票成功 班次不存在 票已售完 車已發(fā)出 根據(jù)提示繼續(xù)售票,返回主菜單按 1 車票查詢 售票 4 4.調(diào)試分析 內(nèi)容包括: a.調(diào)試過程中遇到的問題是如何解決的以及對設(shè)計與實(shí)現(xiàn)的回顧討論和分析; 功能分為一個個函數(shù),在發(fā)車時間上我們遇到了一些阻礙!我本來想通過算法來輸出發(fā)車時間,沒想到一次次的實(shí)驗不行!于是我們將發(fā)車時間的分為小時段和分鐘段!使用 case 函數(shù)輸出 . int hour(int k) { switch(k) { case 1: return 07。break。 case 2: return 10。break。 。。(省略一部分) case 27: return 19。break。 case 28: return 22。break。 /*d 到羅源一天的發(fā)車時間小時段 */ } } /*開車時間段 */ int minute(int k) { switch(k) { case 1: return 00。break。 case 2: return 00。break。 。。(省略一部分) case 27: return 30。break。 case 28: return 30。break。 /*d 到羅源一天的發(fā)車時間分鐘段 */ } } /*開車時間段 */ ,我們一開始是使用字符串的輸出,這樣以便于按終點(diǎn)站查找時能進(jìn)行比較。但這種方法我們又沒有實(shí)現(xiàn)!于是我們干脆用 void,使用簡便的方法,達(dá)到相同的目的 . void wap(int k) { switch(k) { case 1: 5 printf(閩清 )。break。 case 2: printf(長樂 )。break。 case 3: printf(連江 )。break。 case 4: printf(永泰 )。break。 case 5: printf(福清 )。break。 case 6: printf(羅源 )。break。 } } /*輸入終點(diǎn)站的函數(shù) */ ,這源于要比較發(fā)車時間與當(dāng)前的時間,判斷這班車到底有沒有發(fā)車,和能不能訂票 與退票,我們用了一個時間函數(shù),輸出了當(dāng)前的時間,但那邊有年月日,不好進(jìn)行提取和比較,于是我們采用輸出了時間,然后看著那個時間手動的提取。 int shijian() { struct tm *ptr。 time_t lt。 lt =time(NULL)。 ptr=gmtime(amp。lt)。 printf(ctime(amp。lt))。 return 0。 } /*輸出當(dāng)前 時間的函數(shù) */ 在主函數(shù)中: printf(請輸入上述時間的時辰 :)。 scanf(%d,amp。s)。 printf(請輸入上述時間的分鐘 :)。 scanf(%d,amp。t)。、 然后再將 s 和 t 帶入各個需要比較時間的函數(shù)中。 ,這是在保存已定票人數(shù)中,這需要更新已定票人數(shù)和判斷能否售票,我們一開始就將這部分留到了最后,一開始我們只寫了暫時售票人數(shù)為 0,在文件的運(yùn)用上我們感覺比較困難,訓(xùn)練的比較少,也比較少這方面的知識!在這里我們碰到了比較大的困難,我們一開始建立了 一個 txt 的文本文檔,準(zhǔn)備使用這個來儲存這些數(shù)據(jù),但后來我們覺得使用一個文檔比較復(fù)雜,容易出錯,于是我們使用比較麻煩,但是簡單的辦法,我建立了與班次一樣多的文檔,一個文檔保存一班車的數(shù)據(jù),這樣就不是那么復(fù)雜了。 int nownumber(int k,int i) { int n=0。 char filename[10]。 switch(i) { case 1: 6 strcpy(filename,)。break。 case 2: strcpy(filename,)。break。 。。 case 27: strcpy(filename,)。break。 case 28: strcpy(filename,)。break。 case 29: strcpy(filename,)。break。 } FILE *fp。 if((fp=fopen(filename,rt+))==NULL) { printf(cannot open file,strike any key exit!)。 exit(1)。 } fscanf(fp,%d,amp。n)。 n=n+k。 rewind(fp)。 fprintf(fp,%d,n)。 //將輸入數(shù)組里面的數(shù)據(jù)寫到文本里 fclose(fp)。 return n。 } /*現(xiàn)在已定票人數(shù) */ 其他都是一些小問題了,我們可以自己一邊調(diào)試一邊就能自己一會兒解決! b.算法的時空分析 (包括基 本操作和其他算法的時間復(fù)雜度和空間復(fù)雜度的分析 )和改進(jìn)設(shè)想; 我們車票管理系統(tǒng)使用的語言并不復(fù)雜,使用的都是比較常見的,低級的語言,高級的語言和難懂的語言比較少!這是我們小組自己的成果,做出來了,我們挺有成就感的。 我們也使用了很多的 while 循環(huán)。 在主函數(shù)中 while(log) /*循環(huán) */ { if(x==39。a39。) banci(s,t)。 /*調(diào)用班次的函數(shù),班次一覽的函數(shù) */ if(x==39。b39。) chaxun1(s,t)。 /*按班次查詢的函數(shù) */ if(x==39。c39。) chaxun2(s,t)。 /*按終點(diǎn)站查詢的函數(shù) */ if(x==39。d39。) maipiao(s,t)。 /*買票的函數(shù) */ if(x==39。e39。) tuipiao(s,t)。 /*退票的函數(shù) */ if(x==39。f39。) 7 zengban()。 /*增加班次 */ printf(\n)。 printf(返回主界面 :請輸入 1:\n)。 printf(退出 :0\n)。 scanf(%d,amp。n)。 if(n==1) { system(cls)。 jiemian()。 scanf(%c,amp。x)。 } else if(n==0) break。 } 這是在程序運(yùn)行與退出之間循環(huán) 在買票函數(shù)中: if(number(k)=nownumber(0,i)amp。amp。log==1) { printf(請輸入你要定的票的數(shù)量 m:\n)。 scanf(%d,amp。m)。 nownumber(m,i)。 while(number(k)nownumber(0,i)) { nownumber(m,i)。 printf(這班車已訂滿,請重新訂票 :\n)。 printf(請輸入您需要購買票的班次 i:\n)。 scanf(%d,i)。 n=i。 while(n0) { k++。 n=ntangci(k)。 } if(i=10) printf(%d ,i)。 else printf(%d ,i)。 if(hour(i)=10) printf(%d ,hour(i))。 else printf(%d%d ,o,hour(i))。 if(minute(i)=10) printf(%d,minute(i))。 else 8 printf(%d%d,o,
點(diǎn)擊復(fù)制文檔內(nèi)容
醫(yī)療健康相關(guān)推薦
文庫吧 www.dybbs8.com
公安備案圖鄂ICP備17016276號-1