電子生詞庫(kù)軟件學(xué)生選修課程系統(tǒng)設(shè)計(jì)C語(yǔ)言版_第1頁(yè)
電子生詞庫(kù)軟件學(xué)生選修課程系統(tǒng)設(shè)計(jì)C語(yǔ)言版_第2頁(yè)
電子生詞庫(kù)軟件學(xué)生選修課程系統(tǒng)設(shè)計(jì)C語(yǔ)言版_第3頁(yè)
電子生詞庫(kù)軟件學(xué)生選修課程系統(tǒng)設(shè)計(jì)C語(yǔ)言版_第4頁(yè)
電子生詞庫(kù)軟件學(xué)生選修課程系統(tǒng)設(shè)計(jì)C語(yǔ)言版_第5頁(yè)
已閱讀5頁(yè),還剩53頁(yè)未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1、編程基礎(chǔ)名稱:電子詞庫(kù)軟件C語(yǔ)言編程培訓(xùn)任務(wù)書題目:學(xué)生選修課系統(tǒng)一、設(shè)計(jì)目的1. 進(jìn)一步掌握和使用C語(yǔ)言進(jìn)行編程的能力;2. 進(jìn)一步理解和應(yīng)用結(jié)構(gòu)化編程的思想和方法;3、掌握開發(fā)小型實(shí)用系統(tǒng)的基本方法;4、學(xué)習(xí)調(diào)試較長(zhǎng)程序的基本方法;5、學(xué)會(huì)用流程圖或NS圖來(lái)表示算法;6.掌握編寫培訓(xùn)開發(fā)文檔的能力(編寫培訓(xùn)報(bào)告)二、設(shè)計(jì)任務(wù)及能力假設(shè)有n門課程,每門課程都有課程編號(hào)、課程名稱、課程性質(zhì)、總學(xué)時(shí)、教學(xué)時(shí)數(shù)、實(shí)驗(yàn)或計(jì)算機(jī)學(xué)時(shí)、學(xué)分、課程學(xué)期等信息,學(xué)生可以自由選擇課程:必填(例如總學(xué)分不少于60)。嘗試設(shè)計(jì)一個(gè)選修課系統(tǒng),提供以下功能:1、系統(tǒng)工作在菜單模式。2.課程信息輸入功能輸入3.課程信

2、息瀏覽功能-輸出4.查詢功能:-算法(二選一)1)根據(jù)學(xué)分查詢課程信息。2)根據(jù)課程性質(zhì)查詢課程信息。5. 學(xué)生選修課6. 按課程編號(hào)順序插入課程信息。7. 按課程名稱刪除課程信息。8. 以課程名稱的字典順序輸出所有課程信息。三、設(shè)計(jì)要求1、用C語(yǔ)言實(shí)現(xiàn)系統(tǒng);2、使用結(jié)構(gòu)和數(shù)組設(shè)計(jì)數(shù)據(jù)結(jié)構(gòu);3、系統(tǒng)具有添加、查詢、插入、排序等基本功能;4、要求系統(tǒng)各功能模塊以函數(shù)的形式實(shí)現(xiàn);5. 資料:每名學(xué)員一份培訓(xùn)指導(dǎo)書,并放入統(tǒng)一資料箱;6. CD-ROM:每個(gè)學(xué)生的文件和程序資料都建在一個(gè)以他/她的學(xué)號(hào)命名的文件夾中,每個(gè)班級(jí)的負(fù)責(zé)人需要收集每個(gè)學(xué)生的文件,將它們放在班級(jí)命名的文件夾中,刻錄成光盤,放

3、入專用資料袋中。四。提交結(jié)果1.設(shè)計(jì)任務(wù)書一本(學(xué)校統(tǒng)一格式)2. 設(shè)計(jì)規(guī)范,包括:1)中文摘要為100字,3-5個(gè)關(guān)鍵詞。2)培訓(xùn)主題、內(nèi)容和要求。3)整體設(shè)計(jì)(包括幾個(gè)功能模塊)。4)詳細(xì)設(shè)計(jì)(各功能模塊的具體實(shí)現(xiàn)算法-流程圖)5)數(shù)據(jù)結(jié)構(gòu)設(shè)計(jì)說(shuō)明、各模塊(功能)功能介紹、參數(shù)說(shuō)明等。6)調(diào)試分析(包括每個(gè)模塊的測(cè)試用例和測(cè)試結(jié)果。)7)總結(jié)(培訓(xùn)完成了哪些功能,有哪些需要改進(jìn)的地方,培訓(xùn)有哪些收獲,調(diào)試程序的經(jīng)驗(yàn)等)8) 參考文獻(xiàn)、信件等。五、主要參考資料1.王連祥。 C/C+編程大學(xué).2013.72. 譚浩強(qiáng)C語(yǔ)言程序設(shè)計(jì)學(xué)習(xí)指南(第2版)清華大學(xué)。 2012 年 12 月3.李、龔以

4、健C語(yǔ)言編程實(shí)踐指導(dǎo)教程華中科技大學(xué)2009年6月出版4.曉東、洪振,C語(yǔ)言編程與應(yīng)用,人民郵電.2009.45.郭翠英C語(yǔ)言課程設(shè)計(jì)案例匯編中國(guó)水利水電2004.03.016.郭友強(qiáng),C語(yǔ)言程序設(shè)計(jì),清華大學(xué),2009年2月1日7. 程丹,穎,那軍,C語(yǔ)言程序設(shè)計(jì)案例實(shí)踐,清華大學(xué),2009年2月1日8.C語(yǔ)言程序設(shè)計(jì)教程,麗娟,人民郵電,2013年1月1日9. 吳亞莉、王永玲、杰亞莉的C語(yǔ)言程序設(shè)計(jì),清華大學(xué),2009年2月1日六、每個(gè)階段的時(shí)間表(共1周)日期允許地點(diǎn)表現(xiàn)老師簽名周一教師解釋設(shè)計(jì)要求并準(zhǔn)備參考資料。課堂周二系統(tǒng)分析與方案設(shè)計(jì)課堂周三方案設(shè)計(jì)與編程課堂周四調(diào)試程序并編寫訓(xùn)練

5、指令。課堂星期五完成培訓(xùn)指導(dǎo)并回復(fù)。課堂摘 要20世紀(jì)末,隨著計(jì)算機(jī)科學(xué)的發(fā)展,網(wǎng)絡(luò)的應(yīng)用越來(lái)越廣泛,為用戶提供了更加周到、人性化的服務(wù)。本文研究了一種基于文件存儲(chǔ)的學(xué)生選修課系統(tǒng)。本系統(tǒng)是根據(jù)現(xiàn)代校園發(fā)展為學(xué)生設(shè)計(jì)的課程系統(tǒng)。方便老師和家長(zhǎng)來(lái)校了解學(xué)生成績(jī)、近期獎(jiǎng)懲情況等。隨著教育改革的深化和素質(zhì)教育的加強(qiáng)以及完整學(xué)分制的實(shí)施,選修課發(fā)揮在學(xué)生的培訓(xùn)計(jì)劃中扮演著越來(lái)越重要的角色!使用在線選課系統(tǒng)后,您可以在開課前在線選課。每個(gè)學(xué)生的課程在開課前就已經(jīng)確定了,不用浪費(fèi)體力去選課,還可以合理、均勻地分配教學(xué)資源。關(guān)鍵詞:學(xué)生選課; C) 語(yǔ)言;文件內(nèi)存目錄TOC o 1-3 h u HYPERL

