面向?qū)ο蟪绦蛟O(shè)計學(xué)生選課系統(tǒng)課程設(shè)計報告.doc

上傳人:good****022 文檔編號:116789967 上傳時間:2022-07-06 格式:DOC 頁數(shù):20 大?。?66.18KB
收藏 版權(quán)申訴 舉報 下載
面向?qū)ο蟪绦蛟O(shè)計學(xué)生選課系統(tǒng)課程設(shè)計報告.doc_第1頁
第1頁 / 共20頁
面向?qū)ο蟪绦蛟O(shè)計學(xué)生選課系統(tǒng)課程設(shè)計報告.doc_第2頁
第2頁 / 共20頁
面向?qū)ο蟪绦蛟O(shè)計學(xué)生選課系統(tǒng)課程設(shè)計報告.doc_第3頁
第3頁 / 共20頁

下載文檔到電腦,查找使用更方便

15 積分

下載資源

還剩頁未讀,繼續(xù)閱讀

資源描述:

《面向?qū)ο蟪绦蛟O(shè)計學(xué)生選課系統(tǒng)課程設(shè)計報告.doc》由會員分享,可在線閱讀,更多相關(guān)《面向?qū)ο蟪绦蛟O(shè)計學(xué)生選課系統(tǒng)課程設(shè)計報告.doc(20頁珍藏版)》請在裝配圖網(wǎng)上搜索。

1、課程設(shè)計(論文)編 號: B04931053學(xué) 號: 201240450110 課 程 設(shè) 計教 學(xué) 院計算機學(xué)院課程名稱高級語言程序設(shè)計題 目學(xué)生選課系統(tǒng)專 業(yè)軟件工程班 級12級軟件工程(1)班姓 名明平耀同組人員王天灝、徐威鵬、張澤坤、黃文瑞指導(dǎo)教師謝晉2013年12月15日 目 錄一概述2二總體方案設(shè)計3三詳細設(shè)計4四程序的調(diào)試與運行結(jié)果說明5五課程設(shè)計總結(jié)6參考文獻7一 概述1. 課程設(shè)計的目的1理解和掌握該課程中的有關(guān)基本概念,程序設(shè)計思想和方法。2培養(yǎng)綜合運用所學(xué)知識獨立完成課題的能力。3培養(yǎng)勇于探索、嚴謹推理、實事求是、有錯必改,用實踐來檢驗理論,全方位考慮問題等科學(xué)技術(shù)人員應(yīng)

2、具有的素質(zhì)。4掌握從資料文獻、科學(xué)實驗中獲得知識的能力,提高學(xué)生從別人經(jīng)驗中找到解決問題的新途徑的悟性,初步培養(yǎng)工程意識和創(chuàng)新能力。2. 課程設(shè)計的要求需要的基本知識與技能,尚未掌握的知識點,需要查閱相關(guān)資料。教師對本題目所提出的要求等。(1) 需求分析1.1任務(wù)要求 制做學(xué)生選課系統(tǒng),共包括課程信息和學(xué)生信息兩部分。課程信息包括:課程編碼、課程名稱、適用專業(yè)、課程類型(必修、限選、必選、實踐、學(xué)習(xí))、學(xué)分、學(xué)時、主講教師等。學(xué)生信息管理,學(xué)生選課管理(學(xué)生選課學(xué)分總數(shù)有一定范圍),學(xué)生可以對課程進行查詢、瀏覽,選完課后可以退選、重選,并可以按學(xué)號、姓名進行查詢和統(tǒng)計。要求:1.源文件采用多文

