數(shù)據(jù)結(jié)構(gòu)課程設(shè)計(jì)考務(wù)管理程序的設(shè)計(jì)與實(shí)現(xiàn)_第1頁(yè)
數(shù)據(jù)結(jié)構(gòu)課程設(shè)計(jì)考務(wù)管理程序的設(shè)計(jì)與實(shí)現(xiàn)_第2頁(yè)
數(shù)據(jù)結(jié)構(gòu)課程設(shè)計(jì)考務(wù)管理程序的設(shè)計(jì)與實(shí)現(xiàn)_第3頁(yè)
數(shù)據(jù)結(jié)構(gòu)課程設(shè)計(jì)考務(wù)管理程序的設(shè)計(jì)與實(shí)現(xiàn)_第4頁(yè)
數(shù)據(jù)結(jié)構(gòu)課程設(shè)計(jì)考務(wù)管理程序的設(shè)計(jì)與實(shí)現(xiàn)_第5頁(yè)
已閱讀5頁(yè),還剩22頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1、xx 學(xué) 院數(shù)據(jù)結(jié)構(gòu)數(shù)據(jù)結(jié)構(gòu)課 程 設(shè) 計(jì)設(shè)計(jì)題目:設(shè)計(jì)題目: 考務(wù)管理程序的設(shè)計(jì)與實(shí)現(xiàn)考務(wù)管理程序的設(shè)計(jì)與實(shí)現(xiàn) 系系 別別 班級(jí)班級(jí) 學(xué)生姓名學(xué)生姓名 學(xué)號(hào)學(xué)號(hào) 指導(dǎo)教師指導(dǎo)教師 職稱職稱 講師講師 起止日期:起止日期: 2011 年年 12 月月 19 日起日起至至 2011 年年 12 月月 23 日止日止xx 學(xué) 院數(shù)據(jù)結(jié)構(gòu)數(shù)據(jù)結(jié)構(gòu)課程設(shè)計(jì)任務(wù)書課程設(shè)計(jì)題目:課程設(shè)計(jì)題目: 考務(wù)管理程序的設(shè)計(jì)與實(shí)現(xiàn)考務(wù)管理程序的設(shè)計(jì)與實(shí)現(xiàn) 系系 別別 _ 班級(jí)信管班級(jí)信管 學(xué)生姓名學(xué)生姓名 學(xué)學(xué) 號(hào)號(hào) 指導(dǎo)教師指導(dǎo)教師 職職 稱稱 講師講師 課程設(shè)計(jì)進(jìn)行地點(diǎn):課程設(shè)計(jì)進(jìn)行地點(diǎn): 實(shí)驗(yàn)室實(shí)驗(yàn)室 c407

2、 任任 務(wù)務(wù) 下下 達(dá)達(dá) 時(shí)時(shí) 間:間: 2011 年年 12 月月 19 日日起止日期:起止日期: 2011 年年 12 月月 19 日起日起至至 2011 年年 12 月月 23 日止日止一、課程設(shè)計(jì)的目的一、課程設(shè)計(jì)的目的課程設(shè)計(jì)比教學(xué)實(shí)驗(yàn)復(fù)雜一些,涉及的深度廣些并更加接近實(shí)用。目的一方面是通過課程設(shè)計(jì)的綜合訓(xùn)練,幫助學(xué)生系統(tǒng)掌握該門課程的主要內(nèi)容,更好地完成教學(xué)任務(wù);另一方面,通過課程設(shè)計(jì)使學(xué)生進(jìn)一步加深對(duì)課程內(nèi)容的理解,利用程序設(shè)計(jì)的基本思想進(jìn)行程序的開發(fā),進(jìn)一步掌握編程方法和技巧,培養(yǎng)學(xué)生的實(shí)際分析問題、編程和動(dòng)手能力,提高學(xué)生用程序的思想來解決實(shí)際問題的能力。二、課程設(shè)計(jì)要求二、