6、INK l _Toc12039 1 mio 理論 PAGEREF _Toc12039 一 HYPERLINK l _Toc8316 1.1 基本容量 PAGEREF _Toc8316 一 HYPERLINK l _Toc16479 1.2 發(fā)展趨勢(shì) PAGEREF _Toc16479 一 HYPERLINK l _Toc16417 1.3 用途和特點(diǎn) PAGEREF _Toc16417 一 HYPERLINK l _Toc11783 2 問(wèn)題需求分析 PAGEREF _Toc11783 三 HYPERLINK l _Toc14980 2.1 提出的問(wèn)題 PAGEREF _Toc14980 三

7、HYPERLINK l _Toc31094 2.2 問(wèn)題 PAGEREF _Toc31094 三分析 HYPERLINK l _Toc6805 3 整體設(shè)計(jì) PAGEREF _Toc6805 五 HYPERLINK l _Toc15304 3.1 整體設(shè)計(jì)思路 PAGEREF _Toc15304 五 HYPERLINK l _Toc12073 五介紹及框圖 PAGEREF _Toc12073 HYPERLINK l _Toc25092 4 詳細(xì)設(shè)計(jì) PAGEREF _Toc25092 七 HYPERLINK l _Toc11437 4.1 各模塊流程圖 PAGEREF _Toc11437 七

8、HYPERLINK l _Toc17525 4.1.1 主要功能模塊 PAGEREF _Toc17525 七 HYPERLINK l _Toc14872 4.1.2 管理員模塊 PAGEREF _Toc14872 七 HYPERLINK l _Toc15819 4.1.3 學(xué)生模塊 PAGEREF _Toc15819 八 HYPERLINK l _Toc1724 4.1.4 創(chuàng)建鏈表模塊 PAGEREF _Toc1724 九 HYPERLINK l _Toc29002 4.1.5 瀏覽模塊 PAGEREF _Toc29002 10 HYPERLINK l _Toc5519 4.1.6 查詢模塊

9、 PAGEREF _Toc5519 11 HYPERLINK l _Toc5304 4.1.7 插入鏈表模塊 PAGEREF _Toc5304 12 HYPERLINK l _Toc23480 4.1.8 添加模塊 PAGEREF _Toc23480 13 HYPERLINK l _Toc13154 4.1.9 刪除模塊 PAGEREF _Toc13154 14 HYPERLINK l _Toc15383 4.1.10 選修課模塊 PAGEREF _Toc15383 15 HYPERLINK l _Toc2103 4.1.11 讀取文件模塊 PAGEREF _Toc2103 16 HYPERL

10、INK l _Toc30111 4.1.12 保存文件模塊 PAGEREF _Toc30111 17 HYPERLINK l _Toc27470 4.2 功能的具體實(shí)現(xiàn)與算法 PAGEREF _Toc27470 18 HYPERLINK l _Toc32322 五、調(diào)試分析流程 PAGEREF _Toc32322 19 HYPERLINK l _Toc15633 5.1 各模塊運(yùn)行結(jié)果 PAGEREF _Toc15633 20 HYPERLINK l _Toc24208 5.1.1 開始運(yùn)行 PAGEREF _Toc24208 20 HYPERLINK l _Toc5303 5.1.2 管理員

11、菜單 PAGEREF _Toc5303 20 HYPERLINK l _Toc20499 5.1.3 按1進(jìn)入輸入課程模塊。 PAGEREF _Toc20499 21 HYPERLINK l _Toc7445 5.1.4 輸入課程信息后進(jìn)入管理員瀏覽模塊。 PAGEREF _Toc7445 21 HYPERLINK l _Toc26426 5.1.5 根據(jù)課程性質(zhì)查詢 PAGEREF _Toc26426 22 HYPERLINK l _Toc12317 5.1.6 按課程學(xué)分查詢 PAGEREF _Toc12317 22 HYPERLINK l _Toc11351 5.1.7 按4刪除模塊。

12、PAGEREF _Toc11351 23 HYPERLINK l _Toc22486 5.1.8 學(xué)生菜單 PAGEREF _Toc22486 23 HYPERLINK l _Toc2204 5.1.9 按 1 讓學(xué)生瀏覽所有課程。 PAGEREF _Toc2204 24 HYPERLINK l _Toc4146 5.1.10 按學(xué)分查詢課程 PAGEREF _Toc4146 25 HYPERLINK l _Toc3418 5.1.11 按3進(jìn)入選修課模塊。 PAGEREF _Toc3418 25 HYPERLINK l _Toc27524 5.1.12 按 4 瀏覽選修課。 PAGEREF

13、_Toc27524 26 HYPERLINK l _Toc16151 5.1.13 按5進(jìn)入刪除錯(cuò)誤課程模塊。 PAGEREF _Toc16151 27 HYPERLINK l _Toc26242 5.2 調(diào)試過(guò)程中的問(wèn)題 PAGEREF _Toc26242 28 HYPERLINK l _Toc15492 5.2.1 提出問(wèn)題 PAGEREF _Toc15492 28 HYPERLINK l _Toc19996 5.2.2 問(wèn)題分析 PAGEREF _Toc19996 28 HYPERLINK l _Toc25682 5.2.3 解決問(wèn)題的建議 PAGEREF _Toc25682 29 HY

14、PERLINK l _Toc10002 6 總結(jié) PAGEREF _Toc10002 29 HYPERLINK l _Toc28340 7 設(shè)計(jì)的優(yōu)缺點(diǎn) PAGEREF _Toc28340 30 HYPERLINK l _Toc8141 7.1 不足與改進(jìn) PAGEREF _Toc8141 31 HYPERLINK l _Toc31799 7.2 收獲與總結(jié) PAGEREF _Toc31799 31 HYPERLINK l _Toc16584 7.3 方案的優(yōu)缺點(diǎn) PAGEREF _Toc16584 31 HYPERLINK l _Toc10967 參考文獻(xiàn) PAGEREF _Toc10967

15、 32 HYPERLINK l _Toc13783 致 PAGEREF _Toc13783 33 HYPERLINK l _Toc10243 附錄: PAGEREF _Toc10243 34 HYPERLINK l _Toc3050 源代碼 PAGEREF _Toc3050 351 米奧理論1.1 基本容量隨著教育改革的深入和素質(zhì)教育的加強(qiáng)以及完整學(xué)分制的實(shí)施,選修課在學(xué)生的培養(yǎng)計(jì)劃中發(fā)揮著越來(lái)越重要的作用!學(xué)生在選擇課程時(shí),應(yīng)查看每門課程的詳細(xì)信息,并選擇一些感興趣的課程。他們需要生成課程表,發(fā)現(xiàn)課程沖突后可以修改之前選擇的信息。隨著高校課程改革的不斷深入,學(xué)校規(guī)模不斷擴(kuò)大,課程項(xiàng)目數(shù)量不斷

