C語(yǔ)言程序設(shè)計(jì)班級(jí)檔案管理系統(tǒng)_第1頁(yè)
C語(yǔ)言程序設(shè)計(jì)班級(jí)檔案管理系統(tǒng)_第2頁(yè)
C語(yǔ)言程序設(shè)計(jì)班級(jí)檔案管理系統(tǒng)_第3頁(yè)
C語(yǔ)言程序設(shè)計(jì)班級(jí)檔案管理系統(tǒng)_第4頁(yè)
C語(yǔ)言程序設(shè)計(jì)班級(jí)檔案管理系統(tǒng)_第5頁(yè)
已閱讀5頁(yè),還剩28頁(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、課 程 設(shè) 計(jì) 報(bào) 告課程名稱 c語(yǔ)言程序設(shè)計(jì) 課題名稱 班級(jí)檔案管理系統(tǒng) 專 業(yè) 計(jì)算機(jī)科學(xué)與技術(shù) 班 級(jí) 1410061 學(xué) 號(hào) 141006107 姓 名 李春苗 指導(dǎo)教師 劉雙紅 2015年6月20日課 程 設(shè) 計(jì) 任 務(wù) 書(shū)課程名稱 c語(yǔ)言程序設(shè)計(jì) 課 題 班級(jí)檔案管理系統(tǒng) 專業(yè)班級(jí) 1410061 學(xué)生姓名 李春苗 學(xué) 號(hào) 141006107 指導(dǎo)老師 劉雙紅 任務(wù)完成日期 2014 年 6 月 20 日一、目的全面熟悉、掌握c語(yǔ)言基本知識(shí),掌握c程序設(shè)計(jì)中的順序、分支、循環(huán)三種結(jié)構(gòu)及數(shù)組、函數(shù)和c語(yǔ)言基本圖形編程等方法,把編程和實(shí)際結(jié)合起來(lái),增強(qiáng)對(duì)不同的問(wèn)題運(yùn)用和靈活選擇合適的數(shù)

2、據(jù)結(jié)構(gòu)以及算法描述的本領(lǐng),熟悉編制和調(diào)試程序的技巧,掌握分析結(jié)果的若干有效方法,進(jìn)一步提高上機(jī)動(dòng)手能力,培養(yǎng)使用計(jì)算機(jī)解決實(shí)際問(wèn)題的能力,養(yǎng)成提供文檔資料的習(xí)慣和規(guī)范編程的思想,為以后在專業(yè)課程中應(yīng)用計(jì)算機(jī)系統(tǒng)解決計(jì)算、分析、實(shí)驗(yàn)和設(shè)計(jì)等學(xué)習(xí)環(huán)節(jié)打下較扎實(shí)的基礎(chǔ)。二、設(shè)計(jì)要求掌握結(jié)構(gòu)化程序設(shè)計(jì)的主體思想,以自頂向下逐步求精的方法編制程序解決一些實(shí)際的問(wèn)題,為將來(lái)編寫(xiě)軟件積累一些典型的案例處理經(jīng)驗(yàn)。1. 設(shè)計(jì)正確,方案合理。2. 界面友好,使用方便。3. 程序精煉,結(jié)構(gòu)清晰。4. 設(shè)計(jì)報(bào)告5000字以上,含程序設(shè)計(jì)說(shuō)明,用戶使用說(shuō)明,源程序清單及程序框圖。5. 上機(jī)演示。6. 按學(xué)號(hào)順序選課題號(hào)

3、,并在規(guī)定的時(shí)間內(nèi)獨(dú)自完成相關(guān)課題的c源程序編寫(xiě)、調(diào)整和運(yùn)行。源程序及編譯生成各文件均保存在軟盤(pán)中;7. 按本任務(wù)書(shū)的要求,按附錄的要求編寫(xiě)課程設(shè)計(jì)報(bào)告(word文檔格式)。并用a4的復(fù)印紙打印并裝訂; 8. 在2010年7月2日之前,請(qǐng)各班學(xué)習(xí)委員收齊課程設(shè)計(jì)報(bào)告和源程序軟盤(pán)交王穎老師 ,聯(lián)系電話三、進(jìn)度安排第一周 星期四: 課題講解,查閱資料第二周星期一: 總體設(shè)計(jì),詳細(xì)設(shè)計(jì)星期二: 編程,上機(jī)調(diào)試、修改程序星期三:上機(jī)調(diào)試、完善程序星期四:上機(jī)調(diào)試、完善程序星期五: 答辯星期六-星期天:撰寫(xiě)課程設(shè)計(jì)報(bào)告一、問(wèn)題描述:對(duì)一個(gè)有n個(gè)學(xué)生的班級(jí),通過(guò)該系統(tǒng)實(shí)現(xiàn)對(duì)該班級(jí)

4、學(xué)生的基本信息進(jìn)行錄入、顯示、修改、刪除、保存等操作的管理。二、功能要求:1、本系統(tǒng)采用一個(gè)包含n個(gè)數(shù)據(jù)的結(jié)構(gòu)體數(shù)組,每個(gè)數(shù)據(jù)的結(jié)構(gòu)應(yīng)當(dāng)包括:學(xué)號(hào)、姓名、性別、年齡、備注。2、本系統(tǒng)顯示這樣的菜單:請(qǐng)選擇系統(tǒng)功能項(xiàng):a. 學(xué)生基本信息錄入b. 學(xué)生基本信息顯示c. 學(xué)生基本信息保存d. 學(xué)生基本信息刪除e. 學(xué)生基本信息修改(要求先輸入密碼)f. 學(xué)生基本信息查詢(1) 按學(xué)號(hào)查詢(2) 按姓名查詢(3) 按性別查詢(4) 按年齡查詢g. 退出系統(tǒng)3、執(zhí)行一個(gè)具體的功能之后,程序?qū)⒅匦嘛@示菜單。4、將學(xué)生基本信息保存到文件中。5、進(jìn)入系統(tǒng)之前要先輸入密碼。三、算法提示:1、 數(shù)據(jù)結(jié)構(gòu):結(jié)構(gòu)體類

