版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
1、C語言課程設(shè)計(jì)報(bào)告題目:機(jī)房收費(fèi)管理系統(tǒng)專業(yè)年級(jí):通信三班學(xué)號(hào):姓名:指導(dǎo)教師:張采芳20 12 年 6 月 問題定義選定的題目內(nèi)容:選題十二:機(jī)房收費(fèi)管理系統(tǒng)(1)輸入功能:輸入若干名學(xué)生的學(xué)號(hào)、班級(jí)、姓名、開始上機(jī)時(shí)間和結(jié)束上機(jī)時(shí)間。 (2)計(jì)算功能:計(jì)算每個(gè)學(xué)生的上機(jī)費(fèi)用(計(jì)算公式:上機(jī)費(fèi)用=(結(jié)束上機(jī)時(shí)間-開始上機(jī)時(shí)間)*收費(fèi)標(biāo)準(zhǔn),(以分鐘為單位) (3)修改功能:修改學(xué)生上機(jī)的個(gè)人檔案(如:增添) (4)查詢功能:按條件(班級(jí)、學(xué)號(hào)、姓名)查詢學(xué)生上機(jī)信息,并能顯示查詢學(xué)生的相應(yīng)全部檔案。實(shí)際完成的軟件功能:(1)輸入功能:輸入若干名學(xué)生的學(xué)號(hào)、班級(jí)、姓名、開始上機(jī)時(shí)間和結(jié)束上機(jī)時(shí)間
2、。 (2)計(jì)算功能:計(jì)算每個(gè)學(xué)生的上機(jī)費(fèi)用(計(jì)算公式:上機(jī)費(fèi)用=(結(jié)束上機(jī)時(shí)間-開始上機(jī)時(shí)間)*收費(fèi)標(biāo)準(zhǔn),(以分鐘為單位) (3)修改功能:修改學(xué)生上機(jī)的個(gè)人檔案(如:增添) (4)查詢功能:按條件(班級(jí)、學(xué)號(hào)、姓名)查詢學(xué)生上機(jī)信息,并能顯示查詢學(xué)生的相應(yīng)全部檔案(5)顯示功能:顯示全部機(jī)器的使用信息開發(fā)工具數(shù)據(jù)結(jié)構(gòu) 見代碼注釋/(1)輸入功能:輸入若干名學(xué)生的學(xué)號(hào)、班級(jí)、姓名、開始上機(jī)時(shí)間和結(jié)束上機(jī)時(shí)間。 /(2)計(jì)算功能:計(jì)算每個(gè)學(xué)生的上機(jī)費(fèi)用(計(jì)算公式:上機(jī)費(fèi)用=(結(jié)束上機(jī)時(shí)間-開始上機(jī)時(shí)間)*收費(fèi)標(biāo)準(zhǔn),(以分鐘為單位) /(3)修改功能:修改學(xué)生上機(jī)的個(gè)人檔案(如:增添)/(4)查詢
3、功能:按條件(班級(jí)、學(xué)號(hào)、姓名)查詢學(xué)生上機(jī)信息,并能顯示查詢學(xué)生的相應(yīng)全部檔案。#include #include #include #include struct time-/*時(shí)間*/int hour;int minute;int second;typedef struct-/*學(xué)生信息*/char num20;-/*學(xué)號(hào)*/char banji;-/*班級(jí)*/int flag;-/*用來標(biāo)注學(xué)生是否上機(jī)*/char name20;-/*姓名*/struct time kaishi,jiesu;-/*上機(jī)起始時(shí)間*/Student;Student stu50;-/*信息庫*/struct
4、 computer-/*機(jī)器信息*/int f;-/*用來標(biāo)注這臺(tái)機(jī)器是否使用*/Student stut;-/*使用這臺(tái)機(jī)器的學(xué)生*/com30;-/*30臺(tái)機(jī)器*/int k;int main_menu()-/*主菜單*/char c;dosystem(cls);-/*清屏*/printf(t機(jī)房收費(fèi)管理系統(tǒng)n);printf(t 1.輸入學(xué)生信息 n);printf(t 2.上機(jī)時(shí)間 n);printf(t 3.下機(jī)時(shí)間 n); printf(t 4.查詢上機(jī)時(shí)間及費(fèi)用 n);printf(t 5.電腦使用情況顯示 n);printf(t 0.退出系統(tǒng) n);printf(tn);pri
5、ntf(t請選擇菜單序號(hào)(0-5): );c=getchar();while(c5);-/*判斷輸入是否合法*/return(c-0);int input(Student stu,int n)-/*輸入學(xué)生信息*/int i=0;char sign=0;while(sign!=n&sign!=N)-/*判斷是否繼續(xù)輸入學(xué)生信息*/getchar();-/*吃掉回車*/printf(ntt 學(xué)號(hào):);gets(stun+i.num);printf(tt 班級(jí):);scanf(%s,&stun+i.banji);getchar();printf(tt 姓名:);gets(stun+);
6、printf(tt 繼續(xù)輸入? 是請按Y,否請按N:);scanf(%c,&sign);stun+i.flag=0;-/*初始化為未上機(jī)*/i+;return(n+i);void shangji(Student stu,int n)-/*上機(jī)*/char num_t20,name_t20;int i,s;doprintf(ntt 使用姓名輸入1ntt 使用學(xué)號(hào)輸入2ntt 請輸入序號(hào):);scanf(%d,&s);while(s!=1&s!=2);getchar();if(s=1)printf(tt 請輸入姓名:);gets(name_t);for(i=0;in;i+)-/*查找信息庫中是否有
7、該學(xué)生信息*/if(strcmp(,name_t)=0)break;elseprintf(tt 請輸入學(xué)號(hào):);gets(num_t);for(i=0;in;i+)if(strcmp(stui.num,num_t)=0)break;if(i=n)printf(tt 無該生記錄!請輸入該生信息后再上機(jī)!n);return;else if(stui.flag=1)printf(tt 該生正在上機(jī)!n);return;elsefor(k=0;k30;k+)if(comk.f=0)comk.f=1;-/*該臺(tái)機(jī)器標(biāo)記為使用*/printf(tt請輸入上機(jī)時(shí)間(當(dāng)前時(shí)間):);scan
8、f(%d:%d:%d,&stui.kaishi.hour,&stui.kaishi.minute,&stui.kaishi.second);stui.flag=1;-/*該生標(biāo)記為上機(jī)*/comk.stut=stui;-/*記錄使用這臺(tái)機(jī)器的學(xué)生信息*/break;if(k=30)printf(tt 機(jī)器全部使用中,請稍后再上機(jī)!n);void calculate(Student stu)-/*上機(jī)時(shí)間及費(fèi)用計(jì)算*/int t;struct time timet;if(stu.jiesu.secondstu.kaishi.second)if(stu.jiesu.minute=0)stu.jie
9、su.hour-=1;stu.jiesu.minute=59;elsestu.jiesu.minute-=1;timet.second=stu.jiesu.second+60-stu.kaishi.second;elsetimet.second=stu.jiesu.second-stu.kaishi.second;if(stu.jiesu.minutestu.kaishi.minute)stu.jiesu.hour-=1;timet.minute=stu.jiesu.minute+60-stu.kaishi.minute;elsetimet.minute=stu.jiesu.minute-st
10、u.kaishi.minute;timet.hour=stu.jiesu.hour-stu.kaishi.hour;=0&timet.minute=0)t=timet.hour;elset=timet.hour+1;-/*不滿一小時(shí)按一小時(shí)算*/printf(tt 該生上機(jī)用時(shí)%d小時(shí),費(fèi)用為%d元n,t,t);void xiaji(Student stu,int n)-/*下機(jī)*/char num_t20,name_t20;int i,s;doprintf(ntt 使用姓名輸入1ntt 使用學(xué)號(hào)輸入2ntt 請輸入序號(hào):);scanf(%d,&s);while(s!=1&s!=2);getc
11、har();if(s=1)printf(tt 請輸入姓名:);gets(name_t);for(i=0;in;i+)if(strcmp(,name_t)=0)break;elseprintf(tt 請輸入學(xué)號(hào):);gets(num_t);for(i=0;in;i+)if(strcmp(stui.num,num_t)=0)break;if(i=n)printf(tt 沒有這個(gè)學(xué)生!n);return;else if(stui.flag=0)printf(tt 該生未上機(jī)或已下機(jī)!n);return;elseprintf(tt 請輸入下機(jī)時(shí)間(當(dāng)前時(shí)間):);scanf(%d:%
12、d:%d,&stui.jiesu.hour,&stui.jiesu.minute,&stui.jiesu.second);calculate(stui);-/*計(jì)算并輸出上機(jī)費(fèi)用*/stui.flag=0;-/*該生標(biāo)記為未上機(jī)*/for(k=0;k3;k+)-/*將剛下機(jī)同學(xué)使用的機(jī)器標(biāo)記為未使用*/if(strcmp(comk.stut.num,stui.num)=0)comk.f=0;-/*該機(jī)器標(biāo)記為未使用*/break;void chaxun(Student stu,int n)-/*上機(jī)時(shí)間查詢*/char num_t20,name_t20;int i,s;doprintf(ntt
13、 使用姓名輸入1ntt 使用學(xué)號(hào)輸入2ntt 請輸入序號(hào):);scanf(%d,&s);while(s!=1&s!=2);getchar();if(s=1)printf(tt 請輸入姓名:);gets(name_t);for(i=0;in;i+)if(strcmp(,name_t)=0)break;elseprintf(tt 請輸入學(xué)號(hào):);gets(num_t);for(i=0;in;i+)if(strcmp(stui.num,num_t)=0)break;if(i=n)printf(tt 記錄無此學(xué)生!n);return;else if(stui.flag=1)print
14、f(tt 該生正在上機(jī),上機(jī)起始時(shí)間為:%d:%d:%dn,stui.kaishi.hour,stui.kaishi.minute,stui.kaishi.second);elseprintf(tt 該生未上機(jī)或下機(jī)!n);void qingkuang()-/*全部機(jī)器使用情況顯示*/printf(t 機(jī)器號(hào) 是否使用 使用者 學(xué)號(hào) 班級(jí) 上機(jī)時(shí)間n);printf(t-n);for(k=0;k30;k+)if(comk.f=0)printf(t%02d否-:-:-n,k+1);elseprintf(t%02d是%-10s%-10s%2s%02d:%02d:%02dn,k+1,comk.stu
15、,comk.stut.num,comk.stut.banji,comk.stut.kaishi.hour,comk.stut.kaishi.minute,comk.stut.kaishi.second);printf(t);system(pause);-/*屏幕顯示內(nèi)容停留一段時(shí)間,直到繼續(xù)操作為止*/int main()-/*主函數(shù)*/int n=0;for(k=0;k30;k+)-/*全部機(jī)器標(biāo)記為未使用*/comk.f=0;for(;)switch(main_menu()case 1:system(cls);printf(*輸入學(xué)生信息*n);n=input(stu,n);b
16、reak;case 2:system(cls);printf(*學(xué)生上機(jī)*n);shangji(stu,n);printf(tt);system(pause);break;case 3:system(cls);printf(*學(xué)生下機(jī)*n);xiaji(stu,n);printf(tt);system(pause);break;case 4:system(cls);printf(*查詢上機(jī)時(shí)間及費(fèi)用*);chaxun(stu,n);printf(tt);system(pause);break;case 5:system(cls);printf(*電腦使用情況顯示*n);qingkuang();
17、break;case 0:system(cls);printf(*感謝使用機(jī)房收費(fèi)管理系統(tǒng),歡迎下次使用!*);printf(tt);system(pause);exit(0);return 0;算法描述程序調(diào)試情況1.在調(diào)試過程中發(fā)現(xiàn)自己犯了很多細(xì)節(jié)性的錯(cuò)誤,比如標(biāo)點(diǎn)符號(hào)的錯(cuò)誤,然后一個(gè)一個(gè)發(fā)現(xiàn),修正,過程很冗雜,都要怪自己在編寫的時(shí)候不細(xì)心,挺后悔的,以后在做一件事的時(shí)候就要認(rèn)真,以避免不必要的麻煩。 2此外,若只是最后對學(xué)生的信息進(jìn)行系統(tǒng)的上機(jī)時(shí)間和下機(jī)時(shí)間的輸入就使得學(xué)生在使用計(jì)算機(jī)時(shí)無法查詢自己上機(jī)的相關(guān)信息。最后通過上機(jī)時(shí)學(xué)生信息的查找(增添)并輸入該學(xué)生的上機(jī)時(shí)間(當(dāng)前時(shí)間),下
18、機(jī)時(shí)學(xué)生信息查找且輸入下機(jī)時(shí)間(當(dāng)前時(shí)間),使得學(xué)生能更好的查詢自己使用計(jì)算機(jī)的情況。 3.考慮到現(xiàn)實(shí)因素,機(jī)房的計(jì)算機(jī)數(shù)目有限,不能不受限制的使用。因此,我對該題目所做的要求進(jìn)行了拓展,即顯示所有計(jì)算機(jī)的使用情況,這樣能更直觀的了解當(dāng)前機(jī)房所有計(jì)算機(jī)的使用情況。心得及體會(huì)在做這次課程設(shè)計(jì)的過程中,我遇到了很多的困難;在發(fā)現(xiàn)解決這些問題的過程中,我收獲了寶貴的經(jīng)驗(yàn):1) 在設(shè)計(jì)程序之前,要認(rèn)真閱讀題目及要求,對你所設(shè)計(jì)的題目和內(nèi)容有一個(gè)系統(tǒng)的了解,知道所設(shè)計(jì)的題目和內(nèi)容包含那些資源。2) 設(shè)計(jì)程序過程中,最重要的是要有一個(gè)清晰的思路和一個(gè)完整的軟件流程圖。所以,先把設(shè)計(jì)原理與整體思路弄清楚,再把流程圖畫出來,按照流程圖一步步的編程,這樣做起來井井有條,事半功倍。3) 在設(shè)計(jì)程
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(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ǔ)空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 【正版授權(quán)】 ISO/IEC 18046-5:2025 EN Information technology - Radio frequency identification device performance test methods - Part 5: Test methods for the environmental characteristics
- 2024食品工廠代加工冷鏈配送服務(wù)合同范本3篇
- 2024版無人機(jī)遙感監(jiān)測服務(wù)合同
- 2025年度水庫魚塘智能化養(yǎng)殖技術(shù)承包合同4篇
- 出資協(xié)議書范本
- 2024版鋁錠批發(fā)銷售協(xié)議樣本一
- 2025年度生態(tài)環(huán)保打井承包合同標(biāo)準(zhǔn)范本4篇
- 2025年度智慧家居產(chǎn)品銷售與售后服務(wù)合同3篇
- 2025年度住宅小區(qū)墻面公共藝術(shù)創(chuàng)作租賃合同標(biāo)的協(xié)議4篇
- 2025年度牙科專業(yè)人才培養(yǎng)與承包服務(wù)合同范本4篇
- 2025四川中煙招聘高頻重點(diǎn)提升(共500題)附帶答案詳解
- 2025年云南大理州工業(yè)投資(集團(tuán))限公司招聘31人管理單位筆試遴選500模擬題附帶答案詳解
- 風(fēng)電危險(xiǎn)源辨識(shí)及控制措施
- 《教師職業(yè)道德與政策法規(guī)》課程教學(xué)大綱
- EHS工程師招聘筆試題與參考答案(某大型央企)2024年
- 營銷策劃 -麗亭酒店品牌年度傳播規(guī)劃方案
- 兒童傳染病預(yù)防課件
- 2025年中國蛋糕行業(yè)市場規(guī)模及發(fā)展前景研究報(bào)告(智研咨詢發(fā)布)
- 護(hù)理組長年底述職報(bào)告
- 集裝箱活動(dòng)房供需合同
- 山西省2022年中考道德與法治真題試卷(含答案)
評論
0/150
提交評論