數(shù)據(jù)結(jié)構(gòu)課設(shè)報(bào)告學(xué)生成績(jī)管理系統(tǒng)_第1頁
數(shù)據(jù)結(jié)構(gòu)課設(shè)報(bào)告學(xué)生成績(jī)管理系統(tǒng)_第2頁
數(shù)據(jù)結(jié)構(gòu)課設(shè)報(bào)告學(xué)生成績(jī)管理系統(tǒng)_第3頁
數(shù)據(jù)結(jié)構(gòu)課設(shè)報(bào)告學(xué)生成績(jī)管理系統(tǒng)_第4頁
數(shù)據(jù)結(jié)構(gòu)課設(shè)報(bào)告學(xué)生成績(jī)管理系統(tǒng)_第5頁
已閱讀5頁,還剩9頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1、課程設(shè)計(jì)(論文)說明書題目:學(xué)生成績(jī)管理系統(tǒng)學(xué)院:計(jì)算機(jī)科學(xué)與工程學(xué)院專業(yè):姓名:學(xué) 號(hào):指導(dǎo)教師:20 124 月 日隨著科學(xué)的發(fā)展和社會(huì)的進(jìn)步,許多過去由人工處理的繁雜事務(wù)開始交付計(jì)算機(jī) 來完成.明顯地加快了經(jīng)濟(jì)信息化和社會(huì)信息化的進(jìn)程.因此,計(jì)算機(jī)教育在各國(guó)備受 重視,計(jì)算機(jī)知識(shí)與能力已成為2 1世紀(jì)人才素質(zhì)的基本要素之一.本報(bào)告簡(jiǎn)單敘述了學(xué)生管理系統(tǒng)的現(xiàn)狀,重點(diǎn)介紹了學(xué)生成績(jī)管理系統(tǒng)的實(shí)現(xiàn)過 程:包括系統(tǒng)分析、數(shù)據(jù)流程分析、功能設(shè)計(jì)、系統(tǒng)實(shí)現(xiàn)、系統(tǒng)測(cè)試和調(diào)試。C語言 是一種通用的程序設(shè)計(jì)語言,c語言在很多方而繼承和發(fā)展了以往許多高級(jí)程序設(shè)計(jì) 語言的成果經(jīng)驗(yàn)與特色,具有適應(yīng)性強(qiáng)、應(yīng)用范圍

2、廣、書寫格式自由、數(shù)據(jù)類型豐富、 數(shù)據(jù)結(jié)構(gòu)系統(tǒng)化、運(yùn)行程序質(zhì)量高、可移植性好和運(yùn)行效率高等優(yōu)點(diǎn).而數(shù)據(jù)結(jié)構(gòu) 與算法則是對(duì)數(shù)據(jù)進(jìn)行一定的結(jié)構(gòu)化,通過運(yùn)用各種算法使系統(tǒng)的實(shí)現(xiàn)更簡(jiǎn)便易行。關(guān)鍵詞:管理;需求;模塊9 / 141 系統(tǒng)概述32需求分析32.1安全需求分析32. 2數(shù)據(jù)需求分析42o3 功能需求分析42.4界而需求分析42. 5開發(fā)環(huán)境43詳細(xì)設(shè)計(jì)43. 1 系統(tǒng)結(jié)構(gòu)43. 2 各模塊功能53. 3功能模塊的設(shè)計(jì)63. 4數(shù)據(jù)結(jié)構(gòu)設(shè)計(jì)84所遇到的問題和分析解決95測(cè)試結(jié)果96系統(tǒng)特色和關(guān)鍵技術(shù)1 27結(jié)論12參考文獻(xiàn)13引言背景:21世紀(jì),科學(xué)技術(shù)突飛猛進(jìn),特別是信息技術(shù)和網(wǎng)絡(luò)技術(shù)的迅速

