版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
二、設(shè)計(jì)思路
.題目:個(gè)理1總體設(shè)計(jì)1分析程序的功能:設(shè)計(jì)一個(gè)機(jī)房收費(fèi)系統(tǒng),實(shí)現(xiàn)對(duì)學(xué)生上機(jī)收費(fèi)的管理,從而方便學(xué)校機(jī)房的管理。2
系統(tǒng)總體結(jié)構(gòu):每一次運(yùn)行的過(guò)程可以由這幾部分完成生的上機(jī)學(xué)號(hào)姓名上級(jí)起始時(shí)間;計(jì)算:計(jì)算每個(gè)學(xué)生的上機(jī)費(fèi)用;查詢:查找學(xué)生上機(jī)信息并顯示(班級(jí)、學(xué)號(hào)、姓名顯示機(jī)器使用情況信息總共四個(gè)步驟:模塊輸入學(xué)生信息查詢學(xué)生上機(jī)情況計(jì)算機(jī)時(shí)費(fèi)用顯示機(jī)器使用情況
函數(shù)名稱InputFindstunumCalculateComputer對(duì)于每一次運(yùn)行,關(guān)注的數(shù)據(jù)有三個(gè)生的信息計(jì)算機(jī)時(shí)費(fèi)用(3學(xué)生上機(jī)情況;對(duì)于統(tǒng)計(jì)信息需要三個(gè):)學(xué)生上機(jī)信息并顯示(班級(jí)、學(xué)號(hào)、姓名)(2顯示機(jī)器使用情況信息(3機(jī)學(xué)生的學(xué)號(hào)級(jí)名機(jī)起始時(shí)間;這幾組數(shù)據(jù)部聯(lián)系很大,所以考慮把他們封裝為結(jié)構(gòu)體變量。word專業(yè)資料
.機(jī)器使用信息需要記錄兩個(gè)器使用的標(biāo)記(2使用機(jī)器的學(xué)生。根據(jù)問(wèn)題的描述,可以按照程序要求的功能采用結(jié)構(gòu)化的設(shè)計(jì)思想。機(jī)房收費(fèi)系統(tǒng)可利用菜單界面制作switch句)使用戶選擇各個(gè)功能模塊,而后可根據(jù)不同的選項(xiàng)進(jìn)入到不同的功能模塊進(jìn)行執(zhí)行。結(jié)束程序,選y之外的任何字母或數(shù)字,如果想讓程序循環(huán)執(zhí)行,則選擇y。以上功能模塊分別用函數(shù)來(lái)實(shí)現(xiàn),然后由主函數(shù)main調(diào)用。機(jī)器使用標(biāo)記使用機(jī)器學(xué)生
成員名稱hourminutesecondfStudent
表示信息學(xué)號(hào)班級(jí)姓名上機(jī)起始時(shí)間上機(jī)標(biāo)志
成員名稱numclassnamestart,finishflag2各功能模塊的設(shè)計(jì):說(shuō)明各功能模塊的實(shí)現(xiàn)方法1)Input塊該函數(shù)為輸入學(xué)生信息:學(xué)號(hào),姓名,班級(jí),上機(jī)起始時(shí)間,并對(duì)學(xué)生是否上機(jī)做標(biāo)記(flag為1為為上機(jī)上機(jī)數(shù)一致。2)Findstunum塊查詢功能:當(dāng)輸入的學(xué)號(hào)與學(xué)生信息中的學(xué)號(hào)相同時(shí),則輸出該生學(xué)號(hào),班級(jí),姓名和上下時(shí)間,若該生未下機(jī),則下機(jī)時(shí)間顯示0下機(jī)功能:詢問(wèn)是否下機(jī),用switch語(yǔ)句控制,若下機(jī)則要求輸入下機(jī)時(shí)間,不word專業(yè)資料
.下機(jī)則退出。3Calculate計(jì)算)模塊該模塊中,由于時(shí)、分、秒三個(gè)時(shí)間單位不統(tǒng)一,首先要統(tǒng)一單位,均用秒做單位(1h=3600s1min=60s),然后判斷上機(jī)時(shí)間是否滿一小時(shí),不滿一小時(shí)按一小時(shí)收費(fèi),超過(guò)一小時(shí)再進(jìn)行計(jì)算。不足一小時(shí)按一小時(shí)收費(fèi),整小時(shí)則每小時(shí)1收費(fèi)。代碼參見(jiàn)Calculate計(jì)算)函數(shù)。4)calout輸出)模塊輸出上機(jī)學(xué)生學(xué)號(hào),班級(jí),姓名,若下機(jī)顯示消費(fèi)金額,沒(méi)下機(jī)顯示“未下機(jī)5)computer模塊首先計(jì)算機(jī)使用情況信息:通過(guò)標(biāo)記判斷機(jī)器是否在使用,機(jī)器在使用則顯示學(xué)生信息,機(jī)器未使用則顯示學(xué)生已下機(jī)。通過(guò)標(biāo)記判斷機(jī)器是否在使用,機(jī)器在使用則顯示學(xué)生信息,機(jī)器未使用則顯示學(xué)生已下機(jī)。2查詢功能:采取輸入的學(xué)號(hào)與學(xué)生信息中的學(xué)號(hào)是否對(duì)應(yīng)相等來(lái)判斷。4你所設(shè)計(jì)的程序最終完成的功能1說(shuō)明你編制的程序能完成的功能輸入功能:輸入上機(jī)學(xué)生的學(xué)號(hào),班級(jí),姓名,上機(jī)起始時(shí)間。計(jì)算功能:計(jì)算每個(gè)學(xué)生的上機(jī)費(fèi)用,每小時(shí)1。查詢功能:查找學(xué)生上機(jī)信息并顯示(班級(jí)、學(xué)號(hào)、姓名)顯示機(jī)器使用情況信息。word專業(yè)資料
.2準(zhǔn)備的測(cè)試數(shù)據(jù)及運(yùn)行結(jié)果word專業(yè)資料
.三、程序清單1數(shù)//函數(shù)voidmain(){while(y){cout<<"擇功能"<<endl;cout<<"0入現(xiàn)在時(shí)"<<endl;cout<<"1入學(xué)生信"<<endl;cout<<"2學(xué)號(hào)查"<<endl;cout<<"3腦使用情"<<endl;cout<<"4機(jī)費(fèi)用"<<endl;cout<<"5束程序"<<endl;cout<<"輸入";word專業(yè)資料
.cin>>a;switch{casetime();break;caseinput();break;casefindstunum();break;casecomputer();break;casecalout();break;casey=0;break;}}}}2)Input數(shù)voidinput(){while(1){word專業(yè)資料
.cout<<"入學(xué)生的學(xué)號(hào)班級(jí)姓名上機(jī)起始時(shí)間h-m-s"<<endl;cin>>stu[renshu].num>>stu[renshu].banji>>stu[renshu].name>>stu[renshu].start.hour>>stu[renshu].start.minute>>stu[renshu].start.second;stu[renshu].flag=1;comp[renshu].f=1;strcpy(comp[renshu].stus.num,stu[renshu].num);comp[renshu].stus.banji=stu[renshu].banji;strcpy(comp[renshu].,stu[renshu].name);cout<<"1.續(xù)輸入0.結(jié)束輸入"<<endl;cin>>flag;renshu++;if(flag!=1)break;跳出輸入循環(huán)}}3)Findstunum數(shù)voidfindstunum(){word專業(yè)資料
.intcharxh[10];cout<<"輸入要查找的學(xué)號(hào):";cin>>xh;for(inti=0;i<renshu;i++)if(strcmp(stu[i].num,xh)==0){cout<<"示學(xué)生的
學(xué)號(hào)班級(jí)姓名上下時(shí)間"<<endl;cout<<stu[i].num<<'\t'<<stu[i].banji<<'\t'<<stu[i].name<<'\t'<<stu[i].start.hour<<stu[i].start.minute<<stu[i].start.second<<"---"<<stu[i].finish.hour<<stu[i].finish.minute<<stu[i].finish.second<<endl;cout<<"否下機(jī)?"<<endl;cout<<"1是2"<<endl;cin>>a;switch{case{word專業(yè)資料
.cout<<"入下機(jī)時(shí)間h-m-s"<<endl;cin>>stu[i].finish.hour>>stu[i].finish.minute>>stu[i].finish.second;stu[i].flag=2;comp[i].f=2;break;}case2:break;}}for(i=0;i<renshu;i++)if(strcmp(stu[i].num,xh)!=0)cout<<"=====存在??!====="<<endl;}doublecal(int{intc;doublec=(((stu[i].finish.hour*3600+stu[i].finish.minute*60+stu[i].finish.second)-word專業(yè)資料
.(stu[i].start.hour*3600+stu[i].start.minute*60+stu[i].start.second))/3600);d=(((stu[i].finish.hour*3600+stu[i].finish.minute*60+stu[i].finish.second)-(stu[i].start.hour*3600+stu[i].start.minute*60+stu[i].start.second))*1.0000/3600);if(c==0)a=1.0000;if(c>0){if(d-c>0)a=(c+1)*1.00000;if(d-c==0)a=c*1.00000;}return}4)Computer數(shù)voidcomputer(){word專業(yè)資料
.cout<<"=====算機(jī)的使用情況====="<<endl;cout<<"算機(jī)編號(hào)for(inti=0;i<30;i++){
使用的學(xué)生的學(xué)號(hào)
班級(jí)姓名"<<endl;if(comp[i].f==2)cout<<i<<'\t'<<"生已下"<<endl;elseif(comp[i].f==1)cout<<i<<'\t'<<comp[i].stus.num<<'\t'<<comp[i].stus.banji<<'\t'<<comp[i].<<endl;elsecout<<i<<'\t'<<"計(jì)算機(jī)未被使"<<endl;}}5)Calculate函數(shù)doublecal(int{intc;doubleword專業(yè)資料
.c=(((stu[i].finish.hour*3600+stu[i].finish.minute*60+stu[i].finish.second)-(stu[i].start.hour*3600+stu[i].start.minute*60+stu[i].start.second))/3600);d=(((stu[i].finish.hour*3600+stu[i].finish.minute*60+stu[i].finish.second)-(stu[i].start.hour*3600+stu[i].start.minute*60+stu[i].start.second))*1.0000/3600);if(c==0)a=1.0000;if(c>0){if(d-c>0)a=(c+1)*1.00000;if(d-c==0)a=c*1.00000;}return}6)Calout數(shù)voidword專業(yè)資料
calout()
//算機(jī)時(shí)費(fèi)用{cout<<"示學(xué)生的
.學(xué)號(hào)班級(jí)姓名消費(fèi)金額"<<endl;for(inti=0;i<renshu;i++){if(stu[i].flag==1)cout<<stu[i].num<<'\t'<<stu[i].banji<<'\t'<<stu[i].name<<'\t'<<cal(i)<<'\t'<<"下機(jī)"<<endl;if(stu[i].flag==2)cout<<stu[i].num<<'\t'<<stu[i].banji<<'\t'<<stu[i].name<<'\t'<<cal(i)<<endl;}}7數(shù)voidtime(){inth,m,s;cout<<"間格式h-m-s"<<endl;word專業(yè)資料
.cin>>h>>m>>s;for(inti=0;i<renshu;i++)if(stu[i].finish.hour!=0||stu[i].finish.minute!=0||stu[i].finish.second!=0)如果有結(jié)束時(shí)間,將不對(duì)結(jié)束時(shí)間賦值;else//有結(jié)束時(shí)間,賦當(dāng)前時(shí)間值{stu[i].finish.hour=h;stu[i].finish.minute=m;stu[i].finish.second=s;}}四、對(duì)該設(shè)計(jì)題目有何更完善的方案1對(duì)自己完成程序進(jìn)行自我評(píng)價(jià)。能獨(dú)立思考程序并在他人協(xié)助下完成程序編寫(xiě)與調(diào)試能很好的運(yùn)用所學(xué)的知識(shí)解決程序中所出現(xiàn)的問(wèn)題。通過(guò)對(duì)課程的設(shè)計(jì),使我知道自身的不足,以及C++深?yuàn)W,相信自己會(huì)在假期中增強(qiáng)對(duì)C++的了解及應(yīng)用.2對(duì)課題提出更完善的方案加入創(chuàng)新元素就更好了,以后自己在這方面多努力。word專業(yè)資料
.五、收獲及心得體對(duì)輸入的數(shù)據(jù)要進(jìn)行合理性檢
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 二零二五年首期款全付房產(chǎn)買賣合同書(shū)3篇
- 二零二五版?zhèn)€人信用重建借款委托擔(dān)保合同3篇
- 二零二五版包裝行業(yè)綠色認(rèn)證與推廣合同3篇
- 二零二五年陵園墓地購(gòu)置與家族紀(jì)念館建設(shè)合同3篇
- 二零二五版知識(shí)產(chǎn)權(quán)保護(hù)技術(shù)服務(wù)合同泄密責(zé)任細(xì)則3篇
- 二零二五年度餐飲企業(yè)食品安全追溯平臺(tái)建設(shè)合同3篇
- 二零二五年度食品供應(yīng)與餐飲服務(wù)合同2篇
- 二零二五年防火門制造與施工安裝一體化合同模板3篇
- 2025年度影視基地場(chǎng)地租賃及拍攝制作合同范本3篇
- 2025年復(fù)合材料堆放場(chǎng)地租賃及環(huán)保處理合同3篇
- 建筑材料供應(yīng)鏈管理服務(wù)合同
- 孩子改名字父母一方委托書(shū)
- 2024-2025學(xué)年人教版初中物理九年級(jí)全一冊(cè)《電與磁》單元測(cè)試卷(原卷版)
- 江蘇單招英語(yǔ)考綱詞匯
- 礦山隱蔽致災(zāi)普查治理報(bào)告
- 2024年事業(yè)單位財(cái)務(wù)工作計(jì)劃例文(6篇)
- 2024年工程咨詢服務(wù)承諾書(shū)
- 青桔單車保險(xiǎn)合同條例
- 車輛使用不過(guò)戶免責(zé)協(xié)議書(shū)范文范本
- 《獅子王》電影賞析
- 2023-2024學(xué)年天津市部分區(qū)九年級(jí)(上)期末物理試卷
評(píng)論
0/150
提交評(píng)論