5、型數(shù)組2、 數(shù)據(jù)庫(kù)結(jié)構(gòu):下表構(gòu)成該系統(tǒng)的基本數(shù)據(jù)庫(kù)。 姓名 學(xué)號(hào) 性別 年齡 備注char char char int char四、測(cè)試數(shù)據(jù):學(xué)生人數(shù)n=10 目 錄第一章 緒論1.1 背景描述.1.2 本文所做的工作.第二章 需求分析2.1 項(xiàng)目開(kāi)發(fā)的目的.2.2 系統(tǒng)概述.2.3 項(xiàng)目的功能需求 2.4 系統(tǒng)開(kāi)發(fā)的流程2.5 系統(tǒng)的性能要求2.6 系統(tǒng)的運(yùn)行要求第三章 概要設(shè)計(jì) 3.1 程序模塊的組成.3.2 班級(jí)檔案管理信息數(shù)據(jù)結(jié)構(gòu)體.3.3 各個(gè)程序的功能介紹3.4 系統(tǒng)結(jié)構(gòu)圖第四章 模塊設(shè)計(jì)分析.4.1 學(xué)生基本信息錄入.4.2 學(xué)生基本信息的顯示.4.3 學(xué)生基本信息的保存.4.4

6、 學(xué)生基本信息的刪除.4.5 學(xué)生基本信息的修改(要求先輸入密碼).4.6 學(xué)生基本信息的查詢. (1)按學(xué)號(hào)查詢. (2) 按姓名查詢. (3)按性別查詢. (4)按年齡查詢.4.7 退出系統(tǒng). 第五章 測(cè)試. 5.1 存在的問(wèn)題. 5.2 測(cè)試方案.第六章 使用說(shuō)明書(shū).第七章 總結(jié). 附錄 a 參考文獻(xiàn). b 源程代碼. 第一章緒論1.1 背景描述: 隨著社會(huì)信息量的與日俱增和國(guó)家的招生規(guī)模的不斷擴(kuò)大,學(xué)校需要有一個(gè)很好的班級(jí)檔案管理系統(tǒng),以方便對(duì)學(xué)生檔案進(jìn)行有效的管理。系統(tǒng)應(yīng)具有既方便教師對(duì)學(xué)生檔案的錄入和保存還有顯示、刪除、修改、查詢等功能。 班級(jí)檔案管理系統(tǒng)這個(gè)系統(tǒng)名字是在經(jīng)過(guò)與客戶

7、商量而確定的,在有極大的生存空間下而開(kāi)始開(kāi)發(fā)的,得到了學(xué)校與師生們的一致好評(píng)。 在諸多管理系統(tǒng)的班級(jí)檔案管理系統(tǒng)與其他管理系統(tǒng)都是一種基礎(chǔ)系統(tǒng),本系統(tǒng)具有數(shù)據(jù)操作方便、高效、迅速等優(yōu)點(diǎn)。該軟件是采用功能強(qiáng)大的數(shù)據(jù)庫(kù)軟件開(kāi)發(fā)工具進(jìn)行開(kāi)發(fā),具有很好的可移植。同時(shí)可通過(guò)設(shè)置密碼來(lái)控制其訪問(wèn)權(quán)限,確保系統(tǒng)數(shù)據(jù)的安全性,使用該系統(tǒng)能夠既能把管理人員從繁忙的數(shù)據(jù)統(tǒng)計(jì)中解脫出來(lái),使其具有更多的精力去從事教務(wù)管理政策的研究實(shí)施,教學(xué)計(jì)劃的制定執(zhí)行和教學(xué)質(zhì)量的監(jiān)督檢查,從而全面提高教學(xué)質(zhì)量,同時(shí)也減輕任課教師的負(fù)擔(dān),讓其有更多的時(shí)間投入到教學(xué)和科研中,其作主要的功能是能夠便于學(xué)校的管理。班級(jí)檔案系統(tǒng)是學(xué)生的基本

8、信息數(shù)據(jù)位主的管理,合理的管理讓該系統(tǒng)的功能得以順利的實(shí)現(xiàn)。(1) 系統(tǒng)現(xiàn)狀目前,我國(guó)大中專院校的學(xué)生管理的水平普遍不高。在當(dāng)今的信息時(shí)代,傳統(tǒng)的管理方法必然要被以計(jì)算機(jī)為基礎(chǔ)的信息管理所代替,而去目前很多重點(diǎn)院校都已經(jīng)有了自己的教務(wù)管理系統(tǒng)。已有的大都偏向?qū)W生成績(jī)管理系統(tǒng)、學(xué)籍管理等,而本系統(tǒng)則重點(diǎn)放在檔案管理上,從整體上,從整體上進(jìn)行分析設(shè)計(jì),這對(duì)于其他類似的管理系統(tǒng)的設(shè)計(jì)很有高的參考意義。(2) 用戶需求針對(duì)目前各大高校對(duì)學(xué)生檔案管理方面存在的問(wèn)題和管理的實(shí)際需要,我們將理順管理體制和建立各種管理規(guī)范與開(kāi)發(fā)系統(tǒng)的有機(jī)結(jié)合起來(lái),從用戶的角度來(lái)看系統(tǒng)首先因該提供便捷的強(qiáng)大的查詢功能。對(duì)于學(xué)校