3、發(fā)展,各個(gè) 學(xué)校的規(guī)模也隨之不斷增大,有關(guān)學(xué)生成績(jī)管理工作所涉及的數(shù)據(jù)量越來越大,如若 進(jìn)行的仍是手工的學(xué)生成績(jī)管理,學(xué)校就不得不靠增加人力、物力來進(jìn)行學(xué)生成績(jī)管 理。即使如此,手工管理仍具有效率低、管理復(fù)雜和易出錯(cuò)等諸多問題。所以在學(xué)校 這樣一個(gè)具有超大數(shù)據(jù)量的機(jī)構(gòu)中,通過應(yīng)用信息技術(shù)和網(wǎng)絡(luò)技術(shù)對(duì)學(xué)生成績(jī)信息進(jìn) 行系統(tǒng)化的管理是必須的。將計(jì)算機(jī)這一信息處理器應(yīng)用于學(xué)生的個(gè)人信息管理已是 勢(shì)必所然,而且這也將為學(xué)生信息管理帶來前所未有的改變。采用計(jì)算機(jī)對(duì)學(xué)生的信 息管理是信息科學(xué)化和現(xiàn)代的重要標(biāo)志,它也給各大高校帶來了明顯的社會(huì)效益.主 要體現(xiàn)在:極大地提高了管理工作人員的工作效率,大大地減少

4、了以往的資料室所存 在的各種弊端,同吋也加強(qiáng)和規(guī)范學(xué)習(xí)對(duì)于學(xué)生信息的管理.目的:本系統(tǒng)運(yùn)用c語言進(jìn)行開發(fā),c語言能夠簡(jiǎn)單的進(jìn)行編譯一些程序,來實(shí) 現(xiàn)對(duì)問題的解決。它能夠呈現(xiàn)出清晰的界而,使人們能夠很好的理解,并能在一些方 而給人們更好的服務(wù),所以,它能夠被大多數(shù)用戶所接受。經(jīng)過這一個(gè)學(xué)期對(duì)數(shù)據(jù) 結(jié)構(gòu)與算法的學(xué)習(xí),我們都學(xué)到了不少東西,可能學(xué)得還不夠透徹,但無論如何這 都為我們以后的學(xué)習(xí)打下一定堅(jiān)實(shí)的基礎(chǔ)。在通過運(yùn)用結(jié)構(gòu)體和調(diào)用各種數(shù)據(jù)結(jié)構(gòu)算 法與c語言相結(jié)合來完成下面的學(xué)生成績(jī)管理系統(tǒng),一方面是為了檢查我們一個(gè)學(xué)期 以來的學(xué)習(xí)成果,另一方面是為了更進(jìn)一步對(duì)數(shù)據(jù)結(jié)構(gòu)與算法的掌握和運(yùn)用,同時(shí)也 讓

5、我們清楚的知道自己的掌握水平和不足之處.1 系統(tǒng)概述學(xué)生成績(jī)管理系統(tǒng)的主要功能是實(shí)現(xiàn)學(xué)生成績(jī)和基本信息的管理。如若還沒有建 立文件可以在運(yùn)行界而新建文件,在重新運(yùn)行程序即可進(jìn)入登陸界面,輸入正確的密 碼即可進(jìn)入系統(tǒng)。學(xué)生成績(jī)信息有學(xué)號(hào)、姓名、學(xué)期、高數(shù)、英語、C語言和總分的 顯示.學(xué)生成績(jī)管理包括對(duì)學(xué)生各科成績(jī)的輸入、輸出、刪除、修改、按總分排序、 查找和保存等多種功能。查找有分為按學(xué)號(hào)和姓名進(jìn)行查找,然后輸出查找學(xué)生的全 部信息;刪除可以通過按姓名或者學(xué)號(hào)進(jìn)行查找在進(jìn)行刪除,再對(duì)記錄進(jìn)行調(diào)整:排 序有按學(xué)號(hào)排序,各科(高數(shù)、英語、C語言)成績(jī)由高到低排序或者升序排序,還 有總成績(jī)排名等。學(xué)生