3、課程設(shè)計(jì)要求1、遵守課程設(shè)計(jì)時(shí)間安排,按時(shí)上機(jī)。2、認(rèn)真查找相關(guān)的資料,理解相關(guān)的知識(shí)內(nèi)容。3、認(rèn)真調(diào)試程序,組員之間應(yīng)加強(qiáng)團(tuán)隊(duì)合作,取長(zhǎng)補(bǔ)短,共同分析問題解決問題。4、根據(jù)設(shè)計(jì)題目規(guī)定的具體要求進(jìn)行具體規(guī)范操作。5、認(rèn)真撰寫課程設(shè)計(jì)報(bào)告,避免相互抄襲。三、對(duì)課程設(shè)計(jì)說明書撰寫內(nèi)容、格式、字?jǐn)?shù)的要求三、對(duì)課程設(shè)計(jì)說明書撰寫內(nèi)容、格式、字?jǐn)?shù)的要求1課程設(shè)計(jì)報(bào)告是體現(xiàn)和總結(jié)課程設(shè)計(jì)成果的載體,主要內(nèi)容包括:設(shè)計(jì)題目、設(shè)計(jì)目的、實(shí)驗(yàn)器材、設(shè)計(jì)原理及內(nèi)容、設(shè)計(jì)具體步驟、遇到的問題及解決方法、設(shè)計(jì)總結(jié)、參考文獻(xiàn)等。一般不應(yīng)少于 3000 字。2在適當(dāng)位置配合相應(yīng)的實(shí)驗(yàn)原理圖、實(shí)驗(yàn)數(shù)據(jù)表、問題分析流程圖等

4、圖表進(jìn)行說明。應(yīng)做到文理通順,內(nèi)容正確完整,書寫工整,裝訂整齊。3設(shè)計(jì)總結(jié)部分主要寫本人完成工作簡(jiǎn)介以及自己的設(shè)計(jì)體會(huì),包括通過課程設(shè)計(jì)學(xué)到了什么,哪里遇到了困難,解決的辦法以及今后的目標(biāo)。4課程設(shè)計(jì)報(bào)告打印時(shí)采用 a4 紙,頁(yè)邊距均為 20mm,正文采用宋體小四號(hào)字,行間距 20 磅。文中大標(biāo)題采用黑體小三號(hào)字,一級(jí)節(jié)標(biāo)題采用黑體四號(hào)字,二級(jí)節(jié)標(biāo)題采用黑體小四號(hào)字,表題與圖題采用宋體五號(hào)字。5課程設(shè)計(jì)報(bào)告裝訂順序?yàn)椋悍饷?、任?wù)書、成績(jī)?cè)u(píng)定表、目錄、正文、參考文獻(xiàn)。四、設(shè)計(jì)題目四、設(shè)計(jì)題目五、成績(jī)?cè)u(píng)定五、成績(jī)?cè)u(píng)定評(píng)定成績(jī)根據(jù)系統(tǒng)功能、界面效果,系統(tǒng)操作的方便性、靈活性等方面進(jìn)行,主要從三個(gè)方面

5、進(jìn)行考慮:1、對(duì)問題的理解程度;2、成果的好壞;3、設(shè)計(jì)報(bào)告。評(píng)定結(jié)果:不及格、及格、中、良好、優(yōu)秀。 六、時(shí)間進(jìn)度安排六、時(shí)間進(jìn)度安排順序階段日期計(jì) 劃 完 成 內(nèi) 容備注12011.11.19查閱資料,撰寫讀書筆記22011.11.20系統(tǒng)設(shè)計(jì) ,數(shù)據(jù)結(jié)構(gòu)設(shè)計(jì),算法設(shè)計(jì)32011.12.21編程并上機(jī)調(diào)試42011.12.22撰寫報(bào)告52011.12.23驗(yàn)收程序,提交設(shè)計(jì)報(bào)告書七、主要參考文獻(xiàn)七、主要參考文獻(xiàn)xxxx 學(xué)學(xué) 院院 數(shù)數(shù) 學(xué)學(xué) 與與 計(jì)計(jì) 算算 機(jī)機(jī) 科科 學(xué)學(xué) 系系考勤管理程序設(shè)計(jì)與實(shí)現(xiàn)考勤管理程序設(shè)計(jì)與實(shí)現(xiàn)課程設(shè)計(jì)成績(jī)?cè)u(píng)定表課程設(shè)計(jì)成績(jī)?cè)u(píng)定表教研室:教研室: 信管教研室

6、信管教研室 班級(jí):班級(jí): 學(xué)生姓名:學(xué)生姓名: 指指 導(dǎo)導(dǎo) 教教 師師 評(píng)評(píng) 審審 意意 見見評(píng)價(jià)內(nèi)容具 體 要 求權(quán)重評(píng) 分加權(quán)分調(diào) 研論 證能獨(dú)立查閱文獻(xiàn),收集資料;能制定課程設(shè)計(jì)方案和日程安排。0.15 54 43 32 2工作能力態(tài) 度工作態(tài)度認(rèn)真,遵守紀(jì)律,出勤情況是否良好,能夠獨(dú)立完成設(shè)計(jì)工作, 0.25 54 43 32 2工 作 量按期圓滿完成規(guī)定的設(shè)計(jì)任務(wù),工作量飽滿,難度適宜。0.25 54 43 32 2說明書的質(zhì) 量說明書立論正確,論述充分,結(jié)論嚴(yán)謹(jǐn)合理,文字通順,技術(shù)用語(yǔ)準(zhǔn)確,符號(hào)統(tǒng)一,編號(hào)齊全,圖表完備,書寫工整規(guī)范。0.55 54 43 32 2指導(dǎo)教師評(píng)審成績(jī)指