3、件的工程結(jié)構(gòu)。 2.數(shù)據(jù)儲存采用文件形式。 3.標準的C輸入輸出。 4.功能完善,適當?shù)淖⑨尅?5.關(guān)于文件的內(nèi)容要自學(xué)。1.2系統(tǒng)功能需求分析1.為存儲課程信息,需要定義一個結(jié)構(gòu)體類型,成員包括課程編碼、課程名稱、適用專業(yè)、課程類型、學(xué)分、學(xué)時、主講教師,所選人數(shù)等等,并建立鏈表,定義該結(jié)構(gòu)體類型的指針,用于指向各節(jié)點;2.為存儲學(xué)生信息,需要定義一個結(jié)構(gòu)體類型,成員包括學(xué)生編碼、學(xué)生姓名、所選課程編碼、所選課程學(xué)分和等等,并建立鏈表,定義該結(jié)構(gòu)體類型的指針,用于指向各節(jié)點;3.對于課程信息和學(xué)生信息,可以選擇從鍵盤輸入也可選擇從文件中打開原來存盤的信息,并對他們分別建立添加、刪除、瀏覽、查

4、詢等功能的子函數(shù),完成相應(yīng)的功能,對程序?qū)崿F(xiàn)模塊化。這其中要用到對鏈表的刪除、插入、增加等知識。刪除包括課程刪除和學(xué)生信息刪除,刪除時用一結(jié)構(gòu)體指針指向鏈表的第一個結(jié)點,檢查該節(jié)點的值是否等于輸入的要刪除的課程編號或?qū)W生學(xué)號,若相等就刪除,不相等則后移指針,直至表尾。插入時也要先找到相應(yīng)結(jié)點,再添加。查詢功能要設(shè)置按照學(xué)生姓名、學(xué)生編號等多種方式。4.學(xué)生選課是要先輸入自己的學(xué)號,如果在已經(jīng)輸入的學(xué)生信息中找不到此學(xué)號,則提示需要先輸入自己的信息。如找到了自己的學(xué)號,則可以進行選課。在選課之前要先對所有的課程信息進行瀏覽。選課有一定的學(xué)分限制,超過相應(yīng)的學(xué)分(這里設(shè)置的是10個學(xué)分),系統(tǒng)就會

5、顯示可以選滿的信息。此系統(tǒng)還可以實現(xiàn)刪除所選課程的功能,設(shè)計思路與選課功能相似。5為實現(xiàn)存儲功能,需用到文件的相關(guān)函數(shù),打開文件,將添加、修改或刪除的信息存入磁盤中。6.實現(xiàn)易于使用者理解和使用的友好界面。 二 總體方案設(shè)計1.具體的設(shè)計思路:程序的要求是設(shè)計學(xué)生選修課管理系統(tǒng),對選修課程能夠進行錄入和修改操作等,要求有菜單界面和退出功能。首先,考慮到程序的數(shù)據(jù)輸入,可以設(shè)置一個管理員登陸選項,通過該選項進入管理員界面,進行選修課的錄入和修改操作,最后將錄入的課程保存到相應(yīng)的文件中。然后定義各種函數(shù)的功能包括查看,查詢,刪除等。另一個為學(xué)生登陸界面,該界面學(xué)生可以進行課程選擇和瀏覽查詢等操作。

6、在進行該操作之前需要對管理員保存的文件進行讀取,然后對其中的內(nèi)容進行查詢等,在學(xué)生選好課程以后,可以將其選好的課程保存于相應(yīng)的文件中,以便下次進行修改。通過函數(shù)的層層調(diào)用來實現(xiàn)程序的邏輯結(jié)構(gòu)。中間通過文件的打開和關(guān)閉實現(xiàn)對文件內(nèi)部所包含的數(shù)據(jù)的操作。2 概要設(shè)計2.1系統(tǒng)總體設(shè)計框架 對程序進行模塊化可以使整個程序清晰明了。對課程信息和學(xué)生信息建立從文件中輸入、從鍵盤中輸入、添加、刪除、查詢和瀏覽的功能,其各個子函數(shù)中運用鏈表儲存數(shù)據(jù)。選課管理建立學(xué)生選課、推選、查詢、瀏覽的功能,其各個子函數(shù)中運用鏈表儲存數(shù)據(jù)。從主函數(shù)開始執(zhí)行,依次調(diào)用各個子函數(shù),并運用文件的相關(guān)知識將信息進行存盤。2.2系

