課程設(shè)計(jì)任務(wù)書(shū)(學(xué)生選修課程系統(tǒng)9).doc_第1頁(yè)
課程設(shè)計(jì)任務(wù)書(shū)(學(xué)生選修課程系統(tǒng)9).doc_第2頁(yè)
課程設(shè)計(jì)任務(wù)書(shū)(學(xué)生選修課程系統(tǒng)9).doc_第3頁(yè)
課程設(shè)計(jì)任務(wù)書(shū)(學(xué)生選修課程系統(tǒng)9).doc_第4頁(yè)
課程設(shè)計(jì)任務(wù)書(shū)(學(xué)生選修課程系統(tǒng)9).doc_第5頁(yè)
已閱讀5頁(yè),還剩25頁(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)介

課 程 設(shè) 計(jì) 報(bào) 告課程名稱 c語(yǔ)言課程設(shè)計(jì) 課題名稱 學(xué)生選修課系統(tǒng)設(shè)計(jì) 專(zhuān) 業(yè) 班 級(jí) 學(xué) 號(hào) 姓 名 指導(dǎo)教師 2010年 12 月 27 日湖南工程學(xué)院課 程 設(shè) 計(jì) 任 務(wù) 書(shū)課程名稱 c語(yǔ)言課程設(shè)計(jì) 課 題 學(xué)生選修課系統(tǒng)設(shè)計(jì) 專(zhuān)業(yè)班級(jí) 學(xué)生姓名 學(xué) 號(hào) 指導(dǎo)老師 審 批 任務(wù)書(shū)下達(dá)日期 2010 年 12 月 27 日任務(wù)完成日期 2011年 1 月 2日一、設(shè)計(jì)內(nèi)容與設(shè)計(jì)要求1設(shè)計(jì)內(nèi)容:通過(guò)該系統(tǒng)實(shí)現(xiàn)對(duì)學(xué)生選修課程信息進(jìn)行錄入、輸出、修改、刪除、插入、查詢、保存等操作的管理。假定有n門(mén)課程,每門(mén)課程有課程編號(hào),課程名稱,課程性質(zhì),總學(xué)時(shí),授課學(xué)時(shí),實(shí)驗(yàn)或上機(jī)學(xué)時(shí),學(xué)分,開(kāi)課學(xué)期等信息,學(xué)生可按要求(如總學(xué)分不得少于60)自由選課。設(shè)計(jì)一選修課程系統(tǒng),使之能提供以下功能:1)、系統(tǒng)以菜單方式工作v2)、課程信息錄入功能(課程信息用文件保存)3)、課程信息瀏覽功能4)、查詢功能:(至少一種查詢方式)按學(xué)分查詢按課程性質(zhì)查詢學(xué)生選修課程(可選項(xiàng))2設(shè)計(jì)要求:1)、設(shè)計(jì)正確,方案合理。2)、界面友好,使用方便。3)、程序精煉,結(jié)構(gòu)清晰。4)、設(shè)計(jì)報(bào)告5000字以上,。5)、上機(jī)演示。二、進(jìn)度安排第17周 星期一 布置任務(wù),查找資料。 星期二 確定總體方案,進(jìn)行詳細(xì)設(shè)計(jì)。 星期三 編寫(xiě)程序,上機(jī)調(diào)試。 星期四 編寫(xiě)程序,上機(jī)調(diào)試。星期五 答辯,總結(jié)。星期六星期天 寫(xiě)課程設(shè)計(jì)報(bào)告附:課程設(shè)計(jì)報(bào)告裝訂順序:封面、任務(wù)書(shū)、目錄、正文、附件、評(píng)分(a4大小的圖紙及程序清單)。 正文的格式:一級(jí)標(biāo)題用3號(hào)黑體,二級(jí)標(biāo)題用四號(hào)宋體加粗,正文用小四號(hào)宋體;行距為22。正文的內(nèi)容:一、1、設(shè)計(jì)目的 2、總體設(shè)計(jì)(程序設(shè)計(jì)組成框圖、流程圖)3、詳細(xì)設(shè)計(jì)(模塊功能說(shuō)明(如函數(shù)功能、入口及出口參數(shù)說(shuō)明,函數(shù)調(diào)用關(guān)系描述等)4、調(diào)試與測(cè)試:調(diào)試方法,測(cè)試結(jié)果的分析與討論,測(cè)試過(guò)程中遇到的主要問(wèn)題及采取的解決措施 5、總結(jié)與體會(huì):課程設(shè)計(jì)的心得與體會(huì)。附件:源程序清單,清單中應(yīng)有足夠的注釋正文總字?jǐn)?shù)要求在5000字以上(不含程序原代碼)。目錄第一部分:設(shè)計(jì)目的 1.1、設(shè)計(jì)內(nèi)容、要求第二部分:總體設(shè)計(jì) 2.1、總體說(shuō)明 2.2、設(shè)計(jì)組成框圖第三部分: 詳細(xì)設(shè)計(jì) 3.1、函數(shù)功能模塊圖 3.2、函數(shù)功能模塊說(shuō)明及其流程圖第四部分:調(diào)試與測(cè)試第五部分:總結(jié)與體會(huì) 5.1、對(duì)本程序的認(rèn)識(shí)、優(yōu)化設(shè)想 5.2、心得與體會(huì)附:源程序清單和執(zhí)行結(jié)果第一部分:設(shè)計(jì)目的1.1、設(shè)計(jì)內(nèi)容、要求通過(guò)該系統(tǒng)實(shí)現(xiàn)對(duì)學(xué)生選修課程信息進(jìn)行錄入、輸出、修改、刪除、插入、查詢、保存等操作的管理。假定有n門(mén)課程,每門(mén)課程有課程編號(hào),課程名稱,課程性質(zhì),總學(xué)時(shí),授課學(xué)時(shí),實(shí)驗(yàn)或上機(jī)學(xué)時(shí),學(xué)分,開(kāi)課學(xué)期等信息,學(xué)生可按要求(如總學(xué)分不得少于60)自由選課。設(shè)計(jì)一選修課程系統(tǒng),使之能提供以下功能:1)、系統(tǒng)以菜單方式工作v2)、課程信息錄入功能(課程信息用文件保存)3)、課程信息瀏覽功能4)、查詢功能:(至少一種查詢方式)按學(xué)分查詢按課程性質(zhì)查詢學(xué)生選修課程(可選項(xiàng))我們知道在各行各業(yè)中離不開(kāi)信息處理,這正是計(jì)算機(jī)被廣泛應(yīng)用于信息系統(tǒng)的環(huán)境。計(jì)算機(jī)的最到好處的于利用它能夠進(jìn)行信息管理,使用計(jì)算機(jī)進(jìn)行信息控制,不僅提高了工作效率,而且大大的提高了其安全性。尤其對(duì)于復(fù)雜的信息管理,計(jì)算機(jī)能夠充分發(fā)揮它的優(yōu)越性。計(jì)算機(jī)進(jìn)行信息管理與信息管理系統(tǒng)的開(kāi)發(fā)密切相關(guān),系統(tǒng)的開(kāi)發(fā)是系統(tǒng)管理的前提。本系統(tǒng)就是為了管理好學(xué)生選課信息而設(shè)計(jì)的。數(shù)據(jù)處理手工操作,工作量大,出錯(cuò)率高,出錯(cuò)后不易更改,造成了時(shí)間上的浪費(fèi)?;谶@個(gè)問(wèn)題,有必要建立一個(gè)學(xué)生選課系統(tǒng),使學(xué)生選課信息管理工作規(guī)范化、系統(tǒng)化、程序化,避免學(xué)生選課管理的隨意性,提高信息處理的速度和準(zhǔn)確性,能夠及時(shí)、準(zhǔn)確、有效的查詢和修改選課情況圍繞著這樣一個(gè)內(nèi)容,我設(shè)計(jì)程序的目的主要是能夠在用戶系統(tǒng)菜單中完成對(duì)課程信息的錄入(保存在文件內(nèi))、對(duì)已經(jīng)錄入的信息的瀏覽(即完成文件的輸出)、能夠按照學(xué)分查詢結(jié)果。使程序可以很好的運(yùn)行下去。第二部分:總體設(shè)計(jì)2.1、總體說(shuō)明由于c語(yǔ)言是面對(duì)過(guò)程的語(yǔ)言,故我的設(shè)計(jì)思路是根據(jù)目標(biāo)程序運(yùn)行的過(guò)程來(lái)編寫(xiě)的。在編寫(xiě)本程序的過(guò)程中,首先借助指導(dǎo)材料,確定了目標(biāo)程序運(yùn)行的次序與界面,即本程序首先運(yùn)行【用戶系統(tǒng)】菜單界面,其次程序運(yùn)行【用戶插入課程信息】及【用戶瀏覽課程】菜單界面,最后程序運(yùn)行【統(tǒng)計(jì)選課信息】及【選課】界面。如果用戶選擇【插入用戶信息】選項(xiàng)則程序進(jìn)入出入用戶課程信息界面。需要一次輸入課程編號(hào),課程名稱,課程性質(zhì),總學(xué)時(shí),授課時(shí)間,實(shí)驗(yàn)或上機(jī)學(xué)時(shí),學(xué)分,開(kāi)課學(xué)期等信息;如果用戶選擇【瀏覽課程】選項(xiàng)則程序進(jìn)入【瀏覽課程】界面,將會(huì)顯示所選課程的信息;如果用戶選擇【查詢】選項(xiàng)則會(huì)顯示按學(xué)分查詢的選課信息;一次用戶還可以查看某門(mén)課程的所選情況。 其次,根據(jù)目標(biāo)程序運(yùn)行的次序與界面,確定設(shè)計(jì)順利,設(shè)計(jì)界面(包括各部分菜單與用戶提示信息)。再次是按照程序運(yùn)行的各界面下的菜單功能編寫(xiě)各功能模塊,并調(diào)試程序各功能模塊,使各模塊能夠穩(wěn)定高效準(zhǔn)確地完成對(duì)應(yīng)功能。其中的數(shù)據(jù)結(jié)構(gòu)可用結(jié)構(gòu)體,包括授課和選課兩個(gè)結(jié)構(gòu)體,其中課程結(jié)構(gòu)體成員包括編號(hào),課程名稱,課程性質(zhì),總學(xué)時(shí),授課學(xué)時(shí),實(shí)驗(yàn)或上機(jī)時(shí)間,學(xué)分,開(kāi)課學(xué)期。學(xué)生結(jié)構(gòu)體成員包括學(xué)號(hào),課程編號(hào),該結(jié)構(gòu)體的建立主要是為了查詢某門(mén)課程學(xué)生選修情況。最后是程序的總體調(diào)試及功能完善,此部分從學(xué)生選課的角度出發(fā),考慮了更加人性化、更加合理、更加高效準(zhǔn)確、更加智能化的設(shè)計(jì)。2.2設(shè)計(jì)的組成框圖學(xué)生可選修課系統(tǒng)進(jìn)行選課統(tǒng)計(jì)選課情況查找選課信息瀏覽課程信息插入課程信息學(xué)生可選修課系統(tǒng)學(xué)生端由于總的流程圖結(jié)構(gòu)過(guò)于龐大,我把流程圖細(xì)化成了各部分小的流程圖,對(duì)每一部分的運(yùn)行都有詳細(xì)的體現(xiàn),在第三部分詳細(xì)設(shè)計(jì)里面有描述。 第三部分、詳細(xì)設(shè)計(jì)3.1函數(shù)功能模塊圖insertmenu() browsersearch xuanke_information3.2、函數(shù)功能模塊說(shuō)明及其流程圖函數(shù)模塊 功 能 說(shuō) 明 insert 插入課程信息 bowser 瀏覽課程信息 search 查找課程信息 xanke_information 進(jìn)行選課統(tǒng)計(jì) 功能模塊說(shuō)明及其流程圖(1)【插入信息功能】先檢查文件是否為空,若為空,則顯示cannot open file 若不為空,則屏幕顯示 “the format is num name xingzhi time ttime etime mark term::”及需要一次插入課程編號(hào),課程名稱,課程性質(zhì),總學(xué)時(shí),授課時(shí)間,實(shí)驗(yàn)或上機(jī)學(xué)時(shí),學(xué)分,開(kāi)課學(xué)期的信息。填寫(xiě)完這些信息后,程序?qū)㈥P(guān)閉所寫(xiě)入文件,并跳入系統(tǒng)菜單進(jìn)行其他功能的運(yùn)行?!灸K流程圖】開(kāi) 始 無(wú)文件 有文件 cannot open file輸入順序是:課程編號(hào) 課程名稱 課程性質(zhì) 總學(xué)時(shí) 授課學(xué)時(shí) 實(shí)驗(yàn)或上機(jī)學(xué)時(shí) 學(xué)分 開(kāi)課學(xué)期系 統(tǒng) 菜 單(2)【瀏覽信息功能】 如果所瀏覽信息的文件為空文件,則屏幕顯示“cannot open course !”否則會(huì)顯示以前輸入的課程信息(課程編號(hào),課程名稱,課程性質(zhì),總學(xué)時(shí),授課時(shí)間,實(shí)驗(yàn)或上機(jī)學(xué)時(shí),學(xué)分,開(kāi)課學(xué)期)。執(zhí)行完畢后,程序先關(guān)閉瀏覽文件,再跳入主菜單,進(jìn)行其他功能的運(yùn)行。(3)【查找選課信息功能】 函數(shù)首先申明調(diào)用“struct course c ”,輸出輸入你要查找的學(xué)分:,即按學(xué)分查詢所需課程的信息。若原函數(shù)沒(méi)有文件,則輸出“cannot open course ! ”,否則將輸出所需課程的信息。接著關(guān)閉該文件,程序跳入主菜單進(jìn)行其他功能的運(yùn)行。 流程模塊圖:開(kāi) 始無(wú)文件 有文件 顯示所選課程信息time ttime etime mark term:cannot open course !系 統(tǒng) 菜 單(4)【統(tǒng)計(jì)選課人數(shù)功能】函數(shù)首先調(diào)用“struct student c”,輸出“輸入你要查找的課程編號(hào):”若原函數(shù)為空,則輸出“cannot open student!”。否則將輸出“選擇課程%d 的人數(shù)是:%d!(及選擇該門(mén)課程的同學(xué)有幾人)。接著關(guān)閉函數(shù),進(jìn)入系統(tǒng)菜單。進(jìn)行其他功能的運(yùn)行。 (5)【選課功能】【設(shè)計(jì)思路簡(jiǎn)述】函數(shù)運(yùn)行首先輸出“請(qǐng)輸入你的學(xué)生號(hào)以及你要查找的課程編號(hào):”,如果用戶輸入的信息在原先輸入的文件中不存在,則屏幕顯示“cannot open student!”,否則就選課成功,關(guān)閉文件,跳入系統(tǒng)菜單進(jìn)行其他功能的運(yùn)行。(6)【void menu()功能】int n,w=0;printf(ntt please enter a number from 0 to 5!); printf(nnnt*選課系統(tǒng)菜單*); printf(ntt 1 -插入信息); printf(ntt 2 -瀏覽信息); printf(ntt 3 -查找選課信息); printf(ntt 4 - 統(tǒng)計(jì)選課人數(shù));printf(ntt 5- 選課); printf(ntt 0退出系統(tǒng)); printf(nnnt*);printf(nnnnnntt請(qǐng)選擇(0-5)); scanf(%d,&n);doif(n5|n0)printf(nwrong! input again!);scanf(%d,&n);else w=1;while(w=0);switch(n)case 1:insert();break;case 2:browser();break;case 3:search();break;case 4:xuan_ke();break;case 5:xuanke_information();break;case 0:exit(0);及系統(tǒng)主菜單界面,依次表示插入課程信息,瀏覽課程信息,查找選課信息,統(tǒng)計(jì)選課情況,進(jìn)行選課的功能。最后退出程序。第四部分:程序的調(diào)試與測(cè)試調(diào)試過(guò)程中遇到的問(wèn)題主要中英文的交替問(wèn)題,因?yàn)榫帉?xiě)程序時(shí)為了統(tǒng)一,所以將程序全寫(xiě)成了英文,后來(lái)執(zhí)行程序時(shí)并未遇到語(yǔ)法問(wèn)題,算法也沒(méi)有出現(xiàn)不適當(dāng)?shù)牡胤剑ó?dāng)然可能有更加好的的算法)。但是,對(duì)于我們中國(guó)人來(lái)說(shuō),閱讀起來(lái)很不方便,所以后來(lái)綜合考慮將英文全部換成了中文,主菜單界面也做了小的改變。為了使程序更加實(shí)用更加人性化,我在原來(lái)的程序中加入了統(tǒng)計(jì)學(xué)生選課人數(shù)這一功能,這樣最后執(zhí)行時(shí),各步驟的界面極其操作如下:如某同學(xué)想進(jìn)入選修課系統(tǒng)進(jìn)行選課,登錄后進(jìn)入主菜單界面。程序主菜單界面如下:進(jìn)入此界面后,選擇1,程序進(jìn)入插入學(xué)生課程信息界面,界面如下:學(xué)生需要一次性連續(xù)依次輸入課程編號(hào),課程名稱,課程性質(zhì),總學(xué)時(shí),授課時(shí)間,實(shí)驗(yàn)或上機(jī)時(shí)間,學(xué)分,開(kāi)課學(xué)期的信息,如依次輸入1 yuwen jichu 60 35 25 5 2界面顯示如下:若用戶要瀏覽選課信息,則輸入2按回車(chē)鍵,界面顯示如下:若用戶要查找課程信息,輸入3后按回車(chē)鍵,界面顯示如下:系統(tǒng)及依學(xué)分進(jìn)行查詢,輸入5后按回車(chē)鍵后界面顯示如下: 如果用戶要選擇選課功能,則輸入5按回車(chē)鍵,界面顯示如下:界面提示需要用戶輸入學(xué)生學(xué)號(hào)和課程號(hào),比如輸入2 5后按回車(chē)鍵,界面顯示如下:此時(shí),選課成功。系統(tǒng)以課程號(hào)進(jìn)行查詢,輸入4,界面如下:如輸入5按回車(chē)鍵界面顯示如下:選課完畢,要退出程序,可直接輸入0按回車(chē)鍵。第五部分:總結(jié)與體會(huì)5.1、對(duì)本程序的認(rèn)識(shí)與總結(jié)、優(yōu)化設(shè)想(1)【程序的優(yōu)點(diǎn)】算法是程序的靈魂,程序的優(yōu)點(diǎn)首先表現(xiàn)在算法上的優(yōu)點(diǎn),其次才是功能上的。算法上的優(yōu)點(diǎn):主要體現(xiàn)在以下二點(diǎn):1. 程序采用模塊化設(shè)計(jì),程序的主體的功能大都由各功能模塊完成。程序設(shè)計(jì)模塊化有利于程序的進(jìn)一步改進(jìn)及有助于程序執(zhí)行效率的提高。2. 程序執(zhí)行次序控制、for循環(huán)、功能模塊函數(shù)的巧妙結(jié)合。例如插入課程信息界面結(jié)束,可返回系統(tǒng)菜單界面,主要是借助插入信息模塊返回的值來(lái)實(shí)現(xiàn)的。另外,對(duì)結(jié)構(gòu)體數(shù)組數(shù)據(jù)的修改采用了層次明顯的程序步驟,有助于相應(yīng)功能模塊的準(zhǔn)確高效運(yùn)行。程序的源代碼是在邊看書(shū)、邊查資料、詢問(wèn)、長(zhǎng)期思考與設(shè)計(jì)、調(diào)試、試驗(yàn)的基礎(chǔ)上參照資料編寫(xiě)出來(lái)的,在編寫(xiě)程序的過(guò)程中,得到了許多的鍛煉,編程的思維也得以塑造。程序源代碼經(jīng)過(guò)數(shù)次精簡(jiǎn),但仍然比較龐大,應(yīng)是編程經(jīng)驗(yàn)不足造成的,雖不能說(shuō)本程序源代碼比他人的類(lèi)似代碼運(yùn)行效率更高,占有資源更少,但是程序執(zhí)行的準(zhǔn)確性還是能夠保障的。功能上的優(yōu)點(diǎn):主要體現(xiàn)在以下三點(diǎn):1.簡(jiǎn)潔明了的程序菜單。程序主要采用了六組層次不同的菜單,相互獨(dú)立又相互聯(lián)系,巧妙相接,符合用戶的使用習(xí)慣與思維。2.人性化的程序提示語(yǔ)言,程序提示語(yǔ)言較人性化,不僅大多為祈使語(yǔ)句、疑問(wèn)句,而且提示明確,具有較強(qiáng)的明確的指導(dǎo)作用。程序提示不僅層次分明,提示方式多樣,而且提示信息井然有序,更加有利于用戶順利、準(zhǔn)確地進(jìn)行程序的操作。3.智能化的模塊設(shè)計(jì)。程序的智能化主要體現(xiàn)在減少了許多人工操作。如功能模塊操作結(jié)束后,均會(huì)返回主菜單進(jìn)行下一模板的運(yùn)行,并提示是否再進(jìn)行類(lèi)似的操作,這樣給用戶帶來(lái)了操作的方便,大大提高了學(xué)生選課的效率。本程序達(dá)到了c語(yǔ)言課程設(shè)計(jì)題目的所有要求。能夠按系統(tǒng)菜單方式工作。其次,有課程信息和學(xué)生選課信息錄入功能(課程信息用文件保存輸入),還有課程信息瀏覽功能輸出,以及要求的查詢功能(至少一種查詢方式)算法;按學(xué)分查詢;某門(mén)課程學(xué)生選修情況(可選項(xiàng))的功能要求。與此同時(shí),程序各模塊開(kāi)發(fā)設(shè)計(jì)依據(jù)了程序的具體實(shí)際的使用情景,而有所改進(jìn),使其更具有實(shí)用性。(2)【程序的缺點(diǎn)】主要表現(xiàn)在以下四點(diǎn):1.程序雖然經(jīng)過(guò)多次精簡(jiǎn),但僅僅是形式上、小范圍的精簡(jiǎn),仍未得到本質(zhì)上的精簡(jiǎn),即未找到更加簡(jiǎn)單、更加高效、更加合理、更小占用的資源的算法。2.程序仍然存在不合理的地方,例如程序某些部分輸入錯(cuò)誤會(huì)導(dǎo)致程序中止或轉(zhuǎn)向其他功能模塊,即程序建議用戶注意提示,進(jìn)行合理的準(zhǔn)確的輸入,這樣更有利于管理工作。3.程序功能仍然不夠完善。例如信息表達(dá)方式不豐富,比較單一,缺少圖片、音樂(lè)等元化表達(dá)方式。(3)【優(yōu)化設(shè)想】主要是針對(duì)上部分程序的優(yōu)缺點(diǎn)提出程序的優(yōu)化思路。針對(duì)第一點(diǎn):程序算法精簡(jiǎn)問(wèn)題:改進(jìn)思路1.算法上除了采用結(jié)構(gòu)體數(shù)組外,考慮在程序的算法設(shè)計(jì)上引入鏈表結(jié)構(gòu),考察這樣對(duì)數(shù)據(jù)組織存貯效率上是否具有提高作用。2.就現(xiàn)有知識(shí)水平、經(jīng)驗(yàn)來(lái)看,對(duì)我來(lái)說(shuō),本程序的算法設(shè)計(jì)上已經(jīng)是最精簡(jiǎn)的了。語(yǔ)言知識(shí)博大精深,有必要對(duì)c語(yǔ)言的專(zhuān)著進(jìn)行研究學(xué)習(xí),多閱讀別人的程序代碼、多動(dòng)手實(shí)踐操作與設(shè)計(jì),這樣便對(duì)程序算法精簡(jiǎn)改進(jìn)提供了可能。針對(duì)第二點(diǎn):用戶輸入錯(cuò)誤問(wèn)題:改進(jìn)思路:對(duì)每個(gè)數(shù)據(jù)輸入段代碼進(jìn)行更深的研究與分析,明確變量的類(lèi)型、可能的數(shù)值,然后進(jìn)行分類(lèi)判斷(if或switch語(yǔ)句),必要時(shí)借助for循環(huán)語(yǔ)句來(lái)控制程序進(jìn)行,保障各模塊運(yùn)行相對(duì)獨(dú)立,穩(wěn)定準(zhǔn)確執(zhí)行各自功能。典型方法是如果輸入數(shù)據(jù)錯(cuò)誤,通過(guò)printf輸出問(wèn)題,并用for或(do)while構(gòu)成循環(huán),輸入三次以上程序自動(dòng)跳出主菜單或直到用戶輸入正確為止。針對(duì)第三點(diǎn):程序功能完善問(wèn)題:改進(jìn)思路:插入課程信息模塊設(shè)計(jì)思路:可另行設(shè)置獨(dú)立模塊,能一次性多輸入選課用戶,并將其分別存放在文件中,等待用戶調(diào)用查看瀏覽和統(tǒng)計(jì)。 可增加選課信息修改的功能模塊設(shè)計(jì)思路:首先系統(tǒng)應(yīng)該正確錄入用戶多輸入的課程信息,再獨(dú)立設(shè)置校該用戶選課信息模塊,當(dāng)用戶進(jìn)入菜單后提示用戶是否修改選課信息,確定后用戶可另行選課,最后提示用戶修改成功。 針對(duì)第四點(diǎn):操作界面單調(diào)問(wèn)題:改進(jìn)思路:c語(yǔ)言是面向過(guò)程的語(yǔ)言,當(dāng)今的主流語(yǔ)言是面向?qū)ο蟮恼Z(yǔ)言,開(kāi)發(fā)的平臺(tái)大多為windows界面平臺(tái),開(kāi)發(fā)的程序也主要是windows組件基礎(chǔ)之上的圖形界面程序,故可將程序要求移植到vc+之上,借助vc+強(qiáng)大的功能,編寫(xiě)windows界面程序,利用api接口函數(shù)方便調(diào)用各種windows強(qiáng)大功能,服務(wù)程序,使程序更加豐富、直觀、高效,生動(dòng)。5.2心得與體會(huì) 大的方面來(lái)講,通過(guò)這一次的程序設(shè)計(jì),強(qiáng)化了我對(duì)基本理論聯(lián)系實(shí)際的能力,加深對(duì)c+程序結(jié)構(gòu)和面向?qū)ο蟪绦蛟O(shè)計(jì)思想的理解;通過(guò)程序中相關(guān)功能的實(shí)現(xiàn),加強(qiáng)我們對(duì)c+程序設(shè)計(jì)的操控能力。在設(shè)計(jì)過(guò)程中以及程序的調(diào)試過(guò)程中遇到了許多問(wèn)題,有不該犯的,習(xí)慣性的錯(cuò)誤,也有因一些知識(shí)還未掌握而犯的錯(cuò)誤,不過(guò)經(jīng)過(guò)一次次的檢查,修改,編譯,以及問(wèn)同學(xué)、老師一些我不懂的知識(shí)、問(wèn)題。漸漸的錯(cuò)誤也就少犯了,懂得知識(shí)也多了,同時(shí)也使自己更加細(xì)心和耐心。通過(guò)該系統(tǒng)的課程設(shè)計(jì)分析,掌握了模塊化設(shè)計(jì)的方法,理解和運(yùn)用了結(jié)構(gòu)化程序設(shè)計(jì)的思想和方法,掌握和提高了運(yùn)用c語(yǔ)言進(jìn)行程序設(shè)計(jì)的能力。程序設(shè)計(jì)的過(guò)程,實(shí)際上是確定解決問(wèn)題的詳細(xì)步驟,而這個(gè)步驟通常叫做流程,在程序設(shè)計(jì)過(guò)程中理清楚整個(gè)問(wèn)題的流程很重要,然后采取逐步細(xì)化的方法實(shí)現(xiàn)整個(gè)程序。對(duì)于一個(gè)較大的應(yīng)用程序,我們一般不可能一次就設(shè)計(jì)出一個(gè)很完善的系統(tǒng)。通常要先設(shè)計(jì)滿足基本要求的系統(tǒng),然后再測(cè)試或者在使用的過(guò)程中不斷完善,慢慢地做成一個(gè)功能很完善選修課程管理系統(tǒng)。通過(guò)此次的程序設(shè)計(jì)我學(xué)到了許多。首先,在程序設(shè)計(jì)中的第一步是自己編寫(xiě)了一些功能較為單一的小程序,雖然是小程序,并且有時(shí)候還是錯(cuò)誤的,但所用的知識(shí)卻都是我們本學(xué)期學(xué)習(xí)的重點(diǎn)知識(shí)。在這個(gè)過(guò)程中讓我也把這些知識(shí)復(fù)習(xí)了一遍,強(qiáng)化了知識(shí)! 其次,這次的程序設(shè)計(jì)給我們的將所學(xué)知識(shí)運(yùn)用于解決實(shí)際問(wèn)題的機(jī)會(huì),不再只是單單死記硬背應(yīng)付考試,從而讓人更有激情,也讓我感受到了編寫(xiě)軟件程序的樂(lè)趣。但是不僅僅是如此,更為重要的是在運(yùn)用所學(xué)知識(shí)的過(guò)程中,記住這些知識(shí),并能夠廣泛的運(yùn)用!這一次課程設(shè)計(jì)讓我感受到學(xué)程序可以鍛煉縝密的思維了。因?yàn)槠綍r(shí)練習(xí)題的都是小程序,所以句段比較少,一些錯(cuò)誤都很容易被檢查出來(lái),但是這次的程序卻是上百段的語(yǔ)句,難以檢查,似乎也沒(méi)有經(jīng)驗(yàn)去怎么檢查,那一剎那感覺(jué)到很急,但又不知如何是好,可是又不好輕易的向老師詢問(wèn),因?yàn)楹孟裥U簡(jiǎn)單,相信自己能夠檢查出來(lái),所以我一般都是獨(dú)立思考的完成的,只有少部分是在和與同學(xué)討論下完成的。在編寫(xiě)程序中,可以說(shuō)是細(xì)節(jié)決定成敗,因?yàn)椴还艹绦虻恼Z(yǔ)句是多是少,但是只要有一條語(yǔ)句或語(yǔ)法不正確,就不能使程序得到所需要的結(jié)果。沒(méi)能夠使自己編寫(xiě)出來(lái)的程序等到想要的結(jié)果,意味著這是一個(gè)不理想的程序,對(duì)于本次編寫(xiě)來(lái)說(shuō)則是失敗的。當(dāng)然,在這次的程序設(shè)計(jì)過(guò)程中我也遇到了許多的問(wèn)題,深感到自己的不足。通過(guò)這次實(shí)訓(xùn),也使我們發(fā)現(xiàn)了許多問(wèn)題。在程序設(shè)計(jì)中,我認(rèn)識(shí)到自己還有很多的知識(shí)沒(méi)學(xué)好,基礎(chǔ)知識(shí)沒(méi)理清,而且許多東西還要去翻書(shū),去上網(wǎng)搜索。而且遇到一些小錯(cuò)誤運(yùn)行不出來(lái),就會(huì)煩躁不安,覺(jué)得有些自暴自棄或者抱怨心態(tài),以后要克服,盡量保持一顆良好的心態(tài),學(xué)好c語(yǔ)言,也學(xué)好用c語(yǔ)言編寫(xiě)一個(gè)按要求的系統(tǒng)。我覺(jué)得我還有許多方面需要提高。首先我要繼續(xù)學(xué)習(xí)好c語(yǔ)言的基礎(chǔ)知識(shí),然后能在電腦上熟練的運(yùn)用。然后每天都能寫(xiě)一些程序,上網(wǎng)時(shí)候多看一些優(yōu)秀的教程和優(yōu)秀的代碼。遇到問(wèn)題時(shí)多和同學(xué)討論,并且多弄出幾套方案,多鍛煉自己結(jié)決問(wèn)題的能力和與同學(xué)合作的能力。最后,通過(guò)這次為數(shù)不多的幾天計(jì)算機(jī)課程設(shè)計(jì)實(shí)踐,我領(lǐng)會(huì)了許多關(guān)于c語(yǔ)言的知識(shí),理解鞏固了我的c語(yǔ)言的理論知識(shí),我相信這對(duì)我們將來(lái)到社會(huì)工作將會(huì)有莫大的幫助。同時(shí)它也讓我知道,只要你努力,任何東西都不會(huì)太難 附:源程序清單#include #includestruct course int numchar name15;char xingzhi10;int time;int ttime;int etime;int term;struct studentint snum;int cnum;/*insert*/void insert() void menu(); file *fp; struct course c;if(fp=fopen(course.txt,a+)=null) printf(cannot open filen); printf(nt輸入課程信息 :n); printf(t順序是:課程編號(hào) 名稱 性質(zhì) 總學(xué)時(shí) 授課學(xué)時(shí) 實(shí)驗(yàn)或上機(jī)學(xué)時(shí) 學(xué)分 開(kāi)課學(xué)期:n);scanf(%d %s %s %d %d %d %d %d,&c.num,&,&c.xingzhi,&c.time,&c.ttime,&c. etime,&c.mark,&c.term); fprintf(fp,%d %s %s %d %d %d %d %d,c.num,,c.xingzhi,c.time,c.ttime,c.etime,c.mark,c.term);fclose(fp);menu();/*browse liu_lan*/void browser()void menu();file *fp;struct course c;if(fp=fopen(course.txt,r)=null)printf(ncannot open course!n);for(;!feof(fp);)fscanf(fp,%d%s%s%d%d%d%d%d,&c.num,&,&c.xingzhi,&c.time,&c.ttime,&c.etime,&c.mark,&c.term); printf(%d %s %s %d %d %d %d %d,c.num,,c.xingzhi,c.time,c.ttime,c.etime,c.mark,c.term);fclose(fp);menu();/*search*/void search()void menu();file *fp;struct course c;int score;printf(n輸入你要查找的學(xué)分:);scanf(%d,&score);if(fp=fopen(course.txt,r)=null)printf(ncannot open course!n);for(;!feof(fp);)fscanf(fp,%d %s %s %d %d %d %d %d,&c.num,&,&c.xingzhi,&c.time,&c.ttime,&c.etime,&c.mark,&c.term); if(c.mark=score)printf(%d %s %s %d %d %d %d %d,c.num,,c.xingzhi,c.time,c.ttime,c.etime,c.mark,c.term);fclose(fp);menu();/*tong ji xuan ke ren shu*/void xuanke_information()void menu();int total=0;file *fp;struct student c;int num;printf(n輸入你要查找的課程編號(hào):); scanf(%d,&num);if(fp=fopen(student.t

溫馨提示

  • 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)論