6、的懇本信息的輸入、輸出與修改,而學(xué)生的基本信息則包含有 學(xué)生的學(xué)號(hào)、姓名、性別、政治而貌、專業(yè)和家庭住址等信息。以上就是對(duì)本系統(tǒng)的整個(gè)流程和功能的大概描述,管理系統(tǒng)主要突出了系統(tǒng)管理 員的權(quán)威性,還有界面要簡(jiǎn)潔、清楚、功能齊全,使用方便,讓使用的人一看就知道 如何操作。2需求分析2.1安全需求分析學(xué)生成績(jī)管理系統(tǒng)功能的信息量大,數(shù)據(jù)安全性和保密性要求最高。這就要求設(shè) 計(jì)不同用戶的操作權(quán)限和登陸方法:每個(gè)使用者都必須通過系統(tǒng)的身份驗(yàn)證才可以 進(jìn)入系統(tǒng)進(jìn)行其他的操作;系統(tǒng)管理員可以瀏覽、查詢、添加、刪除和修改學(xué)生信 息,但是刪除某個(gè)學(xué)生的基本信息記錄時(shí),應(yīng)該實(shí)現(xiàn)對(duì)該條記錄的相關(guān)信息也級(jí)聯(lián)刪 除。而

7、學(xué)生等其他用戶則只具有查詢、瀏覽的功能;還有系統(tǒng)的可靠性和可維護(hù)性。2.2數(shù)據(jù)需求分析本系統(tǒng)的主要數(shù)扌居是學(xué)生信息:一是學(xué)生成績(jī)信息,二是學(xué)生基本資料信息。學(xué) 生成績(jī)信息包括:數(shù)據(jù)類型為字符型的學(xué)生學(xué)號(hào),姓名,學(xué)期,還有數(shù)據(jù)類型為整型 c語言,英語,高數(shù),平均成績(jī)和總成績(jī)等.而學(xué)生資料信息包括:數(shù)據(jù)類型為字符型 的學(xué)生學(xué)號(hào),姓名,性別,政治面貌,專業(yè)和家庭住址等。20 3功能需求分析(1) 使用中文菜單,界而設(shè)計(jì)和用戶輸入輸出要人性化些;(2) 將學(xué)生信息保存在文本文檔中,具體對(duì)學(xué)生信息進(jìn)行插入刪除查詢操作時(shí), 將保存在文本文檔中的學(xué)生信息提取出來,保存在自己定艾的數(shù)據(jù)結(jié)構(gòu)中,然后再對(duì) 該數(shù)據(jù)

8、結(jié)構(gòu)進(jìn)行操作,所有操作完成,或者在相應(yīng)的命令后,再將學(xué)生信息保存到文本 文檔中。(3) 具有數(shù)據(jù)輸入功能,輸入的數(shù)據(jù)能最終保存在文件中;(4) 具有數(shù)據(jù)刪除功能,能最終從文件中刪除;(5) 具有多種查詢(如按學(xué)號(hào)查詢、按姓名查詢、按成績(jī)查詢等)及輸出功能;(6) 其它功能(如各種統(tǒng)計(jì),統(tǒng)計(jì)每個(gè)學(xué)生所有課程的平均分,統(tǒng)計(jì)菜門課程所 有學(xué)生的平均分等等)(7) 學(xué)生信息的修改(比如修改學(xué)生姓名,修改學(xué)生某門課程的成績(jī))20 4界面需求系統(tǒng)界而要具有廣泛的實(shí)用性,便于移植。界而友好,操作簡(jiǎn)便。根據(jù)軟件的 使用環(huán)境、用戶的要求,系統(tǒng)界而應(yīng)該簡(jiǎn)單、友好、易于使用、方便查看、簡(jiǎn)潔明快。 而且系統(tǒng)是在 Wi

9、ndows環(huán)境下的應(yīng)用軟件,軟件產(chǎn)品的界面應(yīng)該與操作系統(tǒng)的界 而相切合,產(chǎn)品的主界而因該功能齊全,分類明確,讓用戶一眼看去就能明白大致的功 能。在人們的心理學(xué)角度來說,一樣?xùn)|西給人的印象是非常重要的。本人想大家都希 望看都本人們使用的東西都是令人神往的吧,還有友好的界面可以給人一種優(yōu)越感和 先進(jìn)感,因?yàn)槭虑榭偸遣粩嗟耐晟频?,一定是一代比一代好。?duì)于管理員這個(gè)特殊的用戶的,需要提供各種功能來加強(qiáng)他對(duì)整個(gè)系統(tǒng)的管理和 控制,盡量地使他的操作簡(jiǎn)便快捷,尤其是要提供給他對(duì)數(shù)據(jù)庫(kù)進(jìn)行的直接管理的權(quán) 限。2o 5開發(fā)環(huán)境操作系統(tǒng):Mi c rosoft W i ndow s XPProfe s s ion

