保安休息時間排班系統(tǒng)_第1頁
保安休息時間排班系統(tǒng)_第2頁
保安休息時間排班系統(tǒng)_第3頁
保安休息時間排班系統(tǒng)_第4頁
保安休息時間排班系統(tǒng)_第5頁
已閱讀5頁,還剩21頁未讀 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、 計算機(jī)學(xué)院信息管理與信息系統(tǒng)專業(yè)程序設(shè)計綜合課程設(shè)計報告 (2010/2011學(xué)年 第一學(xué)期)學(xué)生姓名: 章士倩學(xué)生班級: 信管092001班學(xué)生學(xué)號: 200920020132指導(dǎo)教師: 趙紅燕 2011年1月 8日目錄第一章 課程設(shè)計的目的和要求11.1課程設(shè)計的目的11.2課程設(shè)計的目標(biāo)11.3課程設(shè)計要求2第二章 課程設(shè)計任務(wù)內(nèi)容32.1背景32.2任務(wù)內(nèi)容3第三章 詳細(xì)設(shè)計說明43.1 模塊描述43.2 總體結(jié)構(gòu)流程圖53.3 主函數(shù)的流程圖63.4 管理員登錄函數(shù)的流程圖73.5保安登錄函數(shù)的流程圖8第四章 軟件使用說明及運行結(jié)果94.1使用說明94.2 運行結(jié)果9主函數(shù)調(diào)試圖9

2、管理員登錄調(diào)試圖10保安登錄調(diào)試圖12第五章 課程設(shè)計心得與體會13附錄1:參考文獻(xiàn)15附錄2:程序清單16保安休息時間排班系統(tǒng)第一章 課程設(shè)計的目的和要求1.1課程設(shè)計的目的C+課程設(shè)計的主要目的是根據(jù)課堂講授內(nèi)容,學(xué)生做相應(yīng)的自主練習(xí),在進(jìn)行課程設(shè)計的過程中,消化自己所學(xué)的內(nèi)容,使得課堂教學(xué)與實驗實踐之間關(guān)系更為密切,同時也培養(yǎng)綜合運用C+程序設(shè)計課程所學(xué)到的知識和編寫C+程序解決實際問題的能力,以及良好的程序設(shè)計習(xí)慣。通過課程設(shè)計的訓(xùn)練,學(xué)生了解程序設(shè)計的基本開發(fā)過程,掌握編寫、調(diào)試和測試C+語言程序的基本技巧,充分理解結(jié)構(gòu)化程序設(shè)計的基本方法,熟悉運用結(jié)構(gòu)化程序設(shè)計的方法。1.2課程設(shè)

3、計的目標(biāo)本課程設(shè)計的目標(biāo):1. 鞏固和加深學(xué)生對C+語言課程的基本知識的理解和掌握;2. 掌握C+語言編程和程序調(diào)試的基本技能;3. 掌握利用C+語言進(jìn)行軟件設(shè)計的方法;4. 提高書寫程序設(shè)計說明文檔的能力;5. 提高運用C+語言解決實際問題的能力。1.3課程設(shè)計要求基本要求:1. 分析課程設(shè)計題目的要求;2. 對系統(tǒng)功能模塊進(jìn)行分析,寫出詳細(xì)設(shè)計說明文檔;3. 編寫程序代碼,調(diào)試程序使其能正確運行;4. 設(shè)計完成的軟件要便于操作和使用;5. 設(shè)計完成后提交課程設(shè)計報告。第二章 課程設(shè)計任務(wù)內(nèi)容2.1背景如今是信息高速發(fā)展的時代,我們已經(jīng)進(jìn)入了信息社會。作為計算機(jī)專業(yè)的學(xué)生,我們更應(yīng)該了解信息