9、和全體教師而言,他們因該具有對(duì)系統(tǒng)各個(gè)部分具有各自不同的權(quán)限。對(duì)學(xué)生用戶而言,系統(tǒng)因該提供能夠查詢自己檔案的功能。從教務(wù)管理者的角度來(lái)看,系統(tǒng)因該能夠?qū)崿F(xiàn)即時(shí)查詢功能,記錄學(xué)生的檔案,以實(shí)現(xiàn)對(duì)檔案的各種操作等功能。還要具有比較高的安全性,用戶登錄時(shí)必須要有密碼驗(yàn)證,這樣可以保證用戶的信息的安全從而使用戶的隱私不至于被泄露。總之檔案管理系統(tǒng)就是在這種背景下應(yīng)運(yùn)而生的。 1.2 本文所做的工作在決定要開(kāi)發(fā)這個(gè)項(xiàng)目的那一刻,我們團(tuán)隊(duì)就做好打一場(chǎng)硬仗的準(zhǔn)備我們先使分組,然后再是查找資料 ,學(xué)校的電子閱覽室,圖書(shū)館,還有各大權(quán)威網(wǎng)站,c語(yǔ)言的各種書(shū)籍,查閱了大量資料或是摘抄,或是復(fù)印,不惜犧牲我們的休息

10、時(shí)間在為能夠順利完成任務(wù)了堅(jiān)持不懈,直到完成主體的工作我們才松了一口氣??傊覀?cè)谶@次課程設(shè)計(jì)中確實(shí)做出比較正確的時(shí)間規(guī)劃和安排,為計(jì)劃的設(shè)計(jì)的順利完成奠定了基礎(chǔ)。在我們的研發(fā)團(tuán)隊(duì)的不懈的堅(jiān)持下我們工作有序的進(jìn)行,我們分成了幾個(gè)小組,第一組負(fù)責(zé)項(xiàng)目的研發(fā),第二組是開(kāi)發(fā),第三組是測(cè)試部門(mén),第四組是我們的后勤部門(mén),我們分工合作,在明確我們要做什么之后,每天晚上睡覺(jué)前先明天的工作的流程先在了一張小紙上,然后明天只要跟著上面去做就可以了,晚上我們還要參加一個(gè)由我們的小組舉行的討論會(huì),在 會(huì)上我們積極發(fā)言,毫無(wú)保留的把自己的心得體會(huì)都告訴大家,讓我們都少走了許多的彎路,節(jié)約了許多寶貴的時(shí)間,為我們的認(rèn)識(shí)

11、的如期完成奠定了堅(jiān)實(shí)的基礎(chǔ)。 在每的緊張忙碌下,我們把所有手上的資料進(jìn)行整合,然后把要做的事情先分成幾個(gè)小部分,這樣有利于我們的工作的開(kāi)展,把一個(gè)個(gè)的小模塊的工作完成了,我們的信心得到了提高,在各個(gè)模塊的攻堅(jiān)下我們采用了許多的實(shí)用工具,想word、等,這也樣我們省了不少力,這就是我們?cè)谶@次系統(tǒng)開(kāi)發(fā)中所做的工作,正是因?yàn)檫@些工作才使得我們的系統(tǒng)開(kāi)發(fā)的成功有了基本的保證,為我們?nèi)蘸蟮某晒Φ於嘶A(chǔ)。 第二章需求分析 2.1 項(xiàng)目開(kāi)發(fā)的目的該系統(tǒng)是一個(gè)簡(jiǎn)單的班級(jí)檔案管理系統(tǒng),能夠使老師了解到相應(yīng)的信息。是針對(duì)目前的現(xiàn)狀,把管理人員從繁忙的數(shù)據(jù)統(tǒng)計(jì)中解脫出來(lái),使其具有更多的精力去從事教務(wù)管理政策的研究

12、實(shí)施,教學(xué)計(jì)劃的制定執(zhí)行和教學(xué)質(zhì)量的監(jiān)督檢查,從而全面提高教學(xué)質(zhì)量,同時(shí)也減輕任課教師的負(fù)擔(dān),讓其有更多的時(shí)間投入到教學(xué)和科研中,還有學(xué)生檔案管理工作的重要性,以及當(dāng)前的檔案管理的現(xiàn)實(shí),為了改善這種情況,使檔案管理工作真正的步入高效,健康的軌道從而促使了我們開(kāi)發(fā)了這個(gè)系統(tǒng),以提高檔案管理工作的效率和滿足用戶的基本需求為目的,實(shí)現(xiàn)檔案管理工作的信息化。2.2 系統(tǒng)概述以廣大用戶的利益為基礎(chǔ),實(shí)現(xiàn)對(duì)學(xué)生或者其他用戶的信息的網(wǎng)絡(luò)化信息化管理,從而實(shí)現(xiàn)檔案管理工作的高效率化,班級(jí)檔案管理系統(tǒng)是以學(xué)生的基本信息的保存為載體的管理系統(tǒng),它有著很大的優(yōu)越性,是目前市場(chǎng)上同類系統(tǒng)的一個(gè)有很強(qiáng)的競(jìng)爭(zhēng)力的系統(tǒng),該