10、aI版本 2 0 02S er v i ce Pac k 3c語言編程軟件:V i su a I C+ 6o 03 詳細(xì)設(shè)計(jì)3o 1系統(tǒng)結(jié)構(gòu)此學(xué)生成績(jī)管理系統(tǒng)主要利用單鏈表實(shí)現(xiàn),從整體結(jié)構(gòu)看,分為五大功能模塊: 輸入記錄模塊、查詢記錄模塊、更新記錄模塊、統(tǒng)計(jì)記錄模塊和輸出記錄模塊。其系 統(tǒng)模塊構(gòu)成如圖31所示.圖31 學(xué)生成績(jī)管理系統(tǒng)功能模塊圖本系統(tǒng)的各個(gè)模塊都是相關(guān)聯(lián)的,因?yàn)楸鞠到y(tǒng)只是一個(gè)簡(jiǎn)易學(xué)生成績(jī)管理系統(tǒng), 系統(tǒng)要輸入正確的密碼才可以實(shí)現(xiàn)系統(tǒng)賦予的權(quán)限。30 2 各個(gè)模塊功能為了滿足系統(tǒng)需求要求,系統(tǒng)所需的主要模塊與功能如下:(1) 輸入記錄模塊。輸入記錄模塊主要完成將數(shù)據(jù)存入單鏈表中的

11、工作。在此成 績(jī)管理系統(tǒng)中,記錄可以從以二進(jìn)制形式存儲(chǔ)的數(shù)據(jù)文件中讀入,也可以從鍵盤逐個(gè) 輸入學(xué)生記錄。學(xué)生記錄由學(xué)生的基本信息和成績(jī)信息字段構(gòu)成.當(dāng)從數(shù)據(jù)文件中讀 入記錄時(shí),它就是以記錄為單位存儲(chǔ)的數(shù)據(jù)文件中,將記錄逐條復(fù)制到鏈表中。(2) 查詢記錄模塊。查詢記錄模塊主要完成在單鏈表中查找滿足相關(guān)條件的學(xué)生 記錄。在此管理系統(tǒng)中,用戶可以按照學(xué)生的學(xué)號(hào)或姓名在單鏈表中進(jìn)行查找。若找 到該學(xué)生的記錄,則返回指向該學(xué)生記錄的指針:否則,返回一個(gè)值為NULL的空指 針,并輸出沒有找到該學(xué)生的信息。(3) 更新記錄模塊。該模塊主要完成對(duì)學(xué)生記錄的維護(hù)。在此系統(tǒng)中它實(shí)現(xiàn)了對(duì) 學(xué)生記錄的修改、刪除、排序

12、和插入等操作。而進(jìn)行了這些操作之后,需要將更新后 的數(shù)據(jù)保存到數(shù)據(jù)文件中.(4) 統(tǒng)計(jì)記錄模塊.完成了對(duì)全部學(xué)生記錄總?cè)藬?shù)的統(tǒng)計(jì)。(5) 輸出記錄模塊該模塊主要完成兩個(gè)任務(wù):一是實(shí)現(xiàn)對(duì)學(xué)生記錄的存盤操作, 即將單鏈表中的各節(jié)點(diǎn)中存儲(chǔ)的學(xué)生記錄信息寫入數(shù)據(jù)文件中:二是實(shí)現(xiàn)將單鏈表中 存儲(chǔ)的學(xué)生成績(jī)和基本信息在屏幕界面上輸出來。3.3功能模塊的設(shè)計(jì)(1) ma i n ()函數(shù)執(zhí)行流程本成績(jī)管理系統(tǒng)執(zhí)行主流程如圖3-3所示。它可以以讀的方式打開數(shù)據(jù)文件,此 文件默認(rèn)為C:s tudent,若該文件不存在,則新建此文件。當(dāng)打開文件操作成功 后,從文件中一次讀入一條記錄,添加到新建的單鏈表中,然后執(zhí)行