7、導(dǎo)教師評(píng)審成績(jī)(加權(quán)分合計(jì)乘以(加權(quán)分合計(jì)乘以 1212) 分分加權(quán)分合計(jì)加權(quán)分合計(jì)指指 導(dǎo)導(dǎo) 教教 師師 簽簽 名:名: 年年 月月 日日評(píng)評(píng) 閱閱 教教 師師 評(píng)評(píng) 審審 意意 見見評(píng)價(jià)內(nèi)容具 體 要 求權(quán)重評(píng) 分加權(quán)分查 閱文 獻(xiàn)查閱文獻(xiàn)有一定廣泛性;有綜合歸納資料的能力0.25 54 43 32 2工 作 量工作量飽滿,難度適中。0.55 54 43 32 2說明書的質(zhì) 量說明書立論正確,論述充分,結(jié)論嚴(yán)謹(jǐn)合理,文字通順,技術(shù)用語(yǔ)準(zhǔn)確,符號(hào)統(tǒng)一,編號(hào)齊全,圖表完備,書寫工整規(guī)范。0.35 54 43 32 2評(píng)閱教師評(píng)審成績(jī)?cè)u(píng)閱教師評(píng)審成績(jī)(加權(quán)分合計(jì)乘以(加權(quán)分合計(jì)乘以 8 8)分分

8、加權(quán)分合計(jì)加權(quán)分合計(jì)評(píng)評(píng) 閱閱 教教 師師 簽簽 名:名: 年年 月月 日日課課 程程 設(shè)設(shè) 計(jì)計(jì) 總總 評(píng)評(píng) 成成 績(jī)績(jī)分分目目 錄錄第一章第一章 緒論緒論.1 11.1 課題背景 .11.2 課題目的和要求 .11.3 課題意義 .1第二章第二章 系統(tǒng)分析系統(tǒng)分析.3 32.1 功能需求 .32.2 數(shù)據(jù)需求 .32.3 性能需求 .3第三章第三章 總體設(shè)計(jì)總體設(shè)計(jì).5 53.1 功能模塊設(shè)計(jì) .53.2 系統(tǒng)設(shè)計(jì)方案 .5第四章第四章 詳細(xì)設(shè)計(jì)詳細(xì)設(shè)計(jì).6 64.1 考生信息的輸入 .64.2 考試日程表的輸出 .7第五章第五章 調(diào)試與測(cè)試調(diào)試與測(cè)試.8 85.1 調(diào)試 .85.2 測(cè)試

9、 .8結(jié)束語(yǔ)結(jié)束語(yǔ).9 9致謝致謝.1010參考文獻(xiàn)參考文獻(xiàn).1111附錄附錄 1 1用戶手冊(cè)用戶手冊(cè) .1212附錄附錄 2 2源程序源程序 .1414摘 要20 世紀(jì)末,隨著計(jì)算機(jī)科學(xué)的發(fā)展,數(shù)據(jù)庫(kù)技術(shù)在 internet 中的應(yīng)用越來越廣泛,為廣大網(wǎng)絡(luò)用戶提供了更加周到和人性化的服務(wù)。學(xué)生考務(wù)管理程序是信息管理系統(tǒng)的一個(gè)子系統(tǒng),一個(gè)基于單機(jī)版的系統(tǒng)。因?yàn)殡S著計(jì)算機(jī)技術(shù)的不斷進(jìn)步與發(fā)展,計(jì)算機(jī)已經(jīng)深入到人們?nèi)粘I畹拿總€(gè)角落,例如:政府部門,企事業(yè)單位,學(xué)校等等。該系統(tǒng)開發(fā)功能主要包括:管理員可以通過計(jì)算機(jī)設(shè)置學(xué)生考務(wù)管理程序,打印供學(xué)校及個(gè)人使用。該程序是使用 c 語(yǔ)言編寫的學(xué)生考務(wù)統(tǒng)計(jì)