13、系統(tǒng)操作簡(jiǎn)單,每個(gè)步驟都有明確的提示,而去容易操作,一般用戶對(duì)其基本操作的掌握是完全沒(méi)有問(wèn)題的,容易操作時(shí)該系統(tǒng)的一個(gè)亮點(diǎn)。2.3 項(xiàng)目的功能需求1)未開(kāi)發(fā)軟件的功能描述 學(xué)生檔案管理系統(tǒng)必須能夠完成系統(tǒng)管理、學(xué)生基本信息的錄入、學(xué)生基本信息的顯示、學(xué)生基本信息的保存、學(xué)生基本信息的刪除、學(xué)生基本信息的修改、學(xué)生基本信息的查詢、和退出系統(tǒng)的功功能(1) 系統(tǒng)管理主要是維護(hù)系統(tǒng)的正常運(yùn)行和安全性設(shè)置,包括登錄用戶身份時(shí)管理員能夠完成添加用戶、刪除用戶、修改密碼、查詢用戶的權(quán)限和重新登錄等功能,以及針對(duì)未涉及到數(shù)據(jù)庫(kù)中數(shù)據(jù)的備份和恢復(fù)是能夠?qū)崿F(xiàn)按照學(xué)號(hào)、學(xué)生姓名、學(xué)生性別、學(xué)生年齡、進(jìn)行查詢。(2

14、) 在修改學(xué)生基本信息的時(shí)候是有限制的,不是所有的都可以的,在進(jìn)行學(xué)生基本信息的修改時(shí),要進(jìn)行密碼的確認(rèn),從而為用戶的信息的保護(hù)又多了一層。(3) 在完成檔案管理的基本操作之后,必須有一個(gè)能夠安全退出系統(tǒng)的功能,這樣也是保證學(xué)生基本信息的安全,只有系統(tǒng)安全的退出才不會(huì)影響系統(tǒng)的再次運(yùn)行。2) 系統(tǒng)的模塊該系統(tǒng)主要分為下列六個(gè)模塊:1. 學(xué)生基本信息的錄入模塊2. 學(xué)生基本信息的顯示模塊3. 學(xué)生基本信息的保存模塊4. 學(xué)生基本信息的刪除模塊5. 學(xué)生基本信息的修改模塊6. 安全拖出系統(tǒng)模塊 2.4 系統(tǒng)開(kāi)發(fā)的流程 1)開(kāi)發(fā)流程的文字描述 (1)首先因該是對(duì)你講要開(kāi)發(fā)的項(xiàng)目進(jìn)行調(diào)研,仔細(xì)的考察在

15、這個(gè)系統(tǒng)開(kāi)發(fā)的過(guò)程中可能會(huì)遇到的問(wèn)題,還要考察你所要開(kāi)發(fā)項(xiàng)目的可行性,這個(gè)項(xiàng)目到底能不能實(shí)現(xiàn),在當(dāng)前的開(kāi)發(fā)環(huán)境下是不是有可能將其開(kāi)發(fā)出來(lái),這些都是必須在決定開(kāi)發(fā)這個(gè)系統(tǒng)之前應(yīng)該做好的準(zhǔn)備工作。 (2)然后是和用戶商榷系統(tǒng)的名稱以及一些相關(guān)事宜,當(dāng)然在這個(gè)時(shí)候還有一個(gè)非常重要的事情要做就是考慮是不是有足夠的必要現(xiàn)在去開(kāi)發(fā)這個(gè)系統(tǒng),也就是其用戶是不是足夠的多,市場(chǎng)是在這個(gè)系統(tǒng)有很大的需求,還有就是考察該系統(tǒng)在生存空間,也就是說(shuō)到底有多少人在這個(gè)系統(tǒng)的市場(chǎng)上,客戶的需求是我們開(kāi)發(fā)這個(gè)這個(gè)系統(tǒng)的目的和基本動(dòng)機(jī)。 (3)確定要開(kāi)發(fā)項(xiàng)目和明確要開(kāi)發(fā)項(xiàng)目的名稱之后,就是到了要為項(xiàng)目的開(kāi)發(fā)做好初期準(zhǔn)備工作的時(shí)

16、候了,首先要整理相關(guān)的資料,至于這一方面我們可以借住現(xiàn)在的互聯(lián)網(wǎng)和我們學(xué)校的圖書(shū)館,把我們?cè)陂_(kāi)發(fā)的過(guò)程可能會(huì)用到了東西先有序的整理出來(lái)這樣方便我們?cè)陂_(kāi)發(fā)的時(shí)候用。 (4)把我們要開(kāi)發(fā)的系統(tǒng)劃分成幾個(gè)可以操作的模塊,盡可能的把一個(gè)整體的問(wèn)題細(xì)化,這樣可以一個(gè)模塊一個(gè)模塊的把問(wèn)題逐漸解決掉,盡可能的把每個(gè)模塊的模塊圖畫(huà)出來(lái)這樣的話可以方便在開(kāi)發(fā)過(guò)程中的進(jìn)一步的完善和按照模塊圖上的要求進(jìn)行操作,最終實(shí)現(xiàn)我們的開(kāi)發(fā)目的。 (5)在前面的準(zhǔn)備工作都做好了之后就因該進(jìn)行開(kāi)發(fā)系統(tǒng)的源代碼根據(jù)一個(gè)一個(gè)模塊的分析把源代碼寫(xiě)好,當(dāng)然這是一個(gè)比較困難的過(guò)程。 2.5系統(tǒng)的性能要求本系統(tǒng)屬于c/s模式構(gòu)架,本系統(tǒng)的數(shù)

