C語言課程設(shè)計報告機房管理系統(tǒng)_第1頁
C語言課程設(shè)計報告機房管理系統(tǒng)_第2頁
C語言課程設(shè)計報告機房管理系統(tǒng)_第3頁
C語言課程設(shè)計報告機房管理系統(tǒng)_第4頁
C語言課程設(shè)計報告機房管理系統(tǒng)_第5頁
已閱讀5頁,還剩20頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)

文檔簡介

..目錄一.設(shè)計內(nèi)容二.設(shè)計要求(1)題目要求(2)輸入/輸出要求三.整體設(shè)計思路四.流程圖(1)層次模塊圖(2)空機號查問N—S圖五.主函數(shù)及功能菜單說明六.各模塊簡要說明七.心得領(lǐng)會附錄一.源程序代碼二.各模塊運轉(zhuǎn)結(jié)果截圖word教育資料..一:設(shè)計內(nèi)容題目:機房管理系統(tǒng)設(shè)計機房管理系統(tǒng),要求由菜單進行管理。1)上機前先檢查能否有空機位,有則將其顯示出,無則提示無空位。2)還有空地點時,運轉(zhuǎn)進入,并記錄下地點號以及序號,與上機時間。3)可對上機者上機信息進行查問,改正與刪除。4)設(shè)計有關(guān)模塊,顯示上機者的上機花費。5)顯示全部上機者的上機信息。二:設(shè)計要求題目要求:(1)為各項操作功能設(shè)計一個菜單。應用程序運轉(zhuǎn)后,先顯示這個菜單,而后用戶經(jīng)過菜單項選擇希望進行的操作項目。(2)要求以上功能分別用函數(shù)實現(xiàn)。輸入/輸出要求:(1)應用程序運轉(zhuǎn)后,先顯示一個菜單,而后用戶依據(jù)需要選擇相應的操作項目。進入每個操作后,依據(jù)程序的提示輸入相應的信息。(2)要求用戶輸入數(shù)據(jù)時,要給出清楚、明確的提示信息,包含輸入的數(shù)據(jù)內(nèi)容、格式及結(jié)束方式等。三:整體設(shè)計思路在設(shè)計該程序時,要將系統(tǒng)的不一樣功能分紅各個模塊。每個模塊由一個函數(shù)word教育資料..定義,整個程序由函數(shù)調(diào)用來實現(xiàn)。每個模塊是一個子函數(shù),由一個主函數(shù)調(diào)用各個子函數(shù)。在定義子函數(shù)時,依據(jù)不一樣的功能選擇不一樣的語句,如需要使用循環(huán)時能夠用“dowhile”來實現(xiàn);需要使用選擇時能夠用“switch”或“if”語句來實現(xiàn)等。設(shè)計以菜單方式工作的機房管理系統(tǒng),主要包含六個模塊,分別是上機者信息輸入模塊,上機者信息查問模塊,上機者信息改正模塊,上機者信息刪除模塊,上機者上機花費計算模塊,全部上機者信息顯示模塊。每個模塊由組員相應達成。其他考慮到機房的特別要求,新增一個上課模式,此模式功能是將全部機子開啟,一致賦上上機者有關(guān)信息,防范管理員一個一個的給機子輸入信息。本系統(tǒng)程序要點在于一個空機位的檢索,亦是本程序核心之所在。本程序是經(jīng)過給StudentList[time]賦值為0或1分別實現(xiàn)空機號的判斷。0代表無人上機,及為空機號,反之1代表有人上機,及不為空機號。本程序經(jīng)過定義構(gòu)造體,包含姓名[name],機號[seat],學號[stu_num],上機時間[time]四個成員。詳細以下;Structstudent_info{charname[10];intseat;Longstu_num;inttime;}word教育資料..四:流程圖層次模塊圖主菜單學空查修刪顯顯上退生機詢改除示示課出信號上上上上所模系息查機機機機有式統(tǒng)輸詢情信信費上模入模況息息用機塊模塊模模模模信塊塊塊塊塊息模塊空機號查問N—S圖i=0,k=0for(i=0;i<80;i++)StudentList[i].time==0YN輸出i;Yk==0K=1輸出“無空機位”

