




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