4、的重要性,而電腦是當(dāng)今社會的重要交流工具。使用計算機(jī)進(jìn)行信息控制,不僅提高了工作效率,而且大大的提高了其安全性。作為電腦操作者,動手能力無疑是最重要的環(huán)節(jié),課程設(shè)計就是鍛煉動手能力的不錯平臺。作為高科技人才,我們必須會運用C+,編寫應(yīng)用程序,是一個計算機(jī)學(xué)院學(xué)生必備的技能。無論是以后的工作,還是現(xiàn)在的學(xué)習(xí),都要求我們能夠做好課程設(shè)計。保安人員休息時間安排系統(tǒng)是一個簡單的軟件,通過它,可以讓我們掌握一個完整系統(tǒng)的設(shè)計和實現(xiàn)的方法,鞏固所學(xué)的程序設(shè)計的知識。2.2任務(wù)內(nèi)容下面是本程序的具體功能要求:1、 管理員和保安通過輸入不同的信息進(jìn)入不同的界面;2、 保安通過輸入信息查詢所有的休息時間安排情況

5、;3、 管理員查詢所有保安的休息時間安排情況;4、 管理員輸入每個保安自己認(rèn)為適合的休息日,并進(jìn)行判斷。第三章 詳細(xì)設(shè)計說明該程序使得管理員能夠輸入每個保安選擇的休息日期,然后經(jīng)過程序運算分析,輸出所有的排班情況。同時程序也可以讓保安人員只能看見排班情況而不能進(jìn)行修改相關(guān)信息。3.1 模塊描述1. 主函數(shù)主函數(shù)為無返回值空類型函數(shù),主要功能是實現(xiàn)登錄界面。2. 管理員登錄函數(shù) 此函數(shù)為無返回值空類型函數(shù),主要功能是通過調(diào)用文件生成函數(shù)、轉(zhuǎn)換函數(shù)和判斷七個變量是否兩兩相等的函數(shù)輸入保安自己認(rèn)為合適的休息時間,并輸出所有的休息時間排班情況。其參數(shù)為文件名char file_name30。3. 文件

6、生成函數(shù) 此函數(shù)為無返回值空類型函數(shù),主要功能是通過輸入數(shù)據(jù)存儲的文件名打開文件。其參數(shù)有文件名char file_name。4. 轉(zhuǎn)換函數(shù) 此函數(shù)為有返回值的函數(shù),主要功能是將字符轉(zhuǎn)換為整型,并返回整型值。其參數(shù)為char cha。5. 判斷七個變量是否兩兩相等的函數(shù) 此函數(shù)為有返回值的函數(shù),主要功能是判斷變量是否兩兩相 等。其參數(shù)為七個整型形參。6. 保安登錄函數(shù) 此函數(shù)為無返回值空類型函數(shù),主要功能是輸出所有的保安休息時間排班情況。開始3.2 總體結(jié)構(gòu)流程圖登錄界面保安人員管理人員所有保安休息時間安排信息輸入保安休息信息所有保安休息時間安排情況圖3-1 總體結(jié)構(gòu)流程圖 管理員登錄后與保安

7、人員登錄后的界面不同。管理員可以修改相關(guān)的保安信息,而保安人員卻不能,他只能查看自己的休息時間信息。3.3 主函數(shù)的流程圖 根據(jù)界面提示,輸入字符k,進(jìn)入所需要的界面,其流程圖如下所示:開始輸出歡迎使用排班系統(tǒng)輸入字符k顯示:管理員:P保安:S退出:et調(diào)用保安登錄函數(shù)退出調(diào)用管理員登錄函數(shù)其他PSe這是一個員工休息時間安排的程序請查看所有排班情況圖3-2 主函數(shù)流程圖3.4 管理員登錄函數(shù)的流程圖 根據(jù)要求輸入數(shù)據(jù)存儲的文件名打開文件,然后輸入保安人員自己認(rèn)為合適的休息日,經(jīng)判斷后輸入完成后輸出所有的休息時間排班情況。函數(shù)流程圖如下所示:開始調(diào)用文件生成函數(shù)輸入所有保安認(rèn)為合適的休息日調(diào)用判