17、據(jù)庫(kù)系統(tǒng)比較龐大,數(shù)據(jù)庫(kù)空間在100mb左右。2.6 系統(tǒng)的運(yùn)行要求系統(tǒng)屬于模式軟件系統(tǒng),代碼使用delphi編寫(xiě),數(shù)據(jù)庫(kù)管理系統(tǒng)采用了sql server2000數(shù)據(jù)庫(kù)管理系統(tǒng),系統(tǒng)要求在windows系統(tǒng)下運(yùn)行。 第三章概要設(shè)計(jì)3.1.程序的模塊組成 主函數(shù):void main() 錄入函數(shù):void getinfo () 顯示函數(shù) void display() 保存函數(shù) void save() 刪除函數(shù) void delete() 修改函數(shù) void modfiy() 查詢函數(shù) void search() 輸出函數(shù):void print()1. getinfo()是錄入函數(shù),主要是錄入學(xué)

18、生的基本信息。2. display()是顯示函數(shù),就是把學(xué)生的基本信息顯示在電腦上。3. save()是保存函數(shù),就是在把學(xué)生基本信息的保存下來(lái)。4. delete()是刪除函數(shù),把不要的信息刪除。5. modfiy()是修改函數(shù),修改錯(cuò)誤的學(xué)生基本信息。6. print() 是輸出函數(shù) 。 3.2 班級(jí)檔案管理系統(tǒng)struct student /設(shè)定一個(gè)內(nèi)容為學(xué)生信息的結(jié)構(gòu)體 char name10;/名字的長(zhǎng)度允許最大為十 char no10;/學(xué)號(hào)的長(zhǎng)度允許最大為十 char sex; int age;/定義年齡為整型 char bnote100;/備注的長(zhǎng)度為允許最大100; 3.各個(gè)

19、程序的功能介紹 主函數(shù):利用無(wú)限次循環(huán)例如if(;)while()和switch()語(yǔ)句實(shí)現(xiàn)各函數(shù)的調(diào)用,系統(tǒng)根據(jù)輸入的數(shù)字選項(xiàng)來(lái)調(diào)用相應(yīng)的函數(shù)。 錄入函數(shù):用來(lái)錄入學(xué)生的基本信息。顯示函數(shù):把錄入的學(xué)生基本信息直觀的顯示在桌面上。 保存函數(shù):可以保存學(xué)生信息。 刪除函數(shù);可以刪除學(xué)生的錯(cuò)誤信息。 修改函數(shù):可以修改舊的信息,需要輸入密碼。 查詢函數(shù); 方便管理員和學(xué)生查詢。退出函數(shù);: 可以用來(lái)退出系統(tǒng)以保證學(xué)生信息的安全。4.系統(tǒng)結(jié)構(gòu)圖第四章 詳細(xì)設(shè)計(jì)4.1 程序的模塊組成: 主 函 數(shù): void main() 錄入函數(shù) : void getinfo()顯示函數(shù): void displa

20、y()保存函數(shù): void save()刪除函數(shù):void delete()查詢函數(shù) void search()修改函數(shù): void modify() 菜單函數(shù):void menu_select() 4.2 各個(gè)函數(shù)的主要功能: 錄入函數(shù): 隨時(shí)學(xué)生的基本信息菜單函數(shù):顯示系統(tǒng)主菜單。 顯示函數(shù): 顯示所有學(xué)生的信息。 查詢函數(shù): 方便學(xué)生查找自己的基本信息。 刪除函數(shù): 刪除某學(xué)生的信息。 保存函數(shù): 保存好學(xué)生基本信息,以免丟失。 4.3 系統(tǒng)的功能模塊的劃分: 開(kāi)始 菜單界面 功能選擇 初始化函數(shù) 錄入學(xué)生信息 顯示學(xué)生信息 保存學(xué)生信息 刪除學(xué)生信息 修改學(xué)生信息查詢學(xué)生信息退出系統(tǒng)

