版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領
文檔簡介
1、C語言課程設計報告題目:機房收費管理系統(tǒng)專業(yè)年級:通信三班學號:姓名:指導教師:張采芳20 12 年 6 月 問題定義選定的題目內(nèi)容:選題十二:機房收費管理系統(tǒng)(1)輸入功能:輸入若干名學生的學號、班級、姓名、開始上機時間和結(jié)束上機時間。 (2)計算功能:計算每個學生的上機費用(計算公式:上機費用=(結(jié)束上機時間-開始上機時間)*收費標準,(以分鐘為單位) (3)修改功能:修改學生上機的個人檔案(如:增添) (4)查詢功能:按條件(班級、學號、姓名)查詢學生上機信息,并能顯示查詢學生的相應全部檔案。實際完成的軟件功能:(1)輸入功能:輸入若干名學生的學號、班級、姓名、開始上機時間和結(jié)束上機時間
2、。 (2)計算功能:計算每個學生的上機費用(計算公式:上機費用=(結(jié)束上機時間-開始上機時間)*收費標準,(以分鐘為單位) (3)修改功能:修改學生上機的個人檔案(如:增添) (4)查詢功能:按條件(班級、學號、姓名)查詢學生上機信息,并能顯示查詢學生的相應全部檔案(5)顯示功能:顯示全部機器的使用信息開發(fā)工具數(shù)據(jù)結(jié)構(gòu) 見代碼注釋/(1)輸入功能:輸入若干名學生的學號、班級、姓名、開始上機時間和結(jié)束上機時間。 /(2)計算功能:計算每個學生的上機費用(計算公式:上機費用=(結(jié)束上機時間-開始上機時間)*收費標準,(以分鐘為單位) /(3)修改功能:修改學生上機的個人檔案(如:增添)/(4)查詢
3、功能:按條件(班級、學號、姓名)查詢學生上機信息,并能顯示查詢學生的相應全部檔案。#include #include #include #include struct time-/*時間*/int hour;int minute;int second;typedef struct-/*學生信息*/char num20;-/*學號*/char banji;-/*班級*/int flag;-/*用來標注學生是否上機*/char name20;-/*姓名*/struct time kaishi,jiesu;-/*上機起始時間*/Student;Student stu50;-/*信息庫*/struct
4、 computer-/*機器信息*/int f;-/*用來標注這臺機器是否使用*/Student stut;-/*使用這臺機器的學生*/com30;-/*30臺機器*/int k;int main_menu()-/*主菜單*/char c;dosystem(cls);-/*清屏*/printf(t機房收費管理系統(tǒng)n);printf(t 1.輸入學生信息 n);printf(t 2.上機時間 n);printf(t 3.下機時間 n); printf(t 4.查詢上機時間及費用 n);printf(t 5.電腦使用情況顯示 n);printf(t 0.退出系統(tǒng) n);printf(tn);pri
5、ntf(t請選擇菜單序號(0-5): );c=getchar();while(c5);-/*判斷輸入是否合法*/return(c-0);int input(Student stu,int n)-/*輸入學生信息*/int i=0;char sign=0;while(sign!=n&sign!=N)-/*判斷是否繼續(xù)輸入學生信息*/getchar();-/*吃掉回車*/printf(ntt 學號:);gets(stun+i.num);printf(tt 班級:);scanf(%s,&stun+i.banji);getchar();printf(tt 姓名:);gets(stun+);
6、printf(tt 繼續(xù)輸入? 是請按Y,否請按N:);scanf(%c,&sign);stun+i.flag=0;-/*初始化為未上機*/i+;return(n+i);void shangji(Student stu,int n)-/*上機*/char num_t20,name_t20;int i,s;doprintf(ntt 使用姓名輸入1ntt 使用學號輸入2ntt 請輸入序號:);scanf(%d,&s);while(s!=1&s!=2);getchar();if(s=1)printf(tt 請輸入姓名:);gets(name_t);for(i=0;in;i+)-/*查找信息庫中是否有
7、該學生信息*/if(strcmp(,name_t)=0)break;elseprintf(tt 請輸入學號:);gets(num_t);for(i=0;in;i+)if(strcmp(stui.num,num_t)=0)break;if(i=n)printf(tt 無該生記錄!請輸入該生信息后再上機!n);return;else if(stui.flag=1)printf(tt 該生正在上機!n);return;elsefor(k=0;k30;k+)if(comk.f=0)comk.f=1;-/*該臺機器標記為使用*/printf(tt請輸入上機時間(當前時間):);scan
8、f(%d:%d:%d,&stui.kaishi.hour,&stui.kaishi.minute,&stui.kaishi.second);stui.flag=1;-/*該生標記為上機*/comk.stut=stui;-/*記錄使用這臺機器的學生信息*/break;if(k=30)printf(tt 機器全部使用中,請稍后再上機!n);void calculate(Student stu)-/*上機時間及費用計算*/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;-/*不滿一小時按一小時算*/printf(tt 該生上機用時%d小時,費用為%d元n,t,t);void xiaji(Student stu,int n)-/*下機*/char num_t20,name_t20;int i,s;doprintf(ntt 使用姓名輸入1ntt 使用學號輸入2ntt 請輸入序號:);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 請輸入學號:);gets(num_t);for(i=0;in;i+)if(strcmp(stui.num,num_t)=0)break;if(i=n)printf(tt 沒有這個學生!n);return;else if(stui.flag=0)printf(tt 該生未上機或已下機!n);return;elseprintf(tt 請輸入下機時間(當前時間):);scanf(%d:%
12、d:%d,&stui.jiesu.hour,&stui.jiesu.minute,&stui.jiesu.second);calculate(stui);-/*計算并輸出上機費用*/stui.flag=0;-/*該生標記為未上機*/for(k=0;k3;k+)-/*將剛下機同學使用的機器標記為未使用*/if(strcmp(comk.stut.num,stui.num)=0)comk.f=0;-/*該機器標記為未使用*/break;void chaxun(Student stu,int n)-/*上機時間查詢*/char num_t20,name_t20;int i,s;doprintf(ntt
13、 使用姓名輸入1ntt 使用學號輸入2ntt 請輸入序號:);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 請輸入學號:);gets(num_t);for(i=0;in;i+)if(strcmp(stui.num,num_t)=0)break;if(i=n)printf(tt 記錄無此學生!n);return;else if(stui.flag=1)print
14、f(tt 該生正在上機,上機起始時間為:%d:%d:%dn,stui.kaishi.hour,stui.kaishi.minute,stui.kaishi.second);elseprintf(tt 該生未上機或下機!n);void qingkuang()-/*全部機器使用情況顯示*/printf(t 機器號 是否使用 使用者 學號 班級 上機時間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)容停留一段時間,直到繼續(xù)操作為止*/int main()-/*主函數(shù)*/int n=0;for(k=0;k30;k+)-/*全部機器標記為未使用*/comk.f=0;for(;)switch(main_menu()case 1:system(cls);printf(*輸入學生信息*n);n=input(stu,n);b
16、reak;case 2:system(cls);printf(*學生上機*n);shangji(stu,n);printf(tt);system(pause);break;case 3:system(cls);printf(*學生下機*n);xiaji(stu,n);printf(tt);system(pause);break;case 4:system(cls);printf(*查詢上機時間及費用*);chaxun(stu,n);printf(tt);system(pause);break;case 5:system(cls);printf(*電腦使用情況顯示*n);qingkuang();
17、break;case 0:system(cls);printf(*感謝使用機房收費管理系統(tǒng),歡迎下次使用!*);printf(tt);system(pause);exit(0);return 0;算法描述程序調(diào)試情況1.在調(diào)試過程中發(fā)現(xiàn)自己犯了很多細節(jié)性的錯誤,比如標點符號的錯誤,然后一個一個發(fā)現(xiàn),修正,過程很冗雜,都要怪自己在編寫的時候不細心,挺后悔的,以后在做一件事的時候就要認真,以避免不必要的麻煩。 2此外,若只是最后對學生的信息進行系統(tǒng)的上機時間和下機時間的輸入就使得學生在使用計算機時無法查詢自己上機的相關(guān)信息。最后通過上機時學生信息的查找(增添)并輸入該學生的上機時間(當前時間),下
18、機時學生信息查找且輸入下機時間(當前時間),使得學生能更好的查詢自己使用計算機的情況。 3.考慮到現(xiàn)實因素,機房的計算機數(shù)目有限,不能不受限制的使用。因此,我對該題目所做的要求進行了拓展,即顯示所有計算機的使用情況,這樣能更直觀的了解當前機房所有計算機的使用情況。心得及體會在做這次課程設計的過程中,我遇到了很多的困難;在發(fā)現(xiàn)解決這些問題的過程中,我收獲了寶貴的經(jīng)驗:1) 在設計程序之前,要認真閱讀題目及要求,對你所設計的題目和內(nèi)容有一個系統(tǒng)的了解,知道所設計的題目和內(nèi)容包含那些資源。2) 設計程序過程中,最重要的是要有一個清晰的思路和一個完整的軟件流程圖。所以,先把設計原理與整體思路弄清楚,再把流程圖畫出來,按照流程圖一步步的編程,這樣做起來井井有條,事半功倍。3) 在設計程
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 慢性腎病高鉀血癥管理
- 《GB-T 8569-2009固體化學肥料包裝》專題研究報告
- 《GBT 30924.1-2016 塑料 乙烯 - 乙酸乙烯酯(EVAC)模塑和擠出材料 第 1 部分:命名系統(tǒng)和分類基礎》專題研究報告
- 汽車消費貸款抵押擔保合同
- 中式鹵味制作技師(初級)考試試卷及答案
- 主持人崗位招聘考試試卷及答案
- 2025年壬基酚聚氧乙烯醚合作協(xié)議書
- 經(jīng)??谇粷兊娘嬍撤乐?/a>
- 膽囊炎的飲食指導
- 員工離職管理培訓課件
- 2025中原農(nóng)業(yè)保險股份有限公司招聘67人備考考試試題及答案解析
- 2025年度河北省機關(guān)事業(yè)單位技術(shù)工人晉升高級工考試練習題附正確答案
- 交通運輸布局及其對區(qū)域發(fā)展的影響課時教案
- 2025年中醫(yī)院護理核心制度理論知識考核試題及答案
- GB/T 17981-2025空氣調(diào)節(jié)系統(tǒng)經(jīng)濟運行
- 比亞迪儲能項目介紹
- 2025年9月廣東深圳市福田區(qū)事業(yè)單位選聘博士11人備考題庫附答案
- 糖尿病足潰瘍VSD治療創(chuàng)面氧自由基清除方案
- 《公司治理》期末考試復習題庫(含答案)
- 自由職業(yè)者項目合作合同協(xié)議2025年
- 學堂在線 大數(shù)據(jù)與城市規(guī)劃 期末考試答案
評論
0/150
提交評論