13、顯示主菜單和進(jìn) 入主循環(huán)操作,進(jìn)行功能選擇。在判斷輸入值時(shí),有效輸入為08之間的任意數(shù)值,其他輸入均為錯(cuò)誤輸入。若 輸入為0(即se I ect=O),它會(huì)繼續(xù)判斷是否已對(duì)更新數(shù)據(jù)進(jìn)行存盤,若未存盤, 系統(tǒng)則會(huì)提示用戶是否需要對(duì)更新數(shù)據(jù)存盤進(jìn)行選擇,然后在單擊任意鍵退出系統(tǒng)。 若選擇1,則調(diào)用Add ()函數(shù),執(zhí)行添加學(xué)生記錄的操作;若選擇2,則調(diào)用De I()函數(shù),執(zhí)行刪除學(xué)生記錄操作;若選擇3,則調(diào)用Qur ()函數(shù),執(zhí)行查詢學(xué)生記錄 操作:若選擇4,則調(diào)用Modi f y()函數(shù),執(zhí)行修改學(xué)生記錄操作;若選擇5,則調(diào) 用Disp 0函數(shù),執(zhí)行顯示學(xué)生成績(jī)操作;若選擇6,則調(diào)用Save (

14、)函數(shù),執(zhí)行 保存更新操作;若選擇7,則調(diào)用xueli ()函數(shù),執(zhí)行顯示學(xué)生基本信息操作;若選 擇8,則調(diào)用Tongji ()函數(shù),執(zhí)行統(tǒng)計(jì)學(xué)生記錄操作。若輸入為08之外的值,則 調(diào)用Wro ng()函數(shù),給出按鍵輸入錯(cuò)誤的提示。輸入記錄模塊主要實(shí)現(xiàn)將數(shù)據(jù)存入單鏈表中.當(dāng)從數(shù)據(jù)文件中讀出記錄時(shí),它調(diào)用了 fr e a d(p, si z eo f (Node), 1, fp)文件讀取函數(shù),執(zhí)行一次從文件中讀取一條學(xué)生記錄 存入指針變量P所指的節(jié)點(diǎn)中的操作,并且此操作在main ()中執(zhí)行,即當(dāng)成成績(jī) 管理系統(tǒng)進(jìn)入顯示菜單界而時(shí)。若該文件中沒有數(shù)據(jù),系統(tǒng)會(huì)提示單鏈表為空,沒有 任何學(xué)生記錄可操

15、作,此時(shí),應(yīng)選擇1,調(diào)用Add ()函數(shù),進(jìn)行學(xué)生記錄的輸入,即 完成單鏈表1中的添加節(jié)點(diǎn)操作.(3)查詢記錄模塊查詢記錄模塊主要實(shí)現(xiàn)了在單鏈表中按學(xué)號(hào)或姓名查找滿足相關(guān)條件的學(xué)生記 錄。在查詢函數(shù)Qur ()中,I為指向保存了學(xué)生成績(jī)信息的單鏈表的首地址的指針 變量.為了遵循模塊化編程的原則,我們將在單鏈表中進(jìn)行的指針定位操作設(shè)計(jì)成了 一個(gè)單獨(dú)的函數(shù) o Node% Lo c ate (Link I , char find mes s , cha r n am e or n um ),參數(shù)f i n e m e ss 保存要查找的具體內(nèi)容,n ameornum 保 存要查找的字段(值為字符串

16、類型的num或者name),若找到該記錄,則返回指向該 節(jié)點(diǎn)的指針;否則。返回一個(gè)空指針。圖3-3主控函數(shù)執(zhí)行流程圖(4)更新記錄模塊此模塊主要實(shí)現(xiàn)了對(duì)學(xué)生記錄的修改、刪除和插入操作。因?yàn)閷W(xué)生記錄是以單鏈 表的結(jié)構(gòu)形式存儲(chǔ)的,所以這些操作都在單鏈表中完成。以下介紹3個(gè)模塊的詳細(xì)設(shè) 計(jì)。 修改模塊修改記錄操作需要對(duì)單鏈表中目標(biāo)節(jié)點(diǎn)的數(shù)據(jù)域中的值進(jìn)行修改,它分兩步完 成。第一步,輸入要修改的學(xué)號(hào),輸入E調(diào)用定位函數(shù)Loca te ()在單鏈表中逐個(gè) 對(duì)節(jié)點(diǎn)數(shù)據(jù)域中學(xué)號(hào)字段的值進(jìn)行比較,直到找到該學(xué)號(hào)的學(xué)生記錄;第二步,若找到 該學(xué)生記錄,修改包括學(xué)號(hào)在內(nèi)的各字段的值,并輸入6,對(duì)修改后的數(shù)據(jù)進(jìn)行保