7、統(tǒng)功能模塊圖學(xué)生選課系統(tǒng)課程信息從文件錄入從鍵盤錄入增加刪除學(xué)生信息從文件錄入從鍵盤錄入增加刪除選 課退 課信息存儲3 詳細設(shè)計3.1功能模塊設(shè)計思路主要功能模塊的算法設(shè)計思路如下:1、 課程信息錄入函數(shù)(void load()從鍵盤錄入(void zhang( ))I 定義指向結(jié)構(gòu)體變量的指針;II 從頭指針指向的結(jié)構(gòu)體開始依次錄入結(jié)構(gòu)體中所包含的各個成員;III直到輸入的結(jié)構(gòu)體成員的編號為0,錄入結(jié)束從文件錄入(void zhang1( ))I 分別定義指向結(jié)構(gòu)體變量的指針和指向文件的指針;II 輸入文件的路徑,打開文件,若沒有找到則有提示;III 將文件中的信息依次讀出,最后結(jié)構(gòu)體的指針

8、為2、 課程信息管理(void managementc())增加課程信息(void insert(struct course *incourse))I 定義指向結(jié)構(gòu)體變量的指針;II 輸入要增加的課程編號,從頭指針指向的結(jié)構(gòu)體依次向后,直到鏈表的最后;III 輸入課程結(jié)構(gòu)體各個成員的信息,使最后一個結(jié)構(gòu)體指針值為刪除課程信息(void delc(int num1))I 定義指向結(jié)構(gòu)體變量的指針;II 輸入要增加的課程編號,從頭指針指向的結(jié)構(gòu)體依次向后,直到找到課程編號為輸入值的那個結(jié)構(gòu)體;III 將其刪除,其前一個的結(jié)構(gòu)體指針指向其后一個結(jié)構(gòu)體3、 學(xué)生信息錄入函數(shù)(void input()從

9、鍵盤錄入(void putin( ))I 定義指向結(jié)構(gòu)體變量的指針;II 從頭指針指向的結(jié)構(gòu)體開始依次錄入結(jié)構(gòu)體中所包含的各個成員;III 直到輸入的結(jié)構(gòu)體成員的編號為0,錄入結(jié)束從文件錄入(void putin2( ))I 分別定義指向結(jié)構(gòu)體變量的指針和指向文件的指針;II 輸入文件的路徑,打開文件,若沒有找到則有提示;III 將文件中的信息依次讀出,最后結(jié)構(gòu)體的指針為4、 學(xué)生信息管理(void managements())增加學(xué)生信息(void inserts(struct student * incouse))I 定義指向結(jié)構(gòu)體變量的指針;II 輸入要增加的學(xué)生編號,從頭指針指向的結(jié)構(gòu)

10、體依次向后,直到鏈表的最后;III 輸入學(xué)生結(jié)構(gòu)體各個成員的信息,使最后一個結(jié)構(gòu)體指針值為刪除學(xué)生信息(void dels(int num2))I 定義指向結(jié)構(gòu)體變量的指針;II 輸入要增加的學(xué)生編號,從頭指針指向的結(jié)構(gòu)體依次向后,直到找到學(xué)生編號為輸入值的那個結(jié)構(gòu)體;III 將其刪除,其前一個的結(jié)構(gòu)體指針指向其后一個結(jié)構(gòu)體5、 學(xué)生選課管理(void elective())學(xué)生選課(void elect())I 分別定義指向課程和學(xué)生結(jié)構(gòu)體變量的指針;II 輸入要選課的學(xué)生的編號,從頭指針指向的結(jié)構(gòu)體依次向后,直到找到學(xué)生編號為輸入值的那個結(jié)構(gòu)體,如不存在則顯示要錄入學(xué)生信息;III 輸入要

11、選課程的編號,從頭指針指向的結(jié)構(gòu)體依次向后,直到找到課程編號為輸入值的那個結(jié)構(gòu)體;IV 在學(xué)生結(jié)構(gòu)體對應(yīng)的所選課程編號中更改信息,所選學(xué)分中加上相應(yīng)分值,課程結(jié)構(gòu)體所選人數(shù)中相應(yīng)加一學(xué)生退課(void back())I 分別定義指向課程和學(xué)生結(jié)構(gòu)體變量的指針;II 輸入要退課的學(xué)生的編號,從頭指針指向的結(jié)構(gòu)體依次向后,直到找到學(xué)生編號為輸入值的那個結(jié)構(gòu)體,如不存在則顯示要錄入學(xué)生信息;III 輸入要退課程的編號,從頭指針指向的結(jié)構(gòu)體依次向后,直到找到課程編號為輸入值的那個結(jié)構(gòu)體;IV 在學(xué)生結(jié)構(gòu)體對應(yīng)的所選課程編號中更改信息,所選學(xué)分中減去相應(yīng)分值,課程結(jié)構(gòu)體所選人數(shù)中相應(yīng)減一6、 信息瀏覽和

12、保存(void into())課程信息瀏覽(void listc())I 定義指向結(jié)構(gòu)體變量的指針;II從頭指針指向的結(jié)構(gòu)體依次向后,將課程結(jié)構(gòu)體各成員的信息一次輸出,直到最后一個結(jié)構(gòu)體指針的值為NULL學(xué)生信息瀏覽(void lists())I 定義指向結(jié)構(gòu)體變量的指針;II從頭指針指向的結(jié)構(gòu)體依次向后,將學(xué)生結(jié)構(gòu)體各成員的信息一次輸出,直到最后一個結(jié)構(gòu)體指針的值為NULL課程信息保存(void intoc())I 定義指向課程結(jié)構(gòu)體變量的指針和指向文件的指針;II 輸入保存路徑,如果沒有保存則有顯示;III 將課程信息寫入文件中;IV 將課程信息進行保存,關(guān)閉文件學(xué)生信息保存(void i

13、ntos())I 定義指向?qū)W生結(jié)構(gòu)體變量的指針和指向文件的指針;II 輸入保存路徑,如果沒有保存則有顯示;III 將學(xué)生信息寫入文件中;IV 將學(xué)生信息進行保存,關(guān)閉文件7、 學(xué)生信息查詢(void store())按學(xué)生姓名查詢(void search2())I定義指向結(jié)構(gòu)體變量的指針;II 輸入要查詢的學(xué)生的姓名,從頭指針指向的結(jié)構(gòu)體依次向后,直到找到學(xué)生姓名為輸入值的那個結(jié)構(gòu)體;III 將該學(xué)生結(jié)構(gòu)體成員的各信息依次輸出按學(xué)生編號查詢(void search1())I定義指向結(jié)構(gòu)體變量的指針;II 輸入要查詢的學(xué)生的編號,從頭指針指向的結(jié)構(gòu)體依次向后,直到找到學(xué)生編號為輸入值的那個結(jié)構(gòu)體

14、; 三 詳細設(shè)計【功能模塊劃分及其流程圖】本程序功能模塊根據(jù)程序設(shè)計的需求,綜合程序的實用性、人性化、智能化的考慮,將程序劃分為6個部分分別編寫,程序主體功能將由這9個部分來完成。這9個部分依次是:1. 登錄界面函數(shù);void login()2. 學(xué)生登錄界面據(jù)函數(shù):void stu_login()3. 管理員登錄界面函數(shù):void man_login()4. 退出界面函數(shù):void bye_sys()5. 課程選擇函數(shù):void c_select()6. 課程瀏覽函數(shù):void c_view()7. 課程查詢函數(shù):void c_search()8. 課程增加函數(shù):void c_add()9.

15、 課程刪除函數(shù):void c_delete()10. 菜單函數(shù):void index()11. 主函數(shù)部分; main()總體設(shè)計:系統(tǒng)功能模塊圖部分函數(shù)流程圖:1、 課程選擇函數(shù):2、 課程查詢函數(shù)3、 課程增加函數(shù)4、課程刪除函數(shù) 四 程序的調(diào)試與運行結(jié)果說明1、程序開始界面如下:選擇某個選項,如進行管理員登錄,進行課程的增加進入管理員界面:2、再選擇所要進行的操作,如進行課程增加,結(jié)果如下:下面可以進行繼續(xù)增加課程或者退出:3、選擇課程瀏覽,可以分頁查看相應(yīng)的課程信息:第一頁:第二頁:4、課程查詢查找結(jié)果:4、 管理員課程刪除操作:刪除后可以進行瀏覽,觀察刪除后的結(jié)果:可見刪除后只有一條

16、記錄。刪除操作完成正確。下面進行學(xué)生操作的使用方法:1、學(xué)生登陸界面:2、選擇學(xué)生選課選項:3、學(xué)生登陸也可進行課程瀏覽和查詢函數(shù),其結(jié)果與管理員登陸相同,不再演示。五 課程設(shè)計總結(jié)選課系統(tǒng)程序比起通訊錄程序來講好寫一些,由于本程序用到了數(shù)組,對于數(shù)組的操作掌握的比較熟練,所以在編寫程序的時候困難沒有那么多。本程序在編寫的過程中用到了許多通訊錄中的模塊化設(shè)計和函數(shù)互相調(diào)用的思想,使得編寫比較方便和好用。通過該系統(tǒng)的課程設(shè)計分析,我掌握了模塊化設(shè)計的方法,理解和運用了結(jié)構(gòu)化程序設(shè)計的思想和方法,掌握和提高了運用C語言進行程序設(shè)計的能力。程序設(shè)計的過程,實際上是確定解決問題的詳細步驟,而這個步驟通

17、常叫做流程,在程序設(shè)計過程中理清楚整個問題的流程很重要,然后采取逐步細化的方法實現(xiàn)整個程序。對于一個較大的應(yīng)用程序,一般不可能一次就設(shè)計出一個很完善的系統(tǒng)。通常要先設(shè)計滿足基本要求的系統(tǒng),然后再測試或者在使用的過程中不斷完善,慢慢地做成一個功能很完善選修課程管理系統(tǒng)。所以在進行調(diào)試的時候需要對許多變量理解和掌握其變化規(guī)律等,這對于我更好的掌握visual C中調(diào)試的工具有很大的幫助??傊?jīng)過這次課程設(shè)計,我對c語言的使用和理解都有了很大的加深,對于編程的思想也有了很多新的理解和感受。 參考文獻1、李麗娟主編 ,C語言程序設(shè)計教程(第二版),人民郵電出版社2、嚴蔚敏主編,數(shù)據(jù)結(jié)構(gòu)(C語言),清華大學(xué)出版社3、崔單主編,C語言程序設(shè)計案例精粹,電子工業(yè)出版社4、譚浩強主編,程序設(shè)計(第三版),清華大學(xué)出版社19

展開閱讀全文
溫馨提示:
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)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

相關(guān)資源

更多
正為您匹配相似的精品文檔
關(guān)于我們 - 網(wǎng)站聲明 - 網(wǎng)站地圖 - 資源地圖 - 友情鏈接 - 網(wǎng)站客服 - 聯(lián)系我們

copyright@ 2023-2025  zhuangpeitu.com 裝配圖網(wǎng)版權(quán)所有   聯(lián)系電話:18123376007

備案號:ICP2024067431-1 川公網(wǎng)安備51140202000466號


本站為文檔C2C交易模式,即用戶上傳的文檔直接被用戶下載,本站只是中間服務(wù)平臺,本站所有文檔下載所得的收益歸上傳人(含作者)所有。裝配圖網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對上載內(nèi)容本身不做任何修改或編輯。若文檔所含內(nèi)容侵犯了您的版權(quán)或隱私,請立即通知裝配圖網(wǎng),我們立即給予刪除!