16、增加。為解決學(xué)生選修課管理中繁雜的人工操作,制定選修課系統(tǒng)迫在眉睫。全校選修課的目的是拓寬學(xué)生的知識(shí)面,加強(qiáng)學(xué)生的素質(zhì)教育,培養(yǎng)復(fù)合型高級(jí)人才,具有不可替代的重要性!1.2 發(fā)展趨勢(shì)對(duì)于復(fù)雜的信息管理,計(jì)算機(jī)可以充分發(fā)揮其優(yōu)勢(shì)。計(jì)算機(jī)信息管理與信息管理系統(tǒng)的發(fā)展密切相關(guān),信息管理系統(tǒng)是系統(tǒng)管理的前提。該系統(tǒng)旨在管理學(xué)生的選課信息。當(dāng)今是一個(gè)飛速發(fā)展的信息時(shí)代,各行各業(yè)都離不開信息處理,這是計(jì)算機(jī)在信息系統(tǒng)中得到廣泛應(yīng)用的環(huán)境。計(jì)算機(jī)最大的優(yōu)點(diǎn)是可以管理信息和控制信息,不僅提高了工作效率,而且大大提高了它的安全性?;谶@個(gè)問(wèn)題,我認(rèn)為有必要建立一個(gè)學(xué)生選課系統(tǒng),使學(xué)生選課的信息管理有規(guī)律、系統(tǒng)化

17、、程序化,避免學(xué)生選課管理的隨意性,提高信息的速度和準(zhǔn)確性。處理,并能夠及時(shí)、準(zhǔn)確、有效地查詢和修改選課情況。1.3 用途和特點(diǎn)現(xiàn)代社會(huì)是信息社會(huì),信息無(wú)處不在。在生產(chǎn)、流通領(lǐng)域和各個(gè)部門,每天都在處理信息。如何處理如此多的信息已成為一個(gè)重要的問(wèn)題。學(xué)生在學(xué)期開始選課是教學(xué)活動(dòng)中的一個(gè)重要環(huán)節(jié)。如果這個(gè)環(huán)節(jié)管理得好,不僅可以加快學(xué)生的選課,還可以提高整個(gè)活動(dòng)的效率。一般來(lái)說(shuō),大學(xué)有數(shù)以萬(wàn)計(jì)的學(xué)生。每個(gè)學(xué)期開始時(shí),學(xué)生都要選擇課程,從而產(chǎn)生大量的課程信息??紤]到用戶的方便和處理的信息量,系統(tǒng)需要完成課程信息的輸入、保存、查詢、修改、刪除等各個(gè)過(guò)程,并可以打印出課程信息表。系統(tǒng)的主要對(duì)象是需要選課

18、的學(xué)生。根據(jù)學(xué)生選修課的變化,計(jì)算相應(yīng)的總學(xué)分。全部選中后打印報(bào)告。系統(tǒng)還需要管理員查看和修改學(xué)生的整體課程選擇、課程信息和學(xué)生信息。本系統(tǒng)選課方便快捷。它使用簡(jiǎn)單的界面來(lái)顯示學(xué)生的選課信息。具有應(yīng)用簡(jiǎn)單明了、存儲(chǔ)容量大、可靠性高、性能好、使用壽命長(zhǎng)、成本低等優(yōu)點(diǎn),可以大大提高學(xué)生信息管理的效率。隨著C語(yǔ)言的發(fā)展,實(shí)現(xiàn)了對(duì)學(xué)生課程信息的輸入、修改、查詢、刪除等簡(jiǎn)單操作,原始數(shù)據(jù)可以通過(guò)文件系統(tǒng)長(zhǎng)期保存。2 問(wèn)題需求分析2.1 提出的問(wèn)題隨著教育改革、高校規(guī)模擴(kuò)大、專業(yè)急劇增加,以教師講課為主的傳統(tǒng)教育模式已不再適合我國(guó)高校的現(xiàn)狀。而且,安排上市時(shí)間表是一項(xiàng)非常復(fù)雜和艱巨的任務(wù)。在帕克的過(guò)程中,

19、除了要滿足大量的約束之外,還要解決很多的沖突。因此,利用網(wǎng)絡(luò)選課、教學(xué)生應(yīng)該是有道理和必要的。那么如何打造在線選修課系統(tǒng)呢?如何實(shí)現(xiàn)學(xué)生隨時(shí)隨地按照自己的日程安排在線學(xué)習(xí)?這已經(jīng)成為網(wǎng)絡(luò)選修課研究者的一大難題。2.2 問(wèn)題分析大學(xué)里總是有很多公共選修課。過(guò)去,選修課的方式是在課堂上注冊(cè)。這種方法雖然直接,但在選課時(shí)會(huì)造成盲目性。有些班級(jí)人滿為患,而另一些則無(wú)人看管。原因是傳統(tǒng)的選課方式是不可預(yù)測(cè)的,大家也沒(méi)有提前協(xié)調(diào)好。這種情況在高校中已經(jīng)產(chǎn)生了很長(zhǎng)時(shí)間,短時(shí)間內(nèi)不可能改變。使用在線選課系統(tǒng)后,您可以在開課前在線選課。每個(gè)學(xué)生的課程在開課前就已經(jīng)確定了,不用浪費(fèi)體力去選課,還可以合理、均勻地分

20、配教學(xué)資源。本系統(tǒng)開發(fā)的目的是利用信息技術(shù)和網(wǎng)絡(luò)技術(shù)幫助學(xué)生和學(xué)校管理選課的教學(xué)任務(wù)。教育體制的改革和學(xué)生人數(shù)的急劇增加,無(wú)疑為在線選修課提供了前所未有的機(jī)遇。本系統(tǒng)是專門為方便用戶根據(jù)自己的時(shí)間隨時(shí)隨地學(xué)習(xí)而開發(fā)的。學(xué)校將老師講課視頻直接放到學(xué)校官網(wǎng),學(xué)生可以通過(guò)官網(wǎng)在學(xué)生選課系統(tǒng)中隨意學(xué)習(xí)。這不僅節(jié)省了學(xué)生的時(shí)間,也為學(xué)校節(jié)省了大量的教師資源。學(xué)??梢詫⑦@部分節(jié)省下來(lái)的教師資源用于學(xué)術(shù)研究、教育方法研究等。目前,大部分學(xué)校都沒(méi)有完善的學(xué)生選修課體系,電腦的使用以微軟office為主,無(wú)法發(fā)揮有效作用。而且,隨著中國(guó)教育改革,學(xué)生可以選擇多種科目,這使得學(xué)校對(duì)學(xué)生選修課的管理變得繁瑣、復(fù)雜和

21、繁重。這種傳統(tǒng)的學(xué)校選修課模式已經(jīng)不能適應(yīng)當(dāng)前的發(fā)展。實(shí)現(xiàn)學(xué)生選課的系統(tǒng)化、標(biāo)準(zhǔn)化、自動(dòng)化,做到全面、相對(duì)集中,為學(xué)生提供全面的選課信息,為選課的有效管控提供有力幫助;為了及時(shí)了解選修課的情況,做好選修課的安排。該系統(tǒng)是高校個(gè)人選課和管理的現(xiàn)代化信息平臺(tái)。學(xué)生可以通過(guò)瀏覽器在線選課,可以查看自己的選課計(jì)劃和選課進(jìn)度。同時(shí),管理員可以通過(guò)瀏覽器添加、刪除和修改課程。這為學(xué)生和老師節(jié)省了大量的工作。充分利用網(wǎng)上選課系統(tǒng),提高教學(xué)選課管理效率,實(shí)現(xiàn)全面聯(lián)網(wǎng)、規(guī)范化、一體化。3 整體設(shè)計(jì)3.1 整體設(shè)計(jì)思路通過(guò)課題分析,程序需要設(shè)計(jì)選修課管理系統(tǒng),可以輸入和修改選修課,需要主界面和退出功能。首先,考慮