17、存。 刪除模塊刪除記錄操作完成刪除指定學(xué)號(hào)或姓名的學(xué)生記錄,它也分為兩步完成.第一,輸入要?jiǎng)h除的學(xué)號(hào)或姓名,輸入后調(diào)用定位函數(shù)Loca te ()在單鏈表中逐個(gè)對(duì)節(jié) 點(diǎn)數(shù)據(jù)域中學(xué)號(hào)字段的值進(jìn)行比較,直到找到該學(xué)號(hào)或姓名的學(xué)生記錄,返回指向該 學(xué)生記錄的節(jié)點(diǎn)指針;第二,若找到該學(xué)生記錄,將該學(xué)生記錄所在節(jié)點(diǎn)的前驅(qū)節(jié)點(diǎn) 的指針域指向目標(biāo)節(jié)點(diǎn)的后繼節(jié)點(diǎn). 插入記錄插入記錄操作完成在最后一條記錄的位置后。即輸入記錄. 排序記錄在單鏈表中,實(shí)現(xiàn)插入排序的基本步驟如下:第一、新建一個(gè)單鏈表I,用來保存 排序結(jié)果,其初始值為待排序單鏈表的頭節(jié)點(diǎn).第二、從待排序鏈表中取出下一個(gè)節(jié)點(diǎn), 將其總分字段值與單鏈表I

18、中的各節(jié)點(diǎn)中總分字段的值進(jìn)行比較,直到在鏈表I中找 到總分小于它的節(jié)點(diǎn)。若找到如此節(jié)點(diǎn),系統(tǒng)將待排序鏈表中取出的節(jié)點(diǎn)插入此節(jié)點(diǎn) 前,作為其前驅(qū)。否則,將取出的節(jié)點(diǎn)放在單鏈表I的尾部。第三、重復(fù)第二步,直到 從待排序鏈表取出的節(jié)點(diǎn)的指針域?yàn)镹ULL,即此節(jié)點(diǎn)為鏈表的尾部節(jié)點(diǎn),排序完成。統(tǒng)計(jì)記錄模塊該模塊的實(shí)現(xiàn)比較簡(jiǎn)單,它主要通過循環(huán)讀取指針變量p所指的當(dāng)前節(jié)點(diǎn)的數(shù)據(jù) 域中各字段的值,并對(duì)各個(gè)成績(jī)字段進(jìn)行逐個(gè)判斷的形式。輸出記錄模塊當(dāng)把記錄輸出至屏幕界面時(shí),調(diào)用Void D i sp (Li nk I )函數(shù),將單鏈表I 中存儲(chǔ)的學(xué)生記錄信息以一定的格式形式在屏幕上輸出。3. 3數(shù)據(jù)結(jié)構(gòu)設(shè)計(jì)(1)

19、 學(xué)生成績(jī)信息結(jié)構(gòu)體struet student0 char num10;char n am e 20;char sex 4;c har ed u 10;/政治面貌char pro 1 0;/專業(yè)c har s ch o ol 20;/ / 家庭住址int p art:/高數(shù)i n t t it I e ;/c 語言int ID;/ 英語int t ime;/ 總分6 ;結(jié)構(gòu)體將用于存儲(chǔ)學(xué)生的基本信息,它將作為單鏈表的數(shù)據(jù)域.(2) 單鏈表node結(jié)構(gòu)體t y ped e f struct node/ / 定 51 鏈表s t ruet student data;/ /數(shù)據(jù)域struct no