10、程序。關(guān)鍵詞:考務(wù);考生基本信息;考試時(shí)間;考場(chǎng);查詢;第一章第一章 緒論緒論1.11.1 課題背景課題背景程序?qū)嵺`是本科生重要教學(xué)環(huán)節(jié)之一。通過程序?qū)嵺`,強(qiáng)化學(xué)生的計(jì)算機(jī)應(yīng)用技能,使學(xué)生驗(yàn)證、鞏固和充實(shí)所學(xué)的理論知識(shí), 加深對(duì)相關(guān)內(nèi)容的理解,拓寬知識(shí)面,培養(yǎng)學(xué)生的創(chuàng)新精神和實(shí)踐能力??紕?wù)管理程序是學(xué)校教務(wù)管理工作中一個(gè)比較重要的任務(wù),過多的考務(wù)管理工作給學(xué)校管理人員帶來了很大麻煩的。雖然原始的記錄方法在一定的程度上可以解決問題,可是現(xiàn)在計(jì)算機(jī)已經(jīng)走到了我們的生活,它的不足之處就顯而易見了。 考務(wù)管理程序,是一個(gè)對(duì)于考生的管理系統(tǒng), 不僅大大減少了考務(wù)管理人員大量的工作,而且還方便了老師和考生

11、對(duì)考試事項(xiàng)的查詢,只要通計(jì)算機(jī)登入本系統(tǒng)就能及時(shí)查詢考生的考務(wù)信息。這樣節(jié)省了大量人力物力,節(jié)省了寶貴的時(shí)間,大大提高了工作效率.用 c 語(yǔ)言進(jìn)行了該系統(tǒng)的編寫。操作上力爭(zhēng)實(shí)現(xiàn)人性化、合理化,滿足學(xué)校、老師、非計(jì)算機(jī)管理人員的使用和查看。1.21.2 課題目的和要求課題目的和要求目的:要求實(shí)現(xiàn)-“考務(wù)管理程序”記錄考生的基本信息,考試時(shí)間,考試課程,考試教室。要求: 1.錄入考生的基本信息;2輸出考試日程表;3查詢某個(gè)考生的基本信息;4查詢某個(gè)考生的考場(chǎng)及考試時(shí)間; 1.3 課題意義程序?qū)嵺`是本科生重要教學(xué)環(huán)節(jié)之一。通過程序?qū)嵺`,強(qiáng)化考生的計(jì)算機(jī)應(yīng)用技能,使考生驗(yàn)證、鞏固和充實(shí)所學(xué)的理論知識(shí),

12、 加深對(duì)相關(guān)內(nèi)容的理解,拓寬知識(shí)面,培養(yǎng)考生的創(chuàng)新精神和實(shí)踐能力。 考務(wù)管理程序可以大大減緩考生考務(wù)人員的工作量, 方便了對(duì)考務(wù)的管理。第二章第二章 系統(tǒng)分析需求分析是軟件定義時(shí)期的最后一個(gè)階段,它更是開發(fā)一個(gè)好的軟件的基礎(chǔ)。它的基本任務(wù)是準(zhǔn)確地回答“需要此軟件的人都需要哪些功能?”這個(gè)問題。需求分析的主要任務(wù)是確定系統(tǒng)必須完成哪些工作,也就是對(duì)目標(biāo)系統(tǒng)提出完整的準(zhǔn)確的具體的清晰的要求,確定系統(tǒng)必須具有的功能和性能,系統(tǒng)要求的運(yùn)行環(huán)境,以及預(yù)測(cè)系統(tǒng)發(fā)展的前景開發(fā)一個(gè)好的軟件,進(jìn)行深入細(xì)致的可行性研究是極其必要的,而且還必須做大量的,全,并仔細(xì)分析系統(tǒng)中的數(shù)據(jù),以便完善良好的軟件環(huán)境。在需求分析

13、階段系統(tǒng)分析員將仔細(xì)研究軟件所需要完成的具體功能。2.12.1 功能需求功能需求本系統(tǒng)主要是考務(wù)人員對(duì)考試的管理。該系統(tǒng)需要有建立,查詢,載入,儲(chǔ)存,退出功能,利用查詢功能分開查看某一考生的基本信息或者某一個(gè)門的考試時(shí)間,方便考務(wù)人員的管理。2.22.2 數(shù)據(jù)需求數(shù)據(jù)需求本系統(tǒng)主要涉及的數(shù)據(jù)有考生基本信息??忌拘畔荚嚂r(shí)間,考生姓名,考試科目,考場(chǎng)。2.32.3 性能需求性能需求 要求系統(tǒng)具有可靠性,速度要快。第三章第三章 總體設(shè)計(jì)3.13.1 功能模塊設(shè)計(jì)功能模塊設(shè)計(jì)根據(jù)分析整個(gè)系統(tǒng)主要?jiǎng)澐譃?3 個(gè)功能模塊,分別執(zhí)行要求中的功能。數(shù)據(jù)管理中實(shí)現(xiàn)對(duì)考生的基本信息、考場(chǎng)基本信息、考生考

