版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
二、設計思路
.題目:個理1總體設計1分析程序的功能:設計一個機房收費系統(tǒng),實現對學生上機收費的管理,從而方便學校機房的管理。2
系統(tǒng)總體結構:每一次運行的過程可以由這幾部分完成生的上機學號姓名上級起始時間;計算:計算每個學生的上機費用;查詢:查找學生上機信息并顯示(班級、學號、姓名顯示機器使用情況信息總共四個步驟:模塊輸入學生信息查詢學生上機情況計算機時費用顯示機器使用情況
函數名稱InputFindstunumCalculateComputer對于每一次運行,關注的數據有三個生的信息計算機時費用(3學生上機情況;對于統(tǒng)計信息需要三個:)學生上機信息并顯示(班級、學號、姓名)(2顯示機器使用情況信息(3機學生的學號級名機起始時間;這幾組數據部聯系很大,所以考慮把他們封裝為結構體變量。word專業(yè)資料
.機器使用信息需要記錄兩個器使用的標記(2使用機器的學生。根據問題的描述,可以按照程序要求的功能采用結構化的設計思想。機房收費系統(tǒng)可利用菜單界面制作switch句)使用戶選擇各個功能模塊,而后可根據不同的選項進入到不同的功能模塊進行執(zhí)行。結束程序,選y之外的任何字母或數字,如果想讓程序循環(huán)執(zhí)行,則選擇y。以上功能模塊分別用函數來實現,然后由主函數main調用。機器使用標記使用機器學生
成員名稱hourminutesecondfStudent
表示信息學號班級姓名上機起始時間上機標志
成員名稱numclassnamestart,finishflag2各功能模塊的設計:說明各功能模塊的實現方法1)Input塊該函數為輸入學生信息:學號,姓名,班級,上機起始時間,并對學生是否上機做標記(flag為1為為上機上機數一致。2)Findstunum塊查詢功能:當輸入的學號與學生信息中的學號相同時,則輸出該生學號,班級,姓名和上下時間,若該生未下機,則下機時間顯示0下機功能:詢問是否下機,用switch語句控制,若下機則要求輸入下機時間,不word專業(yè)資料
.下機則退出。3Calculate計算)模塊該模塊中,由于時、分、秒三個時間單位不統(tǒng)一,首先要統(tǒng)一單位,均用秒做單位(1h=3600s1min=60s),然后判斷上機時間是否滿一小時,不滿一小時按一小時收費,超過一小時再進行計算。不足一小時按一小時收費,整小時則每小時1收費。代碼參見Calculate計算)函數。4)calout輸出)模塊輸出上機學生學號,班級,姓名,若下機顯示消費金額,沒下機顯示“未下機5)computer模塊首先計算機使用情況信息:通過標記判斷機器是否在使用,機器在使用則顯示學生信息,機器未使用則顯示學生已下機。通過標記判斷機器是否在使用,機器在使用則顯示學生信息,機器未使用則顯示學生已下機。2查詢功能:采取輸入的學號與學生信息中的學號是否對應相等來判斷。4你所設計的程序最終完成的功能1說明你編制的程序能完成的功能輸入功能:輸入上機學生的學號,班級,姓名,上機起始時間。計算功能:計算每個學生的上機費用,每小時1。查詢功能:查找學生上機信息并顯示(班級、學號、姓名)顯示機器使用情況信息。word專業(yè)資料
.2準備的測試數據及運行結果word專業(yè)資料
.三、程序清單1數//函數voidmain(){while(y){cout<<"擇功能"<<endl;cout<<"0入現在時"<<endl;cout<<"1入學生信"<<endl;cout<<"2學號查"<<endl;cout<<"3腦使用情"<<endl;cout<<"4機費用"<<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數voidinput(){while(1){word專業(yè)資料
.cout<<"入學生的學號班級姓名上機起始時間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.結束輸入"<<endl;cin>>flag;renshu++;if(flag!=1)break;跳出輸入循環(huán)}}3)Findstunum數voidfindstunum(){word專業(yè)資料
.intcharxh[10];cout<<"輸入要查找的學號:";cin>>xh;for(inti=0;i<renshu;i++)if(strcmp(stu[i].num,xh)==0){cout<<"示學生的
學號班級姓名上下時間"<<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<<"否下機?"<<endl;cout<<"1是2"<<endl;cin>>a;switch{case{word專業(yè)資料
.cout<<"入下機時間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數voidcomputer(){word專業(yè)資料
.cout<<"=====算機的使用情況====="<<endl;cout<<"算機編號for(inti=0;i<30;i++){
使用的學生的學號
班級姓名"<<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'<<"計算機未被使"<<endl;}}5)Calculate函數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數voidword專業(yè)資料
calout()
//算機時費用{cout<<"示學生的
.學號班級姓名消費金額"<<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'<<"下機"<<endl;if(stu[i].flag==2)cout<<stu[i].num<<'\t'<<stu[i].banji<<'\t'<<stu[i].name<<'\t'<<cal(i)<<endl;}}7數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)如果有結束時間,將不對結束時間賦值;else//有結束時間,賦當前時間值{stu[i].finish.hour=h;stu[i].finish.minute=m;stu[i].finish.second=s;}}四、對該設計題目有何更完善的方案1對自己完成程序進行自我評價。能獨立思考程序并在他人協助下完成程序編寫與調試能很好的運用所學的知識解決程序中所出現的問題。通過對課程的設計,使我知道自身的不足,以及C++深奧,相信自己會在假期中增強對C++的了解及應用.2對課題提出更完善的方案加入創(chuàng)新元素就更好了,以后自己在這方面多努力。word專業(yè)資料
.五、收獲及心得體對輸入的數據要進行合理性檢
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 二零二五年度室內外地板一體化設計與施工合同3篇
- 課題申報參考:民事非法定種類證據的實質審查機制研究
- 課題申報參考:面向金融大數據的聯邦深度欺詐檢測方法研究
- 二零二五版文化產業(yè)園規(guī)劃設計與建設合同3篇
- 二零二五版木工企業(yè)員工離職與競業(yè)禁止勞動合同3篇
- 2025年度個人營運汽車租賃車輛安全監(jiān)控系統(tǒng)合同4篇
- 二零二五年度綠色節(jié)能幕墻安裝服務合同文本4篇
- 2024露天煤礦開采項目咨詢與服務合同范本3篇
- 2025年度木工班組安全生產標準化建設合同3篇
- 2025年度個人別墅防水系統(tǒng)安裝合同范本
- 2024-2030年中國智慧水務行業(yè)應用需求分析發(fā)展規(guī)劃研究報告
- 《獅子王》電影賞析
- 河北省保定市定州市2025屆高二數學第一學期期末監(jiān)測試題含解析
- 中醫(yī)護理人文
- 2024-2030年中國路亞用品市場銷售模式與競爭前景分析報告
- 貨物運輸安全培訓課件
- 統(tǒng)編版高中政治選擇性必修2《法律與生活》知識點復習提綱詳細版
- 前端年終述職報告
- 2024小說推文行業(yè)白皮書
- 市人民醫(yī)院關于開展“改善就醫(yī)感受提升患者體驗主題活動”2023-2025年實施方案及資料匯編
- 政績觀存在的問題及整改措施范文(7篇)
評論
0/150
提交評論