20、de 大next;/ /扌旨針域)Node,大Link; /No d e為node類型的結(jié)構(gòu)變量,*Li n k為n o de類型的指針 變量這樣定義了一個(gè)單鏈表的結(jié)構(gòu),結(jié)構(gòu)標(biāo)記為no d e, data為結(jié)構(gòu)類型的數(shù)據(jù), 作為單鏈表結(jié)構(gòu)中的數(shù)據(jù)域,next為單鏈表中的指針域,用來存儲(chǔ)其直接后繼節(jié)點(diǎn)的 地址。N ode為nod e類型的結(jié)構(gòu)變量,*Li n k為n od e類型的指針變量。4 所遇到的問題和分析解決(1)如何打開新的界而以顯示記錄?直接運(yùn)用system(”cl s ");函數(shù)建立新的界而,以便更簡(jiǎn)潔、清楚顯示各種 功能或結(jié)果。(2) 若尙未存在所需文件,應(yīng)如何建立新文

21、件?應(yīng)用fp = f o pen ( " C : s t li dent", ” rb ");函數(shù)直接寫成一個(gè)二進(jìn)制文 件。(3) 不清楚如何運(yùn)用結(jié)構(gòu)體與文件中的記錄相連接起來?應(yīng)用文件數(shù)據(jù)塊讀函數(shù)f re ad(p, sizeof (Node), 1,fp),則可以實(shí)現(xiàn)p指針 指向輸入數(shù)據(jù)存放在內(nèi)存區(qū)的起始地址。(4) 如何按要求進(jìn)行學(xué)號(hào)或姓名的查詢?在單鏈表中進(jìn)行的指針定位操作設(shè)計(jì)成了一個(gè)單獨(dú)的函數(shù) Nod e * L o cate (Link I, c h a r f indmess , char n ame o r n um ),參數(shù) f i nemes

22、s 保存要查找的具體內(nèi)容,nameornum保存要查找的字段(值為字符串類型的num 或者n a me),若找到該記錄,則返回指向該節(jié)點(diǎn)的指針;否則。返回一個(gè)空指針.5 測(cè)試結(jié)果當(dāng)用戶運(yùn)行程序進(jìn)入系統(tǒng)吋,其主界面如圖5-1所示。此時(shí)系統(tǒng)已經(jīng)將c : student文件打開,若文件不為空,則將數(shù)據(jù)從文件中逐條記錄讀出,并寫入單鏈表 中。用戶可選擇010之間的數(shù)值,調(diào)用相應(yīng)功能進(jìn)行操作.當(dāng)輸入為0時(shí),退出此 管理系統(tǒng)。o< *C : PTOgmM Fi leirHicT-ofm£± Viatinl S±udi oByPr o ject frccd<iDeb

23、ii金合婦B凸管理員登汞,? 令右爍ginfA 秘密,1 HHM34H2H1歡迪進(jìn)入學(xué)注成績(jī)佶怠系細(xì)T茂歡迪進(jìn)入學(xué)生戒績(jī)佶怠系銃y r尬TrH W1M mrL 二匸y *占啟33一? 件錄" 親 文記入詢示一宙 捉提ZKM“ 二致 嚴(yán)1入 M -二I-.匚 RP- 一 M占上一七一啟一 zww "刪侈保統(tǒng)X 2 4 6 810 / 14圖5T主界而-nix當(dāng)用戶執(zhí)行了輸入記錄或已經(jīng)從數(shù)據(jù)文件中讀取了學(xué)生記錄之后,即可輸入5 選項(xiàng),并按Enter鍵,查看當(dāng)前單鏈表中的學(xué)生記錄情況,學(xué)生成績(jī)界而如圖5-2 所示,此時(shí)表中有6條記錄。c *C: Progra> Filesl

24、icrosoft Visual StudioMyPro jectsccddDebug成績(jī) 學(xué)生成績(jī) 學(xué)號(hào)1001100210061004 100?1008L濟(jì)飛了日芬 經(jīng)里的里日芬?8?87979圖5-2顯示成績(jī)界面當(dāng)用戶執(zhí)行了輸入記錄或已經(jīng)從數(shù)據(jù)文件中讀取了學(xué)生記錄之E,即可輸入5 選項(xiàng),并按Enter鍵,查看當(dāng)前單鏈表中的學(xué)生記錄情況,學(xué)生基本信息表如下圖 5-3所示,此時(shí)表中有5條記錄.予生基本信息:學(xué)號(hào)姓名性別政治面貌專業(yè)家庭住址10011002100610041007濟(jì)飛了日 經(jīng)里的里日rrr 二LTI日二 RE tg一代療理理 ZDnr旨.8c*C: Progra> File

25、slicrosoft Visual StudiolyPro jectsccddDebug.兇zzzzzzzzz圖5一3當(dāng)用戶輸入1并按Enter鍵后,即可進(jìn)入數(shù)據(jù)輸入界面,其輸入過程如圖5-4 所示,當(dāng)用戶輸入為0的學(xué)號(hào)時(shí),它會(huì)結(jié)束輸入過程,顯示主菜單。13 / 14圖54當(dāng)用戶輸入4并按Ent e r鍵后,即可進(jìn)入記錄修改界而,其修改學(xué)生成績(jī)資 料過程如圖5一3 :5 *C:Progra> FilesIicrosoft Visual StudioIyPr jectsccddDebug成績(jī)負(fù)黨備預(yù)>:濟(jì)寧%日口爰南10日?qǐng)F(tuán)>:-6 > >0 0lKl >10

26、00>號(hào)學(xué)改哥纜家數(shù)託語 修號(hào)名別政專的高ci英尊利于姓性的的番的的 輸人入入入入再空冃隹嗚炷嗚咤隍昭炷唱帖請(qǐng)咤冃炷冃>8是亶人入入圖55當(dāng)用戶輸入2并按Enter鍵后,即可進(jìn)入記錄刪除界面,然后在選擇1或2進(jìn)行 按學(xué)號(hào)或姓名進(jìn)行記錄刪除,再輸入要?jiǎng)h除的學(xué)號(hào)或姓名,這里按姓名刪除了一條姓 名為里了的記錄,如圖56所示:圖56當(dāng)用戶輸入0時(shí),若系統(tǒng)沒保存更新,則提示是否保存,輸入y后按Enter鍵即可保存改動(dòng),如圖5-7所示;若已經(jīng)保存更新則直接提示已經(jīng)退出系統(tǒng),按任意您輸入箕別際的學(xué)號(hào)汽湘?13 5 7 9 0生空生空序紜 入詢邏等出 那一顯顯總退息息底fe.3fclfct二鍵即可