14、試時(shí)間的查詢、輸入、儲(chǔ)存。查詢管理通過根據(jù)考生姓名,考試課程, 考試時(shí)間等信息,查詢單個(gè)考生的考試信息。功能模塊圖如圖 1 所示??紕?wù)管理系統(tǒng) 考生基本信息輸入考試日程的查詢考試時(shí)間及考場(chǎng)輸入及輸出圖 1 功能模塊圖3.23.2 系統(tǒng)設(shè)計(jì)方案系統(tǒng)設(shè)計(jì)方案此程序是過程性語(yǔ)言設(shè)計(jì)的。運(yùn)用多種條件語(yǔ)句,主體采用的是鏈表指針。系統(tǒng)的設(shè)計(jì)采用了數(shù)組語(yǔ)句、選擇語(yǔ)句和循環(huán)語(yǔ)句,在需要處理大量同類數(shù)據(jù)時(shí),這樣就使程序書寫更加簡(jiǎn)潔。程序使用了布爾函數(shù)。選擇語(yǔ)句多采用 if 多分支選擇結(jié)構(gòu)與 switch 語(yǔ)句。首先計(jì)算switch 表達(dá)式,然后在 caes 子句中尋找值相等的常量表達(dá)式,并以此為入口符號(hào),由此開

15、始順序執(zhí)行。循環(huán)語(yǔ)句采用了 for 語(yǔ)句等、do-while 語(yǔ)句,for 語(yǔ)句用于已知循環(huán)次數(shù)的循環(huán)結(jié)構(gòu),括號(hào)中的三個(gè)量分別用來表示循環(huán)變量初值、循環(huán)終值和循環(huán)增量。開始int i=0; char name20;char testid9; structstunode * next;printf(“請(qǐng)輸入考生信息:”); scanf(”%s%d” name,testid)i=num 輸出考生準(zhǔn)考號(hào)結(jié)束考生不存在第四章第四章 詳細(xì)設(shè)計(jì)詳細(xì)設(shè)計(jì)4.14.1 考生基本的輸入信息考生基本的輸入信息考生基本的輸入信息如圖 2 所示。 圖 2 輸入相應(yīng)的信息4.24.2 輸入日期查找課程安排輸入日期查找課

16、程安排根據(jù)輸入日期查詢考程 如圖 3 所示。 y n n y y n 圖 3 考程查詢 開始t=1;cmdnum=1&cmdnum=2&cmdnum=3printf(“請(qǐng)輸入考試日期:”) scanf(“%d”, cmdnum)cmdnum=1printf(1 號(hào)上午考c+下午考?xì)v史”)cmdnum=2printf(2 號(hào)上午考英語(yǔ)下午考管理)cmdnum=3printf(輸入日期非考試日期)printf(3 號(hào)上午數(shù)據(jù)結(jié)構(gòu)下午考數(shù)學(xué)) 結(jié)束第五章第五章 調(diào)試與測(cè)試調(diào)試與測(cè)試5.15.1 調(diào)試調(diào)試此程序是用 vc 程序編寫,調(diào)試過程中在菜單中選擇乍看學(xué)生曠課記錄,程序不執(zhí)行。因?yàn)闆]有加入選擇的

17、 case 語(yǔ)句。后在 switch 后加一個(gè) case 就可以自動(dòng)執(zhí)行了。5.25.2 測(cè)試測(cè)試由于程序的源代碼是在記事本文本中復(fù)制到 vc 中的,有些 printf 后比較長(zhǎng)的語(yǔ)句會(huì)被放到下一行,使程序出現(xiàn)多處類似的錯(cuò)誤,經(jīng)過在 vc 中的修改,程序得以正常的運(yùn)行。5.25.2 結(jié)論結(jié)論課程設(shè)計(jì)順利完成,題目所要求的功能也都一一實(shí)現(xiàn),可以對(duì)學(xué)生的缺課信息進(jìn)行添加,修改,刪除以及查詢的顯示。不過這個(gè)程序還有些不夠完善,例如不能往當(dāng)前文件夾中的 txt 文件中添加記錄。結(jié)束語(yǔ)結(jié)束語(yǔ)整個(gè)系統(tǒng)的設(shè)計(jì)過程對(duì)于我來說算是個(gè)學(xué)習(xí)、探索的過程,通過實(shí)踐和對(duì)比別人開發(fā)程序的過程。在整個(gè)設(shè)計(jì)過程中,出現(xiàn)過很多