21、結(jié)束 整個(gè)系統(tǒng)除了主函數(shù)外,另外還有14個(gè)函數(shù),實(shí)現(xiàn)七大功能:錄入功能、顯示功能、保存功能、刪除功能、修改功能、查詢功能、退出系統(tǒng)功能。各個(gè)函數(shù)的詳細(xì)設(shè)計(jì)說(shuō)明分別如下: (1)主函數(shù) main() 利用無(wú)限次循環(huán)for(;)和swithch()實(shí)現(xiàn)各函數(shù)的調(diào)用,系統(tǒng)根據(jù)輸入的數(shù)字選項(xiàng)來(lái)調(diào)用相應(yīng)的函數(shù)。 (2)菜單選擇函數(shù) int menu_select() 這是一個(gè)無(wú)參函數(shù),主要實(shí)現(xiàn)“功能選擇”的界面,在這個(gè)界面里有顯示系統(tǒng)的九大功能,根據(jù)每個(gè)功能前面的序號(hào)進(jìn)行選擇。等執(zhí)行完每一個(gè)函數(shù)功能后,返回菜單。 (3代碼設(shè)計(jì): 初始化函數(shù) student *init() 這是一個(gè)無(wú)參函數(shù),里面只有兩個(gè)

22、語(yǔ)句,它的作用是使鏈表初始化,使head的值為null和一個(gè)清屏語(yǔ)句。比如:沒(méi)有這個(gè)函數(shù)的話,在你沒(méi)有輸入任何數(shù)據(jù)的情況下,去執(zhí)行顯示功能的時(shí)候會(huì)顯示一些亂碼! (4)輸入記錄函數(shù) student *create() 這是一個(gè)無(wú)參函數(shù),用來(lái)執(zhí)行學(xué)生檔案記錄的輸入,當(dāng)學(xué)生為時(shí)停止輸入,函數(shù)結(jié)束后,帶回一個(gè)鏈表頭的指針指向一下個(gè)學(xué)生的信息插在表頭。 (5)顯示記錄函數(shù) void print(student *head) 這是一個(gè)不返回值的有參函數(shù),形參為“鏈表頭的指針”,負(fù)責(zé)對(duì)全部學(xué)生成績(jī)記錄的輸出,不足之處就是不能對(duì)學(xué)生成績(jī)進(jìn)行分頁(yè)顯示。 算法:先將p結(jié)點(diǎn)的指針指向第一個(gè)結(jié)點(diǎn),將p結(jié)點(diǎn)(即第一個(gè)

23、結(jié)點(diǎn))的數(shù)據(jù)輸出。然后再將p結(jié)點(diǎn)的指針指向p指針的的指針(即下一結(jié)點(diǎn)),將p結(jié)點(diǎn)(即第一結(jié)點(diǎn))的數(shù)據(jù)輸出。重復(fù)執(zhí)行此步聚直到p指針指向null為止。 3 總流程圖開(kāi)始設(shè)定一個(gè)內(nèi)容為學(xué)生信息的結(jié)構(gòu)體: struct student10,定義六個(gè)函數(shù)main()void display()void save():void delete() void search()void modify()運(yùn)行程序退出程序結(jié)束void getinfo()4、插入功能流程圖 stui.no stuisex stuiage stui .bnote 開(kāi)始通過(guò)switch函數(shù)選擇插入功能void pr

24、int()打開(kāi)文件錄入學(xué)生基本信息關(guān)閉并保存文件結(jié)束第五章測(cè)試:5.1 存在的問(wèn)題:在我們編好程序的時(shí)候其實(shí)還有很多問(wèn)題的當(dāng)然這是一個(gè)過(guò)程,可以說(shuō)錯(cuò)誤基本上是不可避免的,比如說(shuō)“一些輸入的格式問(wèn)題和由于習(xí)慣性的錯(cuò)誤而導(dǎo)致的錯(cuò)誤等等。我個(gè)人認(rèn)為系統(tǒng)調(diào)試需要比較扎實(shí)的基本功以及充分的細(xì)心,c語(yǔ)言中有一些錯(cuò)誤并不是直接明了的。在這個(gè)時(shí)候就需要我們有耐心慢慢的去找自己的錯(cuò)誤,有些錯(cuò)誤是由于一些不良操作習(xí)慣造成的,而且往往很難發(fā)現(xiàn),因?yàn)檫@類錯(cuò)誤都是平時(shí)自己不怎么注意的,所以就是產(chǎn)生了也很難查出來(lái),這就要求我們平時(shí)養(yǎng)成良好的習(xí)慣。比如花括號(hào)的使用,我最開(kāi)始編寫(xiě)的一個(gè)程序有一個(gè)錯(cuò)誤,但是我就是怎么也查不出來(lái)

25、,而且因?yàn)椴僮髁?xí)慣不好,整個(gè)程序毫無(wú)層次感,花括號(hào)也是成一列排放,沒(méi)有一一分層對(duì)應(yīng)。后來(lái)實(shí)在找不出原因就請(qǐng)教了老師。指導(dǎo)老師看了之后將我的程序重新排布了一遍,發(fā)現(xiàn)有一個(gè)花括號(hào)前后沒(méi)有對(duì)應(yīng)。其實(shí)在簡(jiǎn)單的程序中,花括號(hào)缺損可以很快發(fā)現(xiàn),因?yàn)闀?huì)有直白的提醒,但是在較復(fù)雜的程序中,一個(gè)花括號(hào)的缺損也許會(huì)造成其他很多錯(cuò)誤的產(chǎn)生,如果有良好操作習(xí)慣,可以很快發(fā)現(xiàn)這個(gè)小問(wèn)題。所以我覺(jué)得,我們的基礎(chǔ)應(yīng)該牢實(shí)!要不然就會(huì)犯下很多那種沒(méi)必要的錯(cuò)誤??梢哉f(shuō)是低級(jí)失誤!通過(guò)系統(tǒng)調(diào)試我學(xué)會(huì)了很多東西。我們要注重基礎(chǔ),因?yàn)槲覀冇袝r(shí)就是因?yàn)橐粋€(gè)基礎(chǔ)知識(shí)點(diǎn)沒(méi)學(xué)會(huì),從而產(chǎn)生很多的錯(cuò)誤。5.2 測(cè)試的方案:1. 系統(tǒng)驗(yàn)證技術(shù)。2