22、到程序的數(shù)據(jù)輸入,可以設(shè)置一個(gè)管理員登錄選項(xiàng)。通過(guò)該界面可以輸入和修改選修課。最后,您可以將輸入的課程保存到相應(yīng)的文件中。然后定義各種功能的功能包括:查看、查詢、刪除等。另一個(gè)是學(xué)生登錄界面,可以讓學(xué)生選擇課程、瀏覽和查詢。在此操作之前,您需要先閱讀管理員保存的文件,然后查詢其中的內(nèi)容。學(xué)生選課后,可以將選課保存在相應(yīng)的文件中,以便下次修改。程序的邏輯結(jié)構(gòu)是通過(guò)函數(shù)的逐層調(diào)用來(lái)實(shí)現(xiàn)的。通過(guò)中間文件的打開和關(guān)閉,可以對(duì)文件段中包含的數(shù)據(jù)進(jìn)行操作。然后通過(guò)對(duì)課題的分析,必須實(shí)現(xiàn)的功能包括主線程對(duì)四大線程的隨機(jī)調(diào)度和輸出結(jié)果的顯示。為了方便用戶控制和管理,我們?cè)黾恿艘恍└诵曰墓δ埽缡謩?dòng)調(diào)試、運(yùn)

23、行配置等。它主要使用序列結(jié)構(gòu)、選擇結(jié)構(gòu)和循環(huán)結(jié)構(gòu)等多種基本結(jié)構(gòu)。同時(shí),文件存儲(chǔ)信息的方式簡(jiǎn)化了程序結(jié)構(gòu),使程序更易于閱讀。另外,本系統(tǒng)采用塊實(shí)現(xiàn)功能,所要實(shí)現(xiàn)的功能,如添加課程信息、修改課程信息、刪除課程信息、添加學(xué)生信息和修改學(xué)生信息,由不同的子程序完成,不僅方便我們程序調(diào)試,也提高了程序的可移植性。為了方便用戶的控制和管理,本系統(tǒng)增加了手動(dòng)調(diào)試、運(yùn)行配置等更加人性化的功能。它主要使用序列結(jié)構(gòu)、選擇結(jié)構(gòu)和循環(huán)結(jié)構(gòu)等多種基本結(jié)構(gòu)。同時(shí),文件存儲(chǔ)信息的方式簡(jiǎn)化了程序結(jié)構(gòu),使程序更易于閱讀。另外,本系統(tǒng)采用塊實(shí)現(xiàn)功能,所要實(shí)現(xiàn)的功能,如添加課程信息、修改課程信息、刪除課程信息、添加學(xué)生信息和修改學(xué)

24、生信息,由不同的子程序完成,不僅方便我們程序調(diào)試,也提高了程序的可移植性。3.2 整體設(shè)計(jì)模塊介紹及框圖該系統(tǒng)由一個(gè)主模塊和幾個(gè)子模塊組成。主模塊有兩個(gè)模塊:管理員和學(xué)生。管理員模塊的主要功能是添加和刪除課程信息,而學(xué)生模塊主要管理學(xué)生信息和課程選擇。Main moduleMain moduleAdministrator moduleStudent moduleBrowse coursesInquiry courseAdd coursesDelete courseBrowse all coursesQuery course informationChoose elective coursesB

25、rowse the selected courseDelete the wrong course圖 3-1 整體模塊框圖4 詳細(xì)設(shè)計(jì)4.1 各模塊流程圖4.1.1主要功能模塊主功能設(shè)計(jì)簡(jiǎn)單,只提供一個(gè)主菜單和幾個(gè)函數(shù)調(diào)用來(lái)顯示功能。 Switch 語(yǔ)句將整個(gè)程序分為三個(gè)功能模塊。具體流程圖如下:beginbegincourse selection systemLog in as an administrator.Log in as a student.log down圖 4-1 主要功能模塊圖4.1.2管理員模塊管理員具有瀏覽、查詢、增刪課程、使用字符串處理功能處理密碼問(wèn)題四大功能。如果密碼正

26、確,則可以進(jìn)入管理員模塊。否則,請(qǐng)重新輸入名稱。如果密碼輸入錯(cuò)誤 3 次,則無(wú)法進(jìn)入管理員模塊。密碼時(shí)間由 int 變量計(jì)算。使用 switch 語(yǔ)句調(diào)用函數(shù):Enter passwordEnter passwordlog-inPassword times next=NULL;Return head;beginEnter elective course informationNum1! =0Create a linked list for each element of the structure.Num1! =0Tail-next=p;Tail=p;Head=pCreation failed

27、.Successfully created.Creation failed.Creation failed.圖4-4 鏈表創(chuàng)建流程圖4.1.5瀏覽模塊瀏覽模塊主要使用管理員中的“瀏覽課程”和學(xué)生功能中的“瀏覽所有課程”輸出所有課程信息,即輸出2.txt文件中的所有內(nèi)容:Browse all coursesSUB *ptr;head=NULL;readfile();Browse all coursesSUB *ptr;head=NULL;readfile();Head=NULLPrintf(NO RECORDS);Return;Output course informationendbeno圖4

28、-5 瀏覽模塊流程圖4.1.6查詢模塊查詢模塊主要用于管理員功能中的“查詢課程”和學(xué)生功能模塊中的“查詢所有課程”。查詢模塊分為三種查詢方式:按課程名稱查詢、按課程性質(zhì)查詢和按學(xué)分查詢。每個(gè) case 語(yǔ)句都是查詢方法之一:beginbeginIs the input 1?Find by course naturebreakIs the input 2?Search by creditbreakendIs the input 0?Search by creditbreak圖4-6 查詢模塊流程圖4.1.7插入鏈表模塊插入鏈表的操作主要用于添加課程,在整個(gè)課程信息中添加一些新課程。它在添加模塊中

29、調(diào)用:noYesbebeInsertion failedbenonobebenoInsert linked list moduleSUB *p1,*p2;p1=subj;head=NULLhead=p1;head-next=NULL;p2=head; p2;p2=p2-next;p2-next=NULLnoYesbebeInsertion failedbenonobebenoInsert linked list moduleSUB *p1,*p2;p1=subj;head=NULLhead=p1;head-next=NULL;p2=head; p2;p2=p2-next;p2-next=NUL