18、的問題,很多繁瑣的東西都需要反復(fù)的修改,主要是前期工作不徹底,對(duì)系統(tǒng)的需求分析的要求認(rèn)識(shí)不夠清楚,使得在后邊的工作中不得不經(jīng)常反復(fù)去修改。使我體會(huì)到設(shè)置中每一步的重要性。所以在分析一個(gè)問題時(shí),我們需要站在一個(gè)有遠(yuǎn)見的高度。通過此次設(shè)計(jì),我不但對(duì) c 語(yǔ)言編程有了更深刻的認(rèn)識(shí),積累了使用軟件工程的思想來開發(fā)軟件的經(jīng)驗(yàn),更重要的是學(xué)會(huì)了在對(duì)待問題時(shí)應(yīng)該考慮到哪些方面和怎么解決問題。雖然時(shí)間緊迫但我學(xué)會(huì)了很多,也感到自身知識(shí)的貧乏,希望在日后的努力中能做出更完善的系統(tǒng)。致致 謝謝這次數(shù)據(jù)結(jié)構(gòu)課程設(shè)計(jì),對(duì)于我來說是一個(gè)挑戰(zhàn)。我在 c 語(yǔ)言的學(xué)習(xí)過程中的困難并不只在程序的設(shè)計(jì)中有所體現(xiàn),每一個(gè)函數(shù)都設(shè)計(jì)

19、好了,也調(diào)試好了,把它們分開運(yùn)行并沒有錯(cuò)誤,但是當(dāng)把它們組合成一個(gè)程序時(shí),便是一個(gè)一個(gè)地出現(xiàn)錯(cuò)誤;把這個(gè)問題解決了,另一個(gè)新問題又來了。這不能不說是對(duì)知識(shí)的欠缺。通過這次的程序設(shè)計(jì),我懂得了無論什么事都要去做才會(huì)發(fā)現(xiàn)問題,才有可能去解決問題。對(duì)知識(shí)的學(xué)習(xí),不能潛償輒止,要深入去學(xué)習(xí),去了解,這樣才會(huì)有所收獲。有許多東西,許多事,不是想像中的那么容易,不去實(shí)踐,永遠(yuǎn)也不會(huì)有提高,尤其是學(xué)習(xí)計(jì)算機(jī)。同時(shí),在這次課程設(shè)計(jì)的過程中,我認(rèn)識(shí)到學(xué)好計(jì)算機(jī)要重視實(shí)踐操作,不僅僅是學(xué)習(xí) c 語(yǔ)言,還是其它的語(yǔ)言,以及其它的計(jì)算機(jī)方面的知識(shí)都要重在實(shí)踐,不能只是學(xué)習(xí)和重視書本上的理論知識(shí),所以日后在學(xué)習(xí)過程中,

20、我會(huì)更加注視實(shí)踐操作,使自己更好地學(xué)好計(jì)算機(jī)這門課程。 以前做實(shí)驗(yàn)題目的時(shí)候總是感覺很難,因?yàn)楦揪筒恢缽哪睦镩_始。這次課程設(shè)計(jì)讓我對(duì)編程有了新的認(rèn)識(shí),也是我知道了只有自己親自動(dòng)手才能學(xué)到更多東西。拿到題目的時(shí)候也是很困惑但仔細(xì)琢磨后也不是想象中那么難,覺得就是上課講到的一些內(nèi)容,是自己先把自己嚇住了。后來,參照書上的和網(wǎng)上的諸多例子,一個(gè)模塊一個(gè)模塊的編寫,調(diào)試,一個(gè)功能一個(gè)功能去完善。發(fā)現(xiàn)越做越順利,由于以前的實(shí)驗(yàn)中對(duì)于改錯(cuò)的經(jīng)驗(yàn)積累和幾個(gè)學(xué)得不錯(cuò)的同學(xué)的幫助,我的程序中的錯(cuò)誤也一個(gè)一個(gè)的順利解決。再后來,等我的程序完全做好以后,我竟然可以獨(dú)立的幫同學(xué)修改一些以前根本不知所以然的錯(cuò)誤,其