8、斷七個變量是否兩兩相等的函數(shù)YN不合理合理輸出所有方案結(jié)束圖3-3管理員登錄函數(shù)流程圖3.5保安登錄函數(shù)的流程圖 保安登錄函數(shù)是一個輸出所有的保安休息時間排班情況的函數(shù),流程圖如下所示:開始調(diào)用bool IsChecked(int p)經(jīng)循環(huán)判斷輸入的休息日是否合理不合理合理輸出結(jié)果為空輸出所有的排班情況結(jié)束圖3-4 保安登錄函數(shù)流程圖第四章 軟件使用說明及運行結(jié)果4.1使用說明使用該系統(tǒng),打開之后首先進(jìn)入初始界面,“歡迎使用排班查詢與管理系統(tǒng)”以及下面的選項,按選擇提示進(jìn)行選擇,比如管理員,則選擇p,并在“請選擇您所需要的服務(wù)”之后輸入“p”,輸入之后提示輸入數(shù)據(jù)存儲的文件名,按提示進(jìn)行輸入

9、,經(jīng)過系統(tǒng)加載成功后,按提示輸入所有保安自己認(rèn)為合適的休息日,程序經(jīng)分析后輸出所有的休息時間安排情況。保安,則是選擇s,輸入后按下”Enter”鍵之后屏幕上會直接顯示所有排班情況。若選擇e,則會退出。4.2 運行結(jié)果主函數(shù)調(diào)試圖執(zhí)行void main()/*主函數(shù)*/,其調(diào)試圖如下所示:圖4-1 主函數(shù)調(diào)試圖4.2.2管理員登錄調(diào)試圖 執(zhí)行void manager()/*管理員登錄函數(shù)*/ 通過輸入p進(jìn)入管理員登錄界面,輸入數(shù)據(jù)存儲的文件名,經(jīng)加載成功后輸入保安自己認(rèn)為合適的休息日,最終得到所有可能的排班情況。其調(diào)試圖如下所示:圖4-2-1管理員登錄函數(shù)調(diào)試圖1圖4-2-2管理員登錄函數(shù)調(diào)試圖

10、2圖4-2-3管理員登錄函數(shù)調(diào)試圖34.2.3保安登錄調(diào)試圖執(zhí)行void security()/*保安登錄函數(shù)*/,其函數(shù)調(diào)試圖如下所示:圖4-3 保安登錄調(diào)試圖第五章 課程設(shè)計心得與體會這次課程設(shè)計歷時三個多星期。剛開始時,思緒全無,舉步維艱,對于理論知識學(xué)習(xí)不夠扎實的我深感“書到用時方恨少”,再加上因為已經(jīng)過去一個學(xué)期了,期間又沒有怎么看書,考完試就放下了,許多知識都已經(jīng)忘記了。于是我重拾教材與實驗手冊,對知識系統(tǒng)而全面進(jìn)行了梳理,遇到難處先是自己思考再向同學(xué)老師請教,終于基本掌握了基本理論知識。最終我完成了這個C+語言程序的設(shè)計,認(rèn)真完成了課程設(shè)計報告。我做的是保安休息時間安排系統(tǒng),雖然

11、是很簡單的一個小程序,但對我一個C+學(xué)得不怎么好的人來說卻是一個很大的困難,更何況這是第一次做課程設(shè)計。所以,在得知自己要做這個課程設(shè)計時,真不知道應(yīng)該如何開始。這時才知道上課時老師們不厭其煩的教導(dǎo)是多么的寶貴,這時才后悔上課時自己沒有認(rèn)真聽課??墒乾F(xiàn)在一切都晚了,現(xiàn)在要做的是拿出書本重新復(fù)習(xí)一下。經(jīng)過幾天的努力,大體上把課本上的知識點看了一遍,然后在網(wǎng)上找了一下相關(guān)資料,體會別人是如何編程?;仡欉@次課程設(shè)計,我收獲了很多。首先,在這過程中,收獲知識,提高能力的同時,我也學(xué)到了很多人生的哲理,懂得怎么樣去制定計劃,如何去實現(xiàn)這個計劃;其次,在設(shè)計過程中,我認(rèn)識到學(xué)好計算機(jī)要重視實踐操作,不僅僅