30、Lp2-next=subj;subj-next=NULL;break;eturn headendend圖 4-7 插入模塊流程圖4.1.8添加模塊添加模塊主要用于增加課程信息,使用鏈表操作:bebenonoInsert course informationSUB *ptr,*subj;int size=sizeof(SUB);char ch,ch1;Insert course informationSUB *ptr,*subj;int size=sizeof(SUB);char ch,ch1;ch! =0Input (course information, course number, cou

31、rse name, course nature, total credits, teaching credits, practice or computer hours)ch1=getchar();ch=getchar();Return head;myInsert(subj);Printf (n nPlease press Enter to continue inserting n);Printf ( nPress 0 to finish adding courses)endend圖4-8 添加模塊流程圖4.1.9刪除模塊刪除模塊主要用于管理員刪除課程信息和學(xué)生刪除自己的課程,均采用刪除鏈表節(jié)

32、點(diǎn)的操作:beginbeginEnt that number you want to delete.Search and delete the number.Continue to deleteEnd deletionbebenono圖 4-9 刪除模塊流程圖4.1.10選修課模塊選修課模塊采用插入鏈表的操作:beginbeginEnter the number of courses to be selected.Search and judge the input information.There is this course information.Course selection su

33、ccessfulThere is no information for this course.begin圖4-10 選修課模塊流程圖4.1.11讀取文件模塊文件讀取模塊用于讀取文件內(nèi)容并輸出到內(nèi)存中。輸入文件名后,即可打開指定的文件。輸入 all_sub.txt 后,即可打開所有課程信息的文件。輸入my_sub.txt,即可瀏覽學(xué)生選修課信息。beginbeginEnter the course information folder name.! feof(fp)newSub=(SUB*)malloc(sizeof(SUB);fscanf(fp,&newSub-num,newSub-name

34、,newSub-kind,&newSub-stime,&newSub-ttime,&newSub-etime,&newSub-score,&newSub-term);myInsert(newSub);close a documentendFailed to open file.nobenobe圖4-11 讀取文件模塊流程圖4.1.12保存文件模塊文件保存模塊分為兩個(gè)子程序,將修改后的信息保存到2.txt文件中。beginbeginThe system detects the file to be saved.p=head;p=p-nextSave the modified file.close

35、 a documentendSave failed.圖4-12 文件保存模塊流程圖4.2 功能的具體實(shí)現(xiàn)和算法4.2.1每個(gè)功能的具體功能int() 程序主函數(shù),程序入口voidmanagers() 管理員主菜單,管理員入口void SUB *create_form() 創(chuàng)建鏈表結(jié)構(gòu)void savefile() 將新添加的課程信息保存到文件中。void savefile1() 將修改后的課程信息文件保存到文件中。void readfile() 讀取文件void prin() 瀏覽所有課程void prin1() 瀏覽所有選修課void *myInsert( SUB *subj) 鏈表插入操作

36、void *insert() 插入課程信息void *del() 刪除課程voidchoose()選修新課學(xué)生選課功能void search()課程信息查詢無(wú)效學(xué)生()學(xué)生登錄門戶4.2.1實(shí)現(xiàn)各個(gè)功能的具體算法。本系統(tǒng)程序使用的主要算法有:二分法、冒泡排序等算法。其中,二分法用于管理員錄入的多種課程信息操作,如添加課程信息、查找課程信息、修改課程信息、瀏覽選修課等。以學(xué)生身份登錄輸入的課程信息的操作主要采用冒泡排序的方式。冒泡排序和二分法是 C 語(yǔ)言中最基本的算法,但應(yīng)用非常廣泛。本系統(tǒng)主要使用二分法和冒泡排序的搜索功能。5.調(diào)試分析過(guò)程5.1 各模塊運(yùn)行結(jié)果5.1.1開始跑步。啟動(dòng)程序進(jìn)入

37、登錄界面,輸入1:以管理員身份登錄,輸入1密碼,輸入2:以學(xué)生身份登錄,輸入3:退出登錄界面。圖 5-1 運(yùn)行結(jié)果5.1.2管理員菜單進(jìn)入管理員菜單。 1:輸入所有要選擇的課程, 2:瀏覽所有輸入的課程, 3:查詢輸入的課程, 4:刪除輸入的課程, 5:返回主菜單。圖 5-2 管理員菜單圖5.1.31 按 進(jìn)入課程模塊。進(jìn)入課程界面,輸入課程編號(hào)、課程名稱、課程性質(zhì)、總學(xué)時(shí)、教學(xué)時(shí)數(shù)、實(shí)踐或計(jì)算機(jī)學(xué)時(shí)、學(xué)分、開學(xué)學(xué)期。添加完成后點(diǎn)擊回車?yán)^續(xù)添加,輸入0完成添加。圖 5-3 輸入課程模塊運(yùn)行結(jié)果圖5.1.4輸入課程信息后進(jìn)入管理員瀏覽模塊。進(jìn)入課程信息程序后,課程編號(hào)會(huì)自動(dòng)排序,并顯示輸入的課程

38、信息結(jié)果。按任意鍵退出該界面。圖 5-4 課程信息輸入運(yùn)行結(jié)果5.1.5按課程性質(zhì)查詢進(jìn)入課程查詢界面,選擇查詢方式,選擇1按課程性質(zhì)搜索,找出所有課程性質(zhì)相同的課程,選擇3退出搜索界面。圖 5-5:管理員瀏覽模塊運(yùn)行結(jié)果圖。5.1.6按課程學(xué)分查詢進(jìn)入課程查詢界面,選擇查詢方式,選擇2按課程學(xué)分搜索,找出所有課程學(xué)分相同的課程,選擇3退出搜索界面。圖5-6 按課程性質(zhì)查詢運(yùn)行結(jié)果。5.1.7管理員按 4 刪除模塊。在管理員菜單欄中輸入4刪除課程,輸入要?jiǎng)h除的課程編號(hào)完成刪除課程,回車?yán)^續(xù)刪除課程,按0完成刪除課程。圖5-7 管理員刪除模塊運(yùn)行結(jié)果圖5.1.8學(xué)生菜單進(jìn)入學(xué)生菜單欄,選擇1瀏覽

39、所有選修課,2查詢所有課程信息,3選擇你需要選修的課程,4瀏覽你選修的課程,5刪除你選錯(cuò)的課程課程選擇,以及 6 返回主菜單。圖 5-8 學(xué)生菜單操作結(jié)果5.1.91 按學(xué)生瀏覽所有課程。進(jìn)入學(xué)生菜單,選擇1進(jìn)入Browse All Courses界面,可以查看選中的課程信息。圖 5-9 學(xué)生瀏覽所有課程的運(yùn)行結(jié)果。5.1.10按學(xué)分查詢課程進(jìn)入學(xué)生查詢界面,選擇2 Search by Credit,開始搜索要學(xué)習(xí)的課程。圖5-10 按積分查詢運(yùn)行結(jié)果5.1.11按 3 進(jìn)入選修課程模塊。在學(xué)生菜單中選擇3進(jìn)入選修課界面,輸入要選修的課程數(shù)量,按0確認(rèn)選修課,選課成功。將所選課程的信息保存在3