26、. 系統(tǒng)確認(rèn)技術(shù)。3. 系統(tǒng)測(cè)試技術(shù)。1. 將編好的源代碼放到c語(yǔ)言的運(yùn)行環(huán)境中去運(yùn)行,通過(guò)運(yùn)行找出其中的錯(cuò)誤或者是輸入的不規(guī)范的地方,加以改正,還有就是試一下程序到底能不能運(yùn)行,是不是滿足課程設(shè)計(jì)的題目的要求。2. 把已經(jīng)整理好的源代碼放到c語(yǔ)言的運(yùn)行環(huán)境去調(diào)試一下,就是確認(rèn)這個(gè)源程序代是否正確。3. 用運(yùn)行系統(tǒng)測(cè)試源程序代碼。第六章使用說(shuō)明書(shū) 按照菜單的提示進(jìn)行選擇,1表示學(xué)生基本信息的錄入,先進(jìn)行信息的錄入完成后,按回車鍵會(huì)彈出第二個(gè)界面根據(jù)界面進(jìn)行選擇,2表示信息的顯示3表示信息的保存,4表示信息的刪除,5表示信息的修改,6表示信息的查詢,7表示安全退出系統(tǒng)。當(dāng)保存好學(xué)生的基本信息的是

27、時(shí)候你可以通過(guò)選擇3二保存學(xué)生的信息,按4時(shí)是刪除,刪除成功之后會(huì)彈出你輸入學(xué)號(hào)?如果刪除成功的話則會(huì)說(shuō)該學(xué)生不存在,在按5時(shí)會(huì)彈出要你輸入密碼才能修改學(xué)生的信息,按6時(shí)會(huì)彈出一個(gè)由四個(gè)選項(xiàng)組成的界面有按1學(xué)號(hào)查詢、2按年齡查詢、3按性別查詢、按姓名查詢。所以只要你根據(jù)菜單上的提示操作是不難的。歡迎使用!第七章總結(jié) 通過(guò)這次課程設(shè)計(jì)我學(xué)到了許多感覺(jué)自己的知識(shí)的不夠 這次數(shù)據(jù)庫(kù)課程設(shè)計(jì)的“班級(jí)檔案管理系統(tǒng)”,通過(guò)在機(jī)房的不斷調(diào)試和修改其中 錯(cuò)誤加上驗(yàn)證和測(cè)試使得對(duì)該系統(tǒng)的運(yùn)用已經(jīng)能夠已經(jīng)得到了充分的應(yīng)用了。所學(xué)的數(shù)據(jù)庫(kù)的知識(shí),并去圖書(shū)館查閱了一些書(shū)集和上網(wǎng)搜索一部分資粗略設(shè)計(jì)出該系統(tǒng)。 總體上來(lái)

28、說(shuō),這次課程設(shè)計(jì)還是比較成功的,充分運(yùn)用了所學(xué)的軟工程設(shè)計(jì),數(shù)據(jù)庫(kù)的設(shè)計(jì),設(shè)計(jì)出e-r圖,流程圖,數(shù)據(jù)庫(kù)基本表,從整體規(guī)劃出系統(tǒng)的運(yùn)行環(huán)境和系統(tǒng)實(shí)現(xiàn)的功能。 當(dāng)然,由于學(xué)藝不精,在課程設(shè)計(jì)的過(guò)程中也碰到的一些問(wèn)題。其中,畫(huà)e-r圖時(shí),各實(shí)體中的關(guān)系的確定,由于對(duì)系統(tǒng)還不夠了解而找不到一個(gè)準(zhǔn)確的詞來(lái)形容;總體規(guī)劃,材料太多,不易整理;相關(guān)數(shù)據(jù)庫(kù)技術(shù)方面沒(méi)有多注意,這次課程設(shè)計(jì)的重點(diǎn)只在對(duì)整個(gè)系統(tǒng)的總體思路設(shè)計(jì)。 其實(shí)這些通過(guò)最近的課程設(shè)計(jì)覺(jué)得最重要一點(diǎn)就是:我們一定要自己動(dòng)手,這樣才能真正的學(xué)到東西。書(shū)本知識(shí)固然重要,但我們更要學(xué)會(huì)將書(shū)本知識(shí)應(yīng)用到實(shí)際中才會(huì)發(fā)現(xiàn)錯(cuò)誤,也才能改進(jìn),才能達(dá)到學(xué)習(xí)的最

29、終目的。 但我出總結(jié)出了一點(diǎn)點(diǎn)的經(jīng)驗(yàn)如下: 1、要對(duì)系統(tǒng)的功能和要求做出詳細(xì)的分析,并合理分解任務(wù)。 2、把分解出來(lái)的子任務(wù),做給一個(gè)相對(duì)獨(dú)立的模塊。 3、在設(shè)計(jì)一個(gè)模塊之前,要簡(jiǎn)單構(gòu)想一下總界面的顯視情況。 4、針對(duì)構(gòu)想出來(lái)的界面進(jìn)行程序的編寫(xiě)。 雖然我的課程設(shè)計(jì)師存在許多的問(wèn)題,究其原因還是因?yàn)樽约浩綍r(shí)沒(méi)有認(rèn)真聽(tīng)老師講課,但是我還是希望老師能夠白忙中抽空看看我的課程設(shè)計(jì)的報(bào)告,我將非常感謝!附錄: 參閱文獻(xiàn)c程序設(shè)計(jì)(第三版) 譚浩強(qiáng) 著 清華大學(xué)出版社c語(yǔ)言程序設(shè)計(jì)實(shí)用指南 譚浩強(qiáng) 著 清華大學(xué)出版社c語(yǔ)言程序設(shè)計(jì) 黃迪明 許家駘 胡德昆著全國(guó)計(jì)算機(jī)等級(jí)考試二級(jí)教程 中國(guó)地質(zhì)大學(xué)出版社課