12、是學(xué)習(xí)C+語言,還是其它的語言,以及其它的計算機(jī)方面的知識都要重在實踐;最后,我還大致了解了軟件開發(fā)的大體過程及各個步驟,這對將來的學(xué)習(xí)和工作是很有幫助的。對于計算機(jī)專業(yè)的大學(xué)生來說,積累實戰(zhàn)經(jīng)驗是一項極其重要的內(nèi)容,很可能成為將來就業(yè)的敲門磚。而綜合課程設(shè)計就是積累實戰(zhàn)經(jīng)驗的一個過程,雖然程序的規(guī)模不是很大,但是能夠讓我們盡早地認(rèn)識軟件開發(fā)的重要性和必要性,為將來的就業(yè)打下堅實的基礎(chǔ)。 附錄1:參考文獻(xiàn)1、譚浩強(qiáng)編著.C+程序設(shè)計.北京:清華大學(xué)出版社,20042、Decoder編著.C+程序設(shè)計.北京:中國鐵道出版社,20023、夏云慶編著.Visual C+ 6.0數(shù)據(jù)庫高級編程.北京:

13、希望電子出版社 20024、伍俊良編著:Visual C+6.0課程設(shè)計與系統(tǒng)開發(fā)案例.北京:清華大學(xué)出版社,2002.115、(美)戴特爾(Deitel,H.M.)等編著,張引等譯:C+大學(xué)基礎(chǔ)教程(第五版),北京:電子工業(yè)出版社,2006.6附錄2:程序清單以下是保安休息時間安排系統(tǒng)的源代碼:#include <iostream>#include <string>#include <fstream>using namespace std;void manager();/*管理員登錄函數(shù)聲明*/void security(); /*保安登錄函數(shù)聲明*/vo

14、id file_edit(ofstream& fout,char file_name); /文件生成函數(shù)聲明int compare_values(int a,int b,int c,int d,int e,int f,int g);/判斷七個變量是否兩兩相等的函數(shù)聲明int exchange(char cha);/字符轉(zhuǎn)換為整型的函數(shù)聲明void load();void main()/*主函數(shù)*/char k;cout<<" * "<<endl;cout<<" 歡迎使用排班查詢與管理系統(tǒng)! "<<e

15、ndl;cout<<" 制作人:章士倩 時間:2010-12-28 "<<endl;cout <<" * "<<endl<<endl;cout <<" 請選擇您所需要的服務(wù) "<<endl; cout<<" p:管理員n s:保安n e:退出n"<<endl;cin>>k;switch(k)case 'p':cout<<"這是一個員工休息時間安排的程序。n&q