21、實(shí),從這次實(shí)驗(yàn)中我認(rèn)識(shí)到,我距離高手還很遠(yuǎn),編程有很多的樂趣也有很多的技巧性和知識(shí)性。我將在以后的日子里繼續(xù)認(rèn)真的學(xué)習(xí)知識(shí),積累經(jīng)驗(yàn),讓自己的編程能力提高??傊?,我決得編程就是要請(qǐng)自動(dòng)手,孰能生巧,感謝學(xué)校給我們這次機(jī)會(huì)使我們通過這次試驗(yàn)學(xué)到了很多東西。參考文獻(xiàn)參考文獻(xiàn)1劉志文關(guān)于考務(wù)管理的有效途徑.考務(wù)管理,2006(3):832譚浩強(qiáng).c 語(yǔ)言程序設(shè)計(jì)(第三版).北京:清華大學(xué)出版社3嚴(yán)蔚敏教授數(shù)據(jù)結(jié)構(gòu)及應(yīng)用算法程序(修訂版)北京:清華大學(xué)出版社4郭琦.visual basic 數(shù)據(jù)庫(kù)系統(tǒng)開發(fā)技術(shù) . 人民郵電出版社,2003.12:13附錄附錄 1 1用戶手冊(cè)用戶手冊(cè)1、考生信息的輸入圖

22、 1 考生信息的輸入2、考場(chǎng)安排圖 2 考場(chǎng)安排3、考試日程查詢圖 3 考試日程查詢附錄附錄 2 2源程序源程序#include #include #include #include #include #include #define quit 0 /退出程序的功能代碼#define clear_input_buff(c) while(c=getchar() != eof & c != n) /清除控制臺(tái)輸入緩存#define code 18 /學(xué)校代碼/存儲(chǔ)學(xué)生信息的結(jié)構(gòu)體typedef struct int num;char name20;char testid9; /準(zhǔn)考證號(hào) 8 位,最

23、后一位0 student;/表示學(xué)生單鏈表節(jié)點(diǎn)的結(jié)構(gòu)體typedef struct stunodestudent student;struct stunode * next; /指向下一個(gè)學(xué)生信息節(jié)點(diǎn) studentnode;/表示學(xué)生單鏈表結(jié)構(gòu)體typedef struct studentnode * firstnode;studentnode * endnode;int length;studentchain;/創(chuàng)建一個(gè)存儲(chǔ)考生信息的單鏈表studentchain * createstudentchain()studentchain * stuchain = (studentchain*)