40、.txt文檔中。按任意鍵繼續(xù)。圖5-11 進(jìn)入選修課模塊操作結(jié)果圖5.1.124 按 Enter 瀏覽選修課程。在學(xué)生菜單中選擇4,進(jìn)入瀏覽我的選修課界面,將顯示所有選修課信息。按任意鍵繼續(xù)。圖 5-12:瀏覽選修課的運(yùn)行結(jié)果。5.1.13按 5 進(jìn)入刪除錯(cuò)誤課程模塊。在學(xué)生菜單中選擇5,進(jìn)入刪除錯(cuò)課界面,成功刪除錯(cuò)課號(hào)。如果繼續(xù)刪除錯(cuò)課,請(qǐng)回車,按0結(jié)束刪除錯(cuò)課菜單,將刪除錯(cuò)課信息保存在3.txt文檔中。按任意鍵繼續(xù)。圖5-12 刪除錯(cuò)誤課程模塊運(yùn)行結(jié)果圖5.2 調(diào)試過(guò)程中的問(wèn)題5.2.1提出問(wèn)題程序?qū)懞煤螅枰M(jìn)行調(diào)試,看是否達(dá)到了規(guī)定的功能。但主要是糾正大大小小的問(wèn)題。這種設(shè)計(jì)存在的問(wèn)題

41、是:1.調(diào)試時(shí)無(wú)法讀取txt文件。2、密碼不能由用戶自定義。3.這個(gè)變異環(huán)境一旦關(guān)閉,添加的課程信息和學(xué)生信息就無(wú)法長(zhǎng)期保存。5.2.2問(wèn)題分析1.txt無(wú)法讀取,輸入路徑后不顯示文件。解決辦法是請(qǐng)老師幫忙。最后,在老師的細(xì)心指導(dǎo)下,我意識(shí)到這是我自己的電腦操作水平,對(duì)電腦路徑結(jié)構(gòu)沒(méi)有很好的理解。最后,我做了一些修改來(lái)實(shí)現(xiàn)它。2.問(wèn)題是在編寫程序時(shí)密碼是固定的。用戶無(wú)法通過(guò)系統(tǒng)平臺(tái)修改密碼值。因此,這樣的密碼名存實(shí)亡,毫無(wú)用處。 3.這個(gè)問(wèn)題的原因是信息存儲(chǔ)設(shè)置不是很好。通過(guò)文件存儲(chǔ)方便存儲(chǔ)信息,但調(diào)用信息不方便。5.2.3問(wèn)題解決建議數(shù)據(jù)庫(kù)用來(lái)存儲(chǔ)密碼信息,然后用switch語(yǔ)句控制密碼輸入

42、錯(cuò)誤的次數(shù)。當(dāng)密碼輸入錯(cuò)誤次數(shù)達(dá)到 3 次時(shí),使用密碼重置應(yīng)用功能。然后將新密碼存入數(shù)據(jù)庫(kù),并覆蓋之前設(shè)置的密碼。建議使用數(shù)據(jù)庫(kù)存儲(chǔ)信息,比文件存儲(chǔ)更穩(wěn)定。6 總結(jié)通過(guò)本課程的設(shè)計(jì),我們回顧了幾乎被遺忘的C語(yǔ)言知識(shí),也讓我們意識(shí)到總結(jié)之前所學(xué)知識(shí)的重要性。這個(gè)看似簡(jiǎn)單的課程設(shè)計(jì),卻暴露了我們的諸多不足,也讓我們意識(shí)到自己在哪些方面需要努力提高。這個(gè)課程是我們團(tuán)隊(duì)開設(shè)的,每個(gè)人都有明確的分工。當(dāng)然,在這個(gè)過(guò)程中,我們遇到了很多問(wèn)題。我們沒(méi)有自己努力,而是請(qǐng)大家?guī)椭覀冋业浇鉀Q問(wèn)題的方法。當(dāng)編程結(jié)構(gòu)中有浮點(diǎn)數(shù)據(jù)時(shí),系統(tǒng)提示有錯(cuò)誤??梢酝ㄟ^(guò)將其替換為 int 或 char 然后定義它來(lái)解決。調(diào)試未完

43、成后自動(dòng)跳出主界面:可能會(huì)遇到系統(tǒng)錯(cuò)誤,主要是遇到浮動(dòng)數(shù)據(jù)時(shí)。插入鏈表讀取和輸出文件不熟悉;我不熟悉如何使表單參與與論點(diǎn)的一一對(duì)應(yīng)。經(jīng)過(guò)查詢資料和老師同學(xué)的幫助,基本解決了。通過(guò)這樣不斷的發(fā)現(xiàn)、修正、理解和習(xí)得,課程設(shè)計(jì)最終圓滿完成。通過(guò)本周的C語(yǔ)言編程實(shí)踐,我不僅鞏固了之前掌握的C程序設(shè)計(jì)基礎(chǔ),也彌補(bǔ)了課堂上沒(méi)有學(xué)到的知識(shí);它也讓我們對(duì)抽象理論有了具體的理解。我意識(shí)到C語(yǔ)言應(yīng)用廣泛,功能強(qiáng)大,是學(xué)習(xí)計(jì)算機(jī)不可缺少的語(yǔ)言。更重要的是,我學(xué)到了很多知識(shí),增強(qiáng)了動(dòng)手能力,積累了經(jīng)驗(yàn)。同時(shí)我也發(fā)現(xiàn)了自己的很多不足,需要在以后的學(xué)習(xí)中進(jìn)一步完善,以便掌握和應(yīng)用更多的知識(shí)。最重要的是,這次實(shí)戰(zhàn)訓(xùn)練讓我認(rèn)

44、識(shí)到了團(tuán)隊(duì)合作的強(qiáng)大力量和自己的嚴(yán)重不足,甚至激發(fā)了我對(duì)C語(yǔ)言編程的興趣。 C語(yǔ)言蘊(yùn)含著強(qiáng)大的秘密,等待我們?nèi)ヌ剿鳌Un程設(shè)計(jì)是在老師的指導(dǎo)下完成的,讓我對(duì)學(xué)生的選課體系有了更深入的了解和一些實(shí)踐經(jīng)驗(yàn)。這門課程讓我意識(shí)到團(tuán)隊(duì)是不可替代的,知識(shí)很重要,讓我在遇到問(wèn)題時(shí)能主動(dòng)動(dòng)動(dòng)腦筋,對(duì)于自己不懂的問(wèn)題愿意向別人請(qǐng)教。7 設(shè)計(jì)的優(yōu)缺點(diǎn)7.1 不足與改進(jìn)經(jīng)測(cè)試,本系統(tǒng)已滿足本課題的所有要求。這個(gè)程序有很多優(yōu)點(diǎn)。一是界面簡(jiǎn)潔的程序菜單。一是智能模塊設(shè)計(jì),減少了大量的人工操作。例如,操作一個(gè)功能模塊后,會(huì)返回主菜單運(yùn)行下一個(gè)模板,并提示是否再次進(jìn)行類似操作,為用戶帶來(lái)方便,大大提高了學(xué)生選課的效率。還有就