N空機號檢索是本程序的核心,本程序的其他幾個模塊皆是經(jīng)過先對空機號的判毅而后進行下去的(及先對StudentList[time]的值進行0或1的判斷)。例如“顯示全部上機信息模塊”,我們小組經(jīng)過一個for循環(huán)語句,從機號0—79號逐個判斷,符合條件則將其輸出。而判斷的標準就是if(StudentList[i].time!=0)。N—S圖以下所示:word教育資料..i=0for(i=0;i<80;i++)StudentList[i].time!=0YN輸出上機信息不輸出其他模塊近似,流程圖省略。五:主函數(shù)及功能菜單說明在主函數(shù)以前,我們第一定義了一個構(gòu)造體,同時進行了有關(guān)函數(shù)的申明。此中,構(gòu)造體包含:姓名[name],機號[seat],學號[stu_num],上機時間[time]四個成員。在主函數(shù)中,我們定義了一個變量j,經(jīng)過一個for循環(huán)語句,從j=0到j(luò)=80,分別給全部機子編號,同時給全部機子的上機時間賦以初值0,即:for(j=0;j<80;j++){StudentList[j].time=0;StudentList[j].seat=j;}從而為空機號的檢索以及下邊各個模塊順利的連結(jié)編譯做下鋪墊。而功能菜單的實現(xiàn),我們采納的是switch選擇語句并聯(lián)合dowhile循環(huán)的方法,經(jīng)過人為的輸入來實現(xiàn)菜單的操作。為美化菜單,我們加上相應的頭文件#include<stdlib.h>,再加上相應的顏色函數(shù):system("color5A"),word教育資料..從而成功使系統(tǒng)界面背景顏色與字體分別變?yōu)樽仙c綠色。系統(tǒng)菜單界面截圖六:各模塊簡要說明學生信息輸入模塊學生信息輸入模塊是本系統(tǒng)的第一個模塊,亦是本系統(tǒng)尤其要點的一個模塊。下邊的模塊能夠正常運轉(zhuǎn),皆離不開這一模塊。聯(lián)合主函數(shù),我們在輸入上機者信息時,我們經(jīng)過對StudentList[i].time進行0或1的判斷,對整個機房進行一個空機號的檢索,檢查能否有空機號,有則履行輸入功能,無則輸出“機房已滿”信息。自然,管理員亦能先履行第二個模塊:空機號檢索模塊,先檢索出空機,再讓上機者選擇機號上機??諜C號查問模塊詳見上文流程圖部分的介紹。查問、改正、刪除、顯示上機信息模塊word教育資料..這四個模塊采納的設(shè)計思路基本一致,皆經(jīng)過對StudentList[i].time的值進行0或1的判斷,達到功能的實現(xiàn)。比方:查問上機信息模塊。在此模塊中,設(shè)計者經(jīng)過一個if的判斷語句(即:if(StudentList[i].time!=0)),對管理員所輸入機號進行一個能否為空機號的判斷,若檢測到所輸機號是空機號(即:StudentList[i].time=0)時,則不輸出有關(guān)信息,反之,輸出有關(guān)上機者信息。顯示上機花費模塊此模塊采納的是時間乘上每單位時間的花費的計費方式來進行計費的。在本系統(tǒng)中,我們規(guī)定每小時上機花費是2元,經(jīng)過調(diào)用在“學生信息輸入模塊”中所輸入的上機時間(即:StudentList[i].time)乘上此花費,從而獲得上機者上機花費。上課模式模塊此模塊為本系統(tǒng)新增模塊,是依據(jù)機房某些時候的特別需要設(shè)計的,旨在能夠方便管理員一次性輸入數(shù)據(jù)。而為達到這一功能,我們采納了一個for循環(huán)語句,從0號機向來到79號機一致賦上同樣的上機時間,學號。For循環(huán)語句如下:for(i=0;i<80;i++){StudentList[i].time=n;StudentList[i].stu_num=0;word教育資料..strcpy(StudentList[i].name,"");}七:心得領(lǐng)會C語言程序設(shè)計是本學期才開的課,固然到此刻已經(jīng)告一段落,可是此刻回想,感覺經(jīng)過大部分個學期的學習,自己的確學到了許多東西,可是依舊不過個入門者,經(jīng)后還得靠自己連續(xù)學習,增強。此次C語言課程設(shè)計,在我們小組開始準備時,大家?guī)缀醵际且活^霧水,尤其是我這個當組長的,更是不知該如何給小構(gòu)成員分派任務,這也是我碰到的第一個難題。此后在學習函數(shù)而且與其他小組談論以后,逐漸有了眉目。于是我決定按功能模塊給小構(gòu)成員分派任務,我們這個小組基本上是一人負責一個模塊,而我在負責“刪除上機信息模塊”的同時,也擔負起主函數(shù)與連結(jié)各個模塊的任務。在這個過程中我于是碰到了第二個困難。這第二個困難就是如何利用“構(gòu)造體”。說句真話,在我們小組開始著手準備之時連構(gòu)造體都弄不清楚,由于壓根就還沒學到此部分。但在自己查閱有關(guān)書籍以及與同學談論再加上此后老師在“構(gòu)造體”一章中的解說,我們終于在最后用構(gòu)造體達成了此次課程設(shè)計。此次的課程設(shè)計之所以能夠順利達成也離不開組員之間的團結(jié)協(xié)作。比方在此次課程設(shè)計中,開初大家都不知道該如何將各個部分連結(jié)起來,也就是說該如何采納一個一致的判斷標準。此后在經(jīng)過組員的談論并親身實踐調(diào)試以后,大家獲得了一致的建議。從本系統(tǒng)源程序代碼中能夠大家能夠發(fā)現(xiàn),我們小組所編寫的程序的核心就是空機號的判斷,及上文所提到的StudentList[j].time值的判斷。(Student[i].time==0表示空機號,等于1則表示非空極號,有人正在操作word教育資料..此機)。于是在接下來的模塊編寫時,我們小構(gòu)成員都嚴格的一致依照此規(guī)定完成了接下來的任務。比方“顯示全部上機信息模塊”,我們小組就是經(jīng)過一個for循環(huán)語句,經(jīng)過逐個檢查,碰到符合條件的則將其輸出。而我們的判斷標準就是Student[i].time的值為零則不輸出,不為零則將其輸出。由于在此次C語言課程設(shè)計中,我們小組堪稱經(jīng)歷了一次“自學大作戰(zhàn)”,所以我們也逐漸感覺到了自學的妙處,我想這勢必會對我此后的學習產(chǎn)生必定的踴躍影響。比方在我們小組基本達成設(shè)計以后,我們感覺主界面不夠雅觀,能否能夠改良一下呢?于是我們經(jīng)過上網(wǎng)查閱了有關(guān)的資料,發(fā)現(xiàn)我們其實能夠給主界面以及字體加點背景顏色,而這項工作也其實不是很難,只要要調(diào)用庫函數(shù)中的顏色函數(shù)。于是我們在主函數(shù)中加上System("color0A"),并加上相應的頭文件#include<stdlib.h>。于是我們就成功實現(xiàn)了這一功能,給該程序主界面賦上了紫色,字體也變?yōu)榱司G色。在課程設(shè)計中,收獲知識,提升能力的同時,我也學到了好多人生真理,懂得如何去擬定計劃,怎么樣去實現(xiàn)這個計劃,并掌握了在履行過程中如何去戰(zhàn)勝心理上的不良情緒,所以在此后的生活和學習過程中,我必定會把課程設(shè)計的精神帶到生活中,不畏困難,一往無前!word教育資料..附錄一:源程序代碼#include<stdio.h>#include<string.h>#include<stdlib.h>#defineMaxSize80structstudent_info{charname[10];//姓名intseat;//機號longstu_num;//學號inttime;//上機時間}StudentList[MaxSize];voidInsert( );voidEmpty( );voidSearch( );voidUpdate( );voidDelete( );voidDispallmoney( );voidShow( );voidClass( );intmain( )word教育資料..{inti,j;system("color5A");//字體和背景顏色for(j=0;j<80;j++){StudentList[j].time=0;//給全部機子上機時間賦值為0,代表空機StudentList[j].seat=j;//給全部機子編號}printf("\t\t\t*****************************\n\n");//顯示一個簡單菜單printf("\t\t\t歡迎使用機房管理系統(tǒng)\n\n");printf("\t\t\t*****************************\n\n");do{printf("\n");printf("\t\t\t1------輸入學生信息(Insert)\n");printf("\t\t\t2------查問空機位(Empty)\n");printf("\t\t\t3------查問上機狀況(Search)\n");printf("\t\t\t4------改正上機信息(Update)\n");printf("\t\t\t5------刪除上機信息(Delete)\n");printf("\t\t\t6------顯示學生上機花費(Dispallmoney)\n");printf("\t\t\t7------顯示全部上機信息(Show)\n");printf("\t\t\t8------上課模式(Class)\n");word教育資料..printf("\t\t\t9------退出(Exit)\n");scanf("%d",&i);//接受用戶的選擇switch(i){case1:Insert( );//調(diào)用學生信息輸入函數(shù)break;case2:Empty( );//調(diào)用空機號檢索函數(shù)break;case3:Search( );//調(diào)用上機信息查問函數(shù)break;case4:Update( );//調(diào)用上機信息改正函數(shù)break;case5:Delete( );break;case6:Dispallmoney( );//調(diào)用計費函數(shù)break;case7:Show( );//調(diào)用上機信息全顯示函數(shù)break;case8:Class( );//調(diào)用機房上課模式函數(shù)break;case9:break;default:printf("錯誤選擇!請重選");break;}word教育資料..}while(i!=9);return0;}voidInsert( ){inti,k=0;for(i=0;i<80;i++){if(StudentList[i].time==0)//檢測機房能否有空機位k=1;}if(k==0){printf("機房已滿!");return;}printf("請輸入機號:");scanf("%d",&i);if(i>=80){printf("請輸入小于80的整數(shù)");return;}if(StudentList[i].time!=0){printf("已經(jīng)有人正在操作此機:");return;}printf("請輸入上機者姓名:");word教育資料..scanf("%s",StudentList[i].name);printf("請輸入上機者學號:");scanf("%ld",&StudentList[i].stu_num);printf("請輸入上機時間:");scanf("%d",&StudentList[i].time);}voidEmpty( ){inti,k=0;printf("空機號為:\n");for(i=0;i<80;i++)//檢測空機號并將其輸出{if(StudentList[i].time==0){printf("%d\t",i);k=1;}}if(k==0){printf("無空機位!");return;}}word教育資料..voidSearch( ){inti;printf("請輸入要查問的機號:");scanf("%d",&i);if(StudentList[i].time!=0)//判斷標準,檢索到則輸出{printf("姓名:%s\t",StudentList[i].name);printf("學號:%ld\t",StudentList[i].stu_num);printf("上機時間:%d\t",StudentList[i].time);}elseprintf("沒有查問到!");}voidUpdate( ){inti;printf("請輸入要改正數(shù)據(jù)的機號:");scanf("%d",&i);if(StudentList[i].time!=0)//判斷標準,檢索到則輸出word教育資料..{printf("請輸入姓名:");scanf("%s",StudentList[i].name);printf("請輸入學號:");scanf("%ld",&StudentList[i].stu_num);printf("請輸入上機時間:");scanf("%d",&StudentList[i].time);}elseprintf("沒有查問到能夠改正的數(shù)據(jù)!");}voidDelete( ){inti;printf("請輸入要刪除信息的機號:");scanf("%d",&i);if(StudentList[i].time==0)printf("無需改正!");StudentList[i].time=0;strcpy(StudentList[i].name,"");word教育資料..}voidDispallmoney( ){inti,money;printf("請輸入結(jié)賬機號:");scanf("%d",&i);money=2*StudentList[i].time;//計費采納公式:時間*每次的花費,簡單計算printf("您的上機花

溫馨提示

  • 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. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論