24、malloc(sizeof(studentchain);if(null = stuchain)return null;elsestuchain-firstnode = null;stuchain-length = 0;return stuchain;/根據(jù)傳入的一個(gè)考生信息動(dòng)態(tài)創(chuàng)建一個(gè) studentnode 節(jié)點(diǎn)并返回studentnode* createstudentnode(int num,char name)studentnode * stunode = (studentnode *)malloc(sizeof(studentnode);if(null = stunode) retur

25、n null;else stunode-student.num = num;strncpy(stun,name,20);stun19=0;stunode-student.testid0 = 0;stunode-next = null;return stunode;/把一個(gè)考生信息節(jié)點(diǎn)添加到單鏈表末尾void chainappendnode(studentchain * stuchain,studentnode * node)if(null = stuchain | null = node)return ;if(stuchain-l

26、ength=0)stuchain-firstnode = node;stuchain-endnode = node;stuchain-length = 1;elsestuchain-endnode-next = node;stuchain-endnode = node;stuchain-length+;/根據(jù)索引值返回考生信息節(jié)點(diǎn)studentnode * getstudentnodebyindex(studentchain * stuchain,int index)int i=0;studentnode * tmpp = null;if(null = stuchain | indexleng

27、th firstnode;for(; inext;return tmpp;/銷毀單鏈表(釋放內(nèi)存)void destroychain(studentchain* stuchain)studentnode * tmpnode = null;studentnode * curnode = null;if(null = stuchain | stuchain-length=0)return ;curnode = stuchain-firstnode;tmpnode = curnode-next;for( ; curnode != null ; )free(curnode);curnode = tmp

28、node;tmpnode = curnode-next;free(stuchain);/顯示功能菜單,等待用戶輸入功能代碼/返回值說明:返回功能號(hào)int selectcommand()int cmdnum = 0;int ch = 0;printf(n);printf(1 輸入考生信息n);printf(2 生成準(zhǔn)考號(hào)證并顯示(座位號(hào)隨機(jī)生成)n); printf(3考試日程表的查詢n);printf(0 退出(注:輸入非數(shù)字字符也可以退出)n);scanf(%d,&cmdnum);clear_input_buff(ch);/清除控制臺(tái)輸入緩存if( cmdnum != 1 & cmdnum

29、!=2 &cmdnum !=0&cmdnum !=3)printf(輸入的功能編號(hào)不正確(應(yīng)該為 1、2 或者 0)!nn);elsereturn cmdnum;/顯示考生信息void displaystuinfo(studentchain * stuchain)studentnode * curnode = null;char testid9;if(null = stuchain | stuchain-length=0) printf(當(dāng)前沒有任何考生信息!請(qǐng)錄入n);return;printf(*n);printf(學(xué)號(hào)t 姓名t 準(zhǔn)考證號(hào)t 考場(chǎng)號(hào)t 座位號(hào)n);printf(-n);f

30、or( curnode = stuchain-firstnode ; curnode != null ; curnode= curnode-next )strncpy(testid,curnode-student.testid,9);if(0 = testid0)printf(%dt%st%st%st%s,curnode-student.num,curn,n);elseprintf(%dt%st%st%c%ct%c%cn,curnode-student.num,curn,curnode-student.testid,curnode

31、-student.testid0,curnode-student.testid1,curnode-student.testid6,curnode-student.testid7);printf(*n);/獲取用戶輸入的考生信息并且保存到結(jié)構(gòu)體參數(shù)中/返回值說明: -1 表示輸入不正確, 0 表示不想繼續(xù)錄入,1 表示繼續(xù)錄入int inputstudentinfo(int *num,char name20)int ch=0;int quit = 0;name0 = 0;printf();scanf(%d,%s,num,name);clear_input_buff(ch);if(*num10)p

32、rintf( 輸入錯(cuò)誤:學(xué)號(hào)必須于少兩位數(shù)!n);return -1;if(strlen(name) =0)printf( 輸入錯(cuò)誤:考生姓名不能為空!n);return -1;printf(保存成功! 是否繼續(xù)錄入?(y/n);quit = getchar();clear_input_buff(ch);if(quit != y & quit != y)return 0;return 1;/隨機(jī)生成倆整數(shù)間的整數(shù)(包括 snum,enum)/返回值說明: -1 表示參數(shù)不正確int randnum(int snum,int enum)int num = -1;if(snum 0 | enum

33、0 | enumsnum) return num;if(snum = enum) return snum;num = rand() % (enum - snum +1) + snum; return num;/在一個(gè)整數(shù)數(shù)組查找 findnum,如果找到則返回索引值,否則返回-1int indexof(int findnum,int *nums,int count)int i=0;if(null = nums | count=0) return -1;for( ; icount ; i+)if(findnum = numsi) return i;return -1;/生成 snum-enum

34、之間(包含 snum,enum)的 count 個(gè)隨機(jī)數(shù)/參數(shù)說明:-1 表示參數(shù)不正確 ,-2 表示內(nèi)存不 足int createrandnums(int snum,int enum,int * nums,int count)int i=0;int * tmpnums = null;int tmprandnum = -1;if(snum 0 | enum 0 | enumsnum | count0 | null = nums | enum - snum + 1 count ) return -1;if(null =(tmpnums = (int *)malloc(sizeof(int) *

35、count) return -2;for( ; icount ; i+)tmprandnum = randnum(snum,enum);if(-1 = indexof(tmprandnum , tmpnums , count)tmpnumsi = tmprandnum;elsei-; /座位號(hào)已被分配,重新生成/復(fù)制生成的座位號(hào)memcpy(nums,tmpnums,sizeof(int) * count);free(tmpnums);/釋放內(nèi)存return 0;/生成準(zhǔn)考證號(hào)/返回值說明: -1 表示參數(shù)不正確, -2 內(nèi)存不足int createtestid(studentchain *

36、stuchain,int maxstucount)int i=0 , j=0;int maxexamroom=0;/int remain = 0;int * seats = null;int arranged = 0;/表示已被安排座位的考生人數(shù)int remain = 0; /剩余考生人數(shù)int curroomstus = 0; /當(dāng)前考場(chǎng)人數(shù)char num20;/學(xué)號(hào)studentnode * tmpstunode = null;if(null = stuchain | maxstucountlength / maxstucount; remain = stuchain-length % maxstucount;if(remain 0) maxexamroom +; /對(duì)每個(gè)考場(chǎng)進(jìn)行座位安排for(i=1 ; ilength - arrang

溫馨提示

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

評(píng)論

0/150

提交評(píng)論