45、是提示語(yǔ)言簡(jiǎn)潔、清晰、層次分明等。當(dāng)然也有不足之處,比如程序中還有不合理的地方,比如程序某些部分的一些輸入錯(cuò)誤不能立即處理退回更正;信息表達(dá)方式并不豐富,而是簡(jiǎn)單,缺乏圖片、音樂(lè)等元表達(dá)。當(dāng)編程結(jié)構(gòu)中有浮點(diǎn)數(shù)據(jù)時(shí),系統(tǒng)提示有錯(cuò)誤??梢酝ㄟ^(guò)將其替換為 int 或 char 然后定義它來(lái)解決。調(diào)試未完成后自動(dòng)跳出主界面:可能會(huì)遇到系統(tǒng)錯(cuò)誤,主要是遇到浮動(dòng)數(shù)據(jù)時(shí)。有些字母輸入錯(cuò)誤可以通過(guò)仔細(xì)搜索來(lái)解決;插入鏈表讀取和輸出文件不熟悉;我不熟悉如何使表單參與與論點(diǎn)的一一對(duì)應(yīng)。經(jīng)過(guò)查詢資料和老師同學(xué)的幫助,基本解決了。通過(guò)本周的C語(yǔ)言課程實(shí)踐,我不僅鞏固了之前掌握的C程序的設(shè)計(jì)基礎(chǔ),還學(xué)會(huì)了彌補(bǔ)課堂上沒(méi)有

46、學(xué)到的知識(shí)。通過(guò)這門課,我充分認(rèn)識(shí)到C語(yǔ)言用途廣泛,功能強(qiáng)大,是學(xué)習(xí)計(jì)算機(jī)不可缺少的語(yǔ)言。更重要的是,在這次編程中,我熟悉了編寫復(fù)雜程序的過(guò)程,具備了發(fā)現(xiàn)問(wèn)題和解決問(wèn)題的能力,為下一步的計(jì)算機(jī)語(yǔ)言學(xué)習(xí)做好了準(zhǔn)備。以前覺(jué)得遙不可及的功能現(xiàn)在可以實(shí)現(xiàn)了,非常感謝老師和同學(xué)們的熱心幫助,是我及時(shí)完成這個(gè)程序的重要因素。7.2 收獲與總結(jié)總之,這個(gè)設(shè)計(jì)方案讓我受益匪淺,我會(huì)珍惜這樣難得的機(jī)會(huì)。這些天我感受到了老師對(duì)我的教導(dǎo)。雖然在這次試訓(xùn)中遇到了很多困難,但在老師的幫助下,我克服了過(guò)去。也讓我真正學(xué)到了一些平時(shí)在理論課上學(xué)不到的實(shí)用的東西。我會(huì)珍惜這次經(jīng)歷。再一次,我感受到了你對(duì)我的教導(dǎo)!7.3 方案

47、的優(yōu)缺點(diǎn)功能優(yōu)勢(shì):1.簡(jiǎn)潔明了的節(jié)目菜單。程序主要采用六組不同層次的菜單,相互獨(dú)立,巧妙地相互連接,符合用戶的使用習(xí)慣和思維。2.人性化的程序提示語(yǔ)言。程序提示語(yǔ)言更加人性化,不僅以祈使句和疑問(wèn)句居多,而且提示清晰,具有很強(qiáng)的明確引導(dǎo)功能。程序的提示不僅層次分明,提示方式多樣,而且提示信息有序,更有利于用戶對(duì)程序的流暢、準(zhǔn)確操作。3.智能模塊設(shè)計(jì)。程序的智能化主要體現(xiàn)在減少很多人工操作。功能模塊完成后會(huì)返回主菜單運(yùn)行下一個(gè)模板,并提示是否再次進(jìn)行類似操作,給用戶帶來(lái)方便,大大提高學(xué)生選課的效率。該方案的缺點(diǎn):1. 流程雖然經(jīng)過(guò)多次精簡(jiǎn),但只是形式和范圍上的精簡(jiǎn),仍然本質(zhì)上并沒(méi)有精簡(jiǎn),也就是沒(méi)有

48、找到更簡(jiǎn)單、更高效、更合理、占用資源更少的算法。2、程序中還有一些不合理的地方。例如,程序的某些部分輸入錯(cuò)誤可能會(huì)導(dǎo)致程序停止或轉(zhuǎn)向其他功能模塊,即程序建議用戶注意提示,進(jìn)行合理準(zhǔn)確的輸入,這樣更有利于管理。3.程序的功能還不完善。比如信息表達(dá)不豐富,比較單一,缺乏圖片、音樂(lè)等元表達(dá)。參考1.王連祥。 C/C+編程大學(xué).2013.72. 譚浩強(qiáng)C語(yǔ)言程序設(shè)計(jì)學(xué)習(xí)指南(第2版)清華大學(xué)。 2012 年 12 月3.李、龔以健C語(yǔ)言編程實(shí)踐指導(dǎo)教程華中科技大學(xué)2009年6月出版4.曉東、洪振,C語(yǔ)言編程與應(yīng)用,人民郵電.2009.45.郭翠英C語(yǔ)言課程設(shè)計(jì)案例匯編中國(guó)水利水電2004.03.016

49、.郭友強(qiáng),C語(yǔ)言程序設(shè)計(jì),清華大學(xué),2009年2月1日7. 程丹,穎,那軍,C語(yǔ)言程序設(shè)計(jì)案例實(shí)踐,清華大學(xué),2009年2月1日8.C語(yǔ)言程序設(shè)計(jì)教程,麗娟,人民郵電,2013年1月1日9. 吳亞莉、王永玲、杰亞莉的C語(yǔ)言程序設(shè)計(jì),清華大學(xué),2009年2月1日致在課程實(shí)踐中,我得到了導(dǎo)師的指導(dǎo)和支持。特別感謝老師的大力幫助。導(dǎo)師在對(duì)整體結(jié)構(gòu)和功能的把握上給了我們很大的幫助,同時(shí)也為我們提供了非常優(yōu)越的設(shè)計(jì)環(huán)境,在編程和算法設(shè)計(jì)的細(xì)節(jié)上給了我耐心的指導(dǎo),這對(duì)我的成功起到了關(guān)鍵的作用。完成本課程設(shè)計(jì)。轉(zhuǎn)眼,一周的課程培訓(xùn)結(jié)束了,感覺(jué)老師給我們提供了每周幾次在教室里調(diào)試電腦的機(jī)會(huì),老師為我們解決了各

50、種問(wèn)題,同學(xué)們可以也互相討論。這使今天的成就成為可能,尤其是老師的寶貴意見,給了我很大的啟發(fā)。同時(shí),我也覺(jué)得那些給我?guī)椭耐瑢W(xué)。同時(shí),我覺(jué)得學(xué)校給了我這樣一個(gè)獨(dú)立完成一門課程設(shè)計(jì)的機(jī)會(huì),并且在這個(gè)過(guò)程中,也給了我們各種便利,所以在這個(gè)學(xué)期結(jié)束的時(shí)候,我們可以申請(qǐng)將所學(xué)知識(shí)付諸實(shí)踐,增強(qiáng)了我們的實(shí)際操作和實(shí)際應(yīng)用能力,提高了我們的獨(dú)立思考能力。我覺(jué)得這兩年所有的老師和同學(xué)都給了我指導(dǎo)和幫助。他們教會(huì)了我專業(yè)知識(shí)和學(xué)習(xí)方法。多虧了他們,我才能在各方面都取得了長(zhǎng)足的進(jìn)步,在此向他們表示衷心的祝愿。附錄:源代碼#include “stdio.h”#include “字符串.h”#include “st