30、程設(shè)計(jì)與上機(jī)指導(dǎo) 譚浩強(qiáng) 著課程設(shè)計(jì)與習(xí)題詳解 葛日波 著 源程序清單/*/* 說(shuō)明:密碼所在的文件位于c盤(pán),文件名為1.txt。/* 學(xué)生基本信息最好保存在c盤(pán),文件名為student.txt。/*#include #include #include #include #define n 10/測(cè)試數(shù)據(jù)學(xué)生人數(shù)為10個(gè)struct student /設(shè)定一個(gè)內(nèi)容為學(xué)生信息的結(jié)構(gòu)體 char name10;/名字的長(zhǎng)度允許最大為十 char no10;/學(xué)號(hào)的長(zhǎng)度允許最大為十 char sex; int age;/定義年齡為整型 char bnote100;/備注的長(zhǎng)度為允許最大100;voi

31、d print(bool menu)/打印基本信息 if (!menu)/主菜單 printf( t t t (歡迎使用本班級(jí)檔案管理系統(tǒng))ttttn);printf(* 歡迎進(jìn)入我們的系統(tǒng) *nn); printf(學(xué)生基本信息錄入 ,press 1n); else printf(學(xué)生基本信息顯示 ,press 2n); printf(學(xué)生基本信息保存 ,press 3n); printf(學(xué)生基本信息刪除 ,press 4n); printf(學(xué)生基本信息修改 ,press 5n); printf(學(xué)生基本信息查詢 ,press 6n); printf(退出學(xué)生信息系統(tǒng) ,press 7n

32、); bool check(char pas6)/密碼驗(yàn)證 file *fp;/文件類型指針型變量 char ch; char a7= ; int i = 0; if (fp=fopen(c:1.txt,r)=null) /在c盤(pán)中建立文件名為1.txt的文檔來(lái)存放密碼 printf(打開(kāi)文件失敗!n); exit(0); ch=fgetc(fp); while (ch!=eof&i6)/循環(huán)控制 ai = ch; ch=fgetc(fp); i+;/自加1 a6 = 0;/正常結(jié)束的標(biāo)志 if (!strcmp(pas,a) return true; else printf(密碼錯(cuò)誤n);

33、return false; fclose(fp);/關(guān)閉一個(gè)流,原型是int fclose(file*stream)stream為流指針,返回eof時(shí)表示出錯(cuò)。void getinfo(struct student *arr,int n)/學(xué)生基本信息錄入 for (int i = 0;in;i+)/循環(huán)控制 printf(輸入學(xué)生的基本信息:name no sex age bnoten); scanf(%s %s %c %d %s,,arri.no,&arri.sex,&arri.age,arri.bnote); void display(struct student* a

34、rr,int n)/學(xué)生基本信息顯示 printf(學(xué)生信息: name no sex age noten); for (int i = 0;in;i+)/循環(huán)控制 printf(%15s%15s%15c%15d%15sn,,arri.no,arri.sex,arri.age,arri.bnote); void save(struct student* arr,int n)/學(xué)生基本信息保存,保存在c:student.txt file * fp; fp= fopen(c:student.txt,w+); if (fp = null) printf(文件不存在!n); exit

35、(0); fwrite(arr,sizeof(struct student)*n,n,fp); fclose(fp);void modfiy(struct student* arr,int n)/學(xué)生基本信息修改 char number10; bool flag=false; char pass6; printf(請(qǐng)輸入密碼:n); scanf(%s,pass); if (check(pass) printf(修改學(xué)生信息:n); printf(請(qǐng)輸入學(xué)號(hào):n); scanf(%s,number); for (int i =0;in;i+) if (!strcmp(number,arri.no

36、) printf(infor: name no sex age noten); printf(%12s%12s%12c%12d%12sn,,arri.no, arri.sex,arri.age,arri.bnote); printf(please input information:n); scanf(%s%s%c%d%s,,arri.no,&arri.sex,&arri.age,arri.bnote); save(arr,n); flag = true;/設(shè)置標(biāo)志 if (flag = false)/判斷標(biāo)志 printf(該學(xué)生不存在!:n); void

37、 delete(struct student* arr,int n)/學(xué)生基本信息刪除 char number10; bool flag=false; printf(delete information:n); printf(please input the no:n); scanf(%s,number); for (int i =0;in;i+) if (!strcmp(number,arri.no) strcpy(, ); strcpy(arri.no, ); strcpy(arri.bnote, ); arri.sex = ; arri.age = 0; save(ar

38、r,n); flag = true; if (flag = true) printf(該學(xué)生不存在!:n); void search(struct student* arr,int n)/學(xué)生基本信息查詢 int temp,i; bool flag=false; printf(-通過(guò)學(xué)號(hào)查詢,press 1-n); printf(-通過(guò)姓名查詢,press 2-n); printf(-通過(guò)性別查詢,press 3-n); printf(-通過(guò)年齡查詢,press 4-n); printf(-退出,press 5 -n); scanf(%d,&temp); switch (temp) case

39、1:/按照學(xué)號(hào)查詢 char num10; printf(請(qǐng)輸入學(xué)號(hào):n); scanf(%s,num); for ( i =0;in;i+)/循環(huán)控制 if (!strcmp(num,arri.no) printf(%12s%12s%12c%12d%12sn,,arri.no, arri.sex,arri.age,arri.bnote); flag = true; if (!flag) printf(該學(xué)生不存在.n); break; case 2:/按照名字查詢 char num10; printf(please input name:n); scanf(%s,num); for ( i =0;in;i+)/循環(huán)控制 if (!strcmp(num,) prin

溫馨提示

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