27、關(guān)閉運(yùn)行界面。 D|xl*C: Progr Filexlicroso£t Vi xual Studi olyPr o ject xccddDebugJI|ft.請(qǐng)您選擇據(jù)作曠0提示:資料己經(jīng)改功堤否保存改動(dòng)y/n?y提示:文件保存成功八有5卅己錄己經(jīng)保茯澆示:您己經(jīng)退出系筑再見?Pt*C33 any key to continue圖5-76 系統(tǒng)特色和關(guān)鍵技術(shù)(1) 自定爻數(shù)據(jù)結(jié)構(gòu)體,用于存儲(chǔ)學(xué)生的基本信息,然后定狡一個(gè)單鏈表結(jié)構(gòu),并 為該鏈表定義結(jié)構(gòu)變量和指針變量。(2) 運(yùn)用指針進(jìn)行下一條記錄的地址查找。(3) 運(yùn)用了鏈表的插入排序法對(duì)學(xué)生成績(jī)的總分進(jìn)行了排序。7 結(jié)論經(jīng)過一段時(shí)間的緊張工作,從本設(shè)計(jì)開發(fā)的學(xué)生成績(jī)管理系統(tǒng)從最后的測(cè)試結(jié)果 來看,基本上實(shí)現(xiàn)了所要求的幾大功能:成績(jī)信息的錄入、輸出和更新等操作,并達(dá)到 操作過程中的直觀、方便

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 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)論