51、dlib.h”#include “malloc.h”無(wú)效prin1();無(wú)效選擇();typedef 結(jié)構(gòu)主題整數(shù);字符名稱20;字符種類10; /課程編號(hào)/課程名稱/課程性質(zhì)時(shí)間; /總課時(shí)時(shí)間; /教學(xué)時(shí)間國(guó)際時(shí)間; /在實(shí)驗(yàn)或電腦操作期間積分; /學(xué)分國(guó)際術(shù)語(yǔ); /課程的期限。結(jié)構(gòu)主題*下一個(gè);子;SUB *頭=NULL;SUB *create_form() / 創(chuàng)建一個(gè)鏈表SUB *頭,*尾,*p;整數(shù),時(shí)間,時(shí)間;int etime,score,term;字符名稱20,種類10;int size=sizeof(SUB);頭=尾=NULL;printf(輸入選修課信息:n);scanf

52、(%d%s%s%d%d%d%d%d,&num,name,kind,&stime,&ttime,&etime,&score,&term);而(數(shù)!=0)p=(SUB *)malloc(大小);p-數(shù)字=數(shù)字;strcpy(p-名稱,名稱);strcpy(p-種類,種類);p-時(shí)間=時(shí)間;p-ttime=ttime;p-etime=etime;p-分?jǐn)?shù)=分?jǐn)?shù);p-術(shù)語(yǔ)=術(shù)語(yǔ);如果(頭=NULL)頭=p;別的尾-下一個(gè)=p;尾=p;scanf(%d%s%s%d%d%d%d%d,&num,name,種類,&stime,&ttime,&etime,&score,&term);尾-下一個(gè)=NULL;返回頭

53、;void savefile() / 保存文件子 *p;文件 *fp;fp=fopen(2.txt,w);如果(fp=NULL)退出(0);printf(課程編號(hào)、課程名稱、課程性質(zhì)、總學(xué)時(shí)教學(xué)小時(shí)實(shí)驗(yàn)或計(jì)算機(jī)小時(shí)學(xué)分開始學(xué)期 n );for(p=head; p; p=p-next)fprintf(fp,%5d%12s%9s%9d%9d%11d%11d%7dn,p-num,p-name,p-kind,p-stime,p-ttime,p-etime,p-score,p-term);fclose(fp);printf(創(chuàng)建的信息已經(jīng)放入2.txt文件n);系統(tǒng)(“暫?!保籿oid savefil

54、e1() / 保存文件子 *p;文件 *fp;fp=fopen(3.txt,w);如果(fp=NULL)退出(0);for(p=head; p; p=p-next)fprintf(fp,%5d%12s%9s%9d%9d%11d%11d%7dn,p-num,p-name,p-kind,p-stime,p-ttime,p-etime,p-score,p-term);fclose(fp);printf(創(chuàng)建的信息已經(jīng)放入3.txt文件n);系統(tǒng)(“暫?!保籿oid readfile() / 讀取文件無(wú)效 *myInsert(SUB*);子 *newSub; /新課程整數(shù),時(shí)間,時(shí)間,時(shí)間;積分,期

55、限;字符20,種類10,fname20;文件 *fp;fp=fopen(2.txt,r);而(!feof(fp)newSub=(SUB*)malloc(sizeof(SUB);fscanf(fp,%d%s%s%d%d%d%d%dn,&newSub-num,newSub-name,newSub-kind,&newSub-stime,&newSub-ttime,&newSub-etime,&newSub-score,&newSub-term);我的插入(新子);fclose(fp);void prin() / 瀏覽所有課程子 *ptr;頭=空;讀取文件();如果(頭=NULL)printf(nnt

56、*沒(méi)有記錄!*n);返回;printf(課程號(hào)、課程名稱、課程性質(zhì)、總課時(shí)或練習(xí)計(jì)算機(jī)時(shí)間和學(xué)分 n );for(ptr=head;ptr;ptr=ptr-next)printf(%5d%12s%9s%9d%9d%11d%11d%7dn,ptr-num,ptr-name,ptr-kind,ptr-stime,ptr-ttime,ptr-etime,ptr-score,ptr-term); 系統(tǒng)(“暫?!保籿oid prin1() / 瀏覽所有選修課子 *ptr;文件 *fp;if(fp=fopen(3.txt,r)=NULL)printf(無(wú)法打開文件。n);選擇();printf(課程號(hào)、

57、課程名稱、課程性質(zhì)、總課時(shí)或練習(xí)計(jì)算機(jī)時(shí)間和學(xué)分 n );而(!feof(fp)ptr=(SUB*)malloc(sizeof(SUB);fscanf(fp,%d%s%s%d%d%d%d%dn,&ptr-num,ptr-name,ptr-種類, &ptr-stime,&ptr-ttime, &ptr-etime,&ptr-score,&ptr-term); printf(%5d%12s%9s%9d%9d%11d%11d%7dn,ptr-num,ptr-name,ptr-kind,ptr-stime,ptr-ttime,ptr-etime,ptr-score,ptr-term); fclose(

58、fp);系統(tǒng)(“暫停”);void *myInsert( SUB *subj) / 鏈表插入操作SUB *ptr,*ptr2;點(diǎn)=主題;如果(頭=NULL)頭=ptr;頭-下一個(gè)=NULL;別的for(ptr2=head;ptr2;ptr2=ptr2-next)如果(ptr2-下一個(gè)=NULL)ptr2-下一個(gè)=主題;主題-下一個(gè)=NULL;休息;返回頭;void *insert()/插入課程信息子 *ptr,*subj;int size=sizeof(SUB);字符 ch,ch1;而(ch!=0)subj=(SUB *)malloc(大小);點(diǎn)=主題;printf(輸入要插入的課程信息:n)

59、;printf(ntt請(qǐng)輸入課程號(hào):); scanf(%d,&subj-num);printf(ntt請(qǐng)輸入課程名稱:); scanf(%s,&subj-name);printf(ntt請(qǐng)輸入課程性質(zhì):); scanf(%s,&subj-kind);printf(ntt請(qǐng)輸入總小時(shí)數(shù):); scanf(%d,&subj-stime);printf(ntt請(qǐng)輸入教學(xué)時(shí)間:); scanf(%d,&subj-ttime);printf(ntt請(qǐng)輸入練習(xí)或計(jì)算機(jī)小時(shí)數(shù):); scanf(%d,&subj-etime);printf(ntt請(qǐng)輸入學(xué)分:); scanf(%d,&subj-score);

60、printf(ntt請(qǐng)輸入開始學(xué)期:); scanf(%d,&subj-term);我的插入(主題);printf(n添加后新信息保存在文件n);printf(n請(qǐng)按回車?yán)^續(xù)插入n);printf(n按0:bb完成添加課程);ch1=getchar(); /將回車鍵分配給CH1,否則,subj-term 輸入的回車鍵會(huì)被賦值給 CH,所以會(huì)填入 CH1。 ch=getchar();返回頭;void *del() / 刪除課程子 *p1,*p2;字符 ch,ch1;整數(shù);而(ch!=0)printf(輸入要?jiǎng)h除的課程號(hào):bbbb);scanf(%d,&num);如果(頭-數(shù)=數(shù))p2=頭;頭=頭

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝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ù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 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)論