16、uot;<<endl;manager ();break;case 's':cout<<"請查看所有排班情況:n"<<endl;security ();break;case 'e':exit(0);default:cout<<"輸入信息錯誤!n請輸入字母p或s或e.n"<<endl;break;void manager()/*管理員登錄函數(shù)*/char file_name30; ofstream fout; /int choose;file_edit(fout,fi

17、le_name); /調(diào)用文件生成函數(shù) /*cout << "1:選擇自己的休息日" << endl; cout << "2:顯示排班的結(jié)果"<< endl; cout << "請選擇:" cin >> choose; switch(choose) case 1:*/load();system("cls");system("date /t");system("time /t");system("

18、color fc");loop:int a77=0,i,j; string select7;string name="星期日","星期一","星期二","星期三","星期四","星期五","星期六"for(j=0;j<7;j+) / 進(jìn)行數(shù)據(jù)輸入switch(j)case 0:cout<<"趙"break;case 1:cout<<"錢"break;case 2:cout<

19、;<"孫"break;case 3:cout<<"李"break;case 4:cout<<"周"break;case 5:cout<<"吳"break;case 6:cout<<"陳"break; cout<<"選擇的休息日(0為周日,16為周一到周六):"cin>>selectj;for(i=0;i<7;i+) /對特定元素賦值為1for(j=0;j<selecti.length()

20、;j+)aiexchange(selectij)=1;/調(diào)用轉(zhuǎn)換函數(shù),將字符型數(shù)據(jù)轉(zhuǎn)化為整型int b77;int m7=0,0,0,0,0,0,0;for(i=0;i<7;i+) /將輸入數(shù)據(jù)傳給二維數(shù)組b77for(j=0;j<7;j+)if(aij=1)bimi=j;mi=mi+1; /用mi記錄bi中有用數(shù)據(jù)個數(shù)cout<<"ntt"<<"經(jīng)分析結(jié)果為:n"int x1,x2,x3,x4,x5,x6,x7;int count=0; /定義計數(shù)變量for(x1=0;x1<m0;x1+) /輸出每條記錄for

21、(x2=0;x2<m1;x2+)for(x3=0;x3<m2;x3+)for(x4=0;x4<m3;x4+)for(x5=0;x5<m4;x5+)for(x6=0;x6<m5;x6+)for(x7=0;x7<m6;x7+)if(!(compare_values(b0x1,b1x2,b2x3,b3x4,b4x5,b5x6,b6x7)/調(diào)用判斷七個變量是否兩兩相等的函數(shù)count+;cout<<"Solution:"<<count<<":n" /輸出結(jié)果到屏幕<<"

22、趙"<<"t"<<"錢"<<"t"<<"孫"<<"t"<<"李"<<"t"<<"周"<<"t"<<"吳"<<"t"<<"陳"<<endl;cout << "="

23、<< endl; cout<<nameb0x1<<"t"<<nameb1x2<<"t"<<nameb2x3<<"t"<<nameb3x4<<"t"<<nameb4x5<<"t"<<nameb5x6<<"t"<<nameb6x7<<endl<<endl;fout<<"

24、Solution:"<<count<<":n" /輸出結(jié)果到文件中保存<<"趙"<<"t"<<"錢"<<"t"<<"孫"<<"t"<<"李"<<"t"<<"周"<<"t"<<"吳"<<

25、;"t"<<"陳"<<endl; fout<<nameb0x1<<"t"<<nameb1x2<<"t"<<nameb2x3<<"t"<<nameb3x4<<"t"<<nameb4x5<<"t"<<nameb5x6<<"t"<<nameb6x7<<e

26、ndl<<endl;if(count=0) /判斷是否重新開始cout<<"此方案行不通,請重新輸入。"<<endl;goto loop;elsecout<<"經(jīng)分析總共有"<<count<<"種方案"<<endl;int exchange(char cha)/字符轉(zhuǎn)換為整型的函數(shù)定義char q2;q0=cha;return atoi(q); /字符轉(zhuǎn)換為整型int compare_values(int a,int b,int c,int d,int

27、 e,int f,int g)/判斷七個變量是否兩兩相等的函數(shù)定義if(a=b|a=c|a=d|a=e|a=f|a=g|b=c|b=d|b=e|b=f|b=g|c=d|c=e|c=f|c=g|d=e|d=f|d=g|e=f|e=g|f=g) /判斷變量是否兩兩相等return 1;elsereturn 0;void file_edit(ofstream& fout,char file_name)/文件生成函數(shù)定義cout<<"請輸入數(shù)據(jù)存儲的文件名:"cin>>file_name;fout.open(file_name,ios:app);if

28、(fout.fail() /判斷是否能打開文件cout<<"打開文件失敗。"<<endl;exit(1);fout<<endl<<endl; void load() system("cls");system("date /t");system("time /t");system("color 1f");cout << "nnn"cout << "nnnntttt 系統(tǒng)加載中."cout

29、 << "nnnnt " ;for (int i0=0;i0<10000000;i0+)if(i0%1000000=0)for(int j0=0;j0<10000000;j0+)if(j0%10000000=0)cout << " "system("color 1f");cout << "系統(tǒng)" ;for (int i1=0;i1<10000000;i1+)if(i1%1000000=0)for(int j1=0;j1<10000000;j1+)if(j1

30、%10000000=0)cout << ">"system("color 2f");cout << "加載"for (int i2=0;i2<10000000;i2+)if(i2%1000000=0)for(int j2=0;j2<10000000;j2+)if(j2%10000000=0)cout << ">"system("color 3f");cout << "成功." for (int i3=0;

31、i3<10000000;i3+)if(i3%1000000=0)for(int j3=0;j3<10000000;j3+)if(j3%8000000=0)cout << " "bool IsChecked(int p) int i, j; for (i=0; i<7; +i) for (j=0; j<7&&pj!=i; +j); /*從0到6循環(huán),如果數(shù)組中缺少0-6的任何一位數(shù)字,則返回0,如果0-6億權(quán),則返回。*/ if (j = 7) return false; return true; /*這個函數(shù)的作用是確保0-6這7個數(shù)字均包含在該書組中*/ void security()/*保安登錄函數(shù)*/ char *WEEK7 = "日", "一", "二", "三&

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論