![單鏈表的學(xué)生成績管理系統(tǒng)設(shè)計與實現(xiàn)_第1頁](http://file2.renrendoc.com/fileroot_temp3/2021-6/6/172d011e-7f5a-4ebb-a130-6c2bc74829fa/172d011e-7f5a-4ebb-a130-6c2bc74829fa1.gif)
![單鏈表的學(xué)生成績管理系統(tǒng)設(shè)計與實現(xiàn)_第2頁](http://file2.renrendoc.com/fileroot_temp3/2021-6/6/172d011e-7f5a-4ebb-a130-6c2bc74829fa/172d011e-7f5a-4ebb-a130-6c2bc74829fa2.gif)
![單鏈表的學(xué)生成績管理系統(tǒng)設(shè)計與實現(xiàn)_第3頁](http://file2.renrendoc.com/fileroot_temp3/2021-6/6/172d011e-7f5a-4ebb-a130-6c2bc74829fa/172d011e-7f5a-4ebb-a130-6c2bc74829fa3.gif)
![單鏈表的學(xué)生成績管理系統(tǒng)設(shè)計與實現(xiàn)_第4頁](http://file2.renrendoc.com/fileroot_temp3/2021-6/6/172d011e-7f5a-4ebb-a130-6c2bc74829fa/172d011e-7f5a-4ebb-a130-6c2bc74829fa4.gif)
![單鏈表的學(xué)生成績管理系統(tǒng)設(shè)計與實現(xiàn)_第5頁](http://file2.renrendoc.com/fileroot_temp3/2021-6/6/172d011e-7f5a-4ebb-a130-6c2bc74829fa/172d011e-7f5a-4ebb-a130-6c2bc74829fa5.gif)
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
1、長春建筑學(xué)院數(shù)據(jù)結(jié)構(gòu)課程設(shè)計(論文)長春建筑學(xué)院數(shù)據(jù)結(jié)構(gòu)課程設(shè)計(論文)基于單鏈表的學(xué)生成績管理系統(tǒng)設(shè)計與實現(xiàn)Design and implementation of the system of student performance management based on single table年 級:學(xué) 號:1215001()3姓 名:徐文輝專業(yè):計算機科學(xué)與技術(shù)指導(dǎo)老師:常大俊二零一三年十二月學(xué)生成績管理系統(tǒng)是典型的信息管理系統(tǒng),是學(xué)校教務(wù)管理的重要組成部分,其 處理信息量很大。本課程設(shè)計是用C+實現(xiàn)對學(xué)生的成績管理作一個簡單的模擬, 實質(zhì)是建立學(xué)生成績單鏈表,每條記錄由姓名、學(xué)號與成
2、績組成,即鏈表中每個結(jié)點 由4個域組成,分別為:學(xué)號、姓名、成績、存放下一個結(jié)點地址的皿壯域。用菜 單選擇操作方式完成五項功能分別寫成五個函數(shù),插入學(xué)生成績對應(yīng)建立學(xué)生單鏈表 的功能,輸出全部學(xué)生成績記錄,后三個功能分別對應(yīng)單鏈表的査詢、修改與刪除三 大基本操作。該系統(tǒng)中的數(shù)據(jù)采用線性表中的鏈式存儲結(jié)構(gòu)即單鏈表來存儲,用結(jié)構(gòu) 體類型和類類型定義每個學(xué)生記錄并采用外部文件方式記錄數(shù)據(jù)簡便數(shù)據(jù)的讀取與 保存。關(guān)鍵詞:數(shù)據(jù)結(jié)構(gòu),單鏈表,Ci吾言,學(xué)生成績管理長春建筑學(xué)院數(shù)據(jù)結(jié)構(gòu)課程設(shè)計(論文)IAbstractStudent achievement management system is a ty
3、pical management information system, is an important part of the school educational administration management, the large amount of informatioil The curriculum design is used to achieve C+ performance management for the students to make a simplcsimulation, the essence is to establish students report
4、list, each rccordconsists of namc,aiid grade, namely the linked list in each node iscomposed of 4 &)mains, respectively: next domain name, student number,grade, put down a node address the. Complete the five functions were written in five function menu to select the mode of operation, into the stude
5、nt achievement established a single list of the output function of students, allstudcnts record, after the three functions corresponding to single table quury,modify and delete the three basic operations. The system data in the linked storage structure of linear table is a single linked list to stor
6、e, use the structure types class types define each student records and the use of an external file to read and save data and simple data record長春建筑學(xué)院數(shù)據(jù)結(jié)構(gòu)課程設(shè)計(論文)長春建筑學(xué)院數(shù)據(jù)結(jié)構(gòu)課程設(shè)計(論文)目錄摘 要ABSTRACTI第1章引言-0-1.1設(shè)計內(nèi)容-0-1.2設(shè)計目的-1 -1.3設(shè)計目標-2-第2章系統(tǒng)需求與功能分析-3-2.1系統(tǒng)需求分析-3-2.2系統(tǒng)功能分析-3-2.3系統(tǒng)性能分析-5 -第3章總體結(jié)構(gòu)分析-5-3系統(tǒng)的
7、結(jié)構(gòu)分析: -5-3.2系統(tǒng)管理流程圖: -6-第4章槪要設(shè)計-12 -第5章詳細設(shè)計-14 -第6章調(diào)試分析-23 -第7章測試結(jié)果-24 -第8章 結(jié)束語-28 -參考文獻-29-第1章引言1.1設(shè)計內(nèi)容在程序設(shè)計中,可以用許多種數(shù)據(jù)結(jié)構(gòu)來處理數(shù)據(jù)存儲,對于該學(xué)生管理系統(tǒng)而 言線形表無疑是最好的選擇,考慮到學(xué)生成績管理系統(tǒng)一經(jīng)建立不僅進行査詢而且需 要頻繁的迸行插入和刪除,所以采用單鏈表存儲結(jié)構(gòu)實現(xiàn)。這種內(nèi)存的動態(tài)分配策略 使我們在編寫算法是無需考慮有多少空間資源可用于實現(xiàn)數(shù)據(jù)結(jié)構(gòu),算法在需要內(nèi)存 的時候向內(nèi)存申請,當不需要的時候釋放它。為了簡便起見,成績管理系統(tǒng)記錄中只包括學(xué)號、姓名、語
8、文成績、數(shù)學(xué)成績、 英語成和成績存放下一個結(jié)點地址的next域等數(shù)據(jù)項。為學(xué)生成績設(shè)計一個類,內(nèi) 中包含存儲學(xué)生成績信息的單鏈表以及對單鏈表進行各種操作的成員函數(shù)。為各個成 績?nèi)缯Z文成績、數(shù)學(xué)成績和英語成績等數(shù)據(jù)項建立一個結(jié)構(gòu)體類型,并用此結(jié)構(gòu)類型 對學(xué)生成績類迸行實例化。對學(xué)生成績信息要求完成如下功能:(1) 插入:將學(xué)生的成績信息插入;(2) 查詢:査詢滿足條件的學(xué)生;修改:對成績信息的數(shù)據(jù)項迸行修改;(4)刪除:將滿足條件的學(xué)生信息刪除;輸出:將全部的學(xué)生成績信息輸出。為了方便數(shù)據(jù)的讀取與保存,我們采用外部文件來進行數(shù)據(jù)保存能實現(xiàn)學(xué)生信息 數(shù)據(jù)的維護。1.2設(shè)計目的學(xué)生成績管理是一個學(xué)校
9、不可缺少的部分,它的內(nèi)容對于學(xué)校的管理者和學(xué)生以 儀學(xué)生家長來說都至關(guān)重要,所以一個良好的學(xué)生成績管理系統(tǒng)應(yīng)該能夠為用戶提供 充足的信息和快捷的査詢手段。學(xué)生成績管理系統(tǒng)對學(xué)校加強學(xué)生成績管理有著極其 重要的作用.由于各個大學(xué)都在持續(xù)擴招,學(xué)生的數(shù)量日益龐大,對于如何管理如此 龐大的學(xué)生成績數(shù)據(jù)顯得更為復(fù)雜,傳統(tǒng)的手工成績管理不僅工作量大,而且容易出 現(xiàn)問題,女口:效率低、保密性差,另外時間一長,將產(chǎn)生大量的文件和數(shù)據(jù),這對于 查找、更新和維護都帶來了不少的困難。已不能適應(yīng)時代的發(fā)展。隨著科學(xué)技術(shù)的不斷提高,計算機科學(xué)日漸成熟,其強大的功能已為人們深刻認 識,它已進入人類社會的各個領(lǐng)域并發(fā)揮著
10、越來越重要的作用。作為計算機應(yīng)用的一部分,使用計算機對學(xué)生成績信息進行管理,具有手工管理 所無法比擬的優(yōu)點。例:檢索迅速、査找方便、可靠性高、存儲量大、保密性好、壽 命長、成本低等。這些優(yōu)點能夠極大地提高管理者管理的效率,也是學(xué)校走向科學(xué)化、 正規(guī)化管理,與世界接軌的重要條件。因此,開發(fā)設(shè)計這樣一真學(xué)生成績管理軟件成為很有必要的事情。該學(xué)生成績管理系統(tǒng)采用C+語言開發(fā)研制,針對學(xué)生成績及其數(shù)據(jù)特點,可 以全面實現(xiàn)對學(xué)生成績的插入、査詢、修改、刪除和輸岀等功能的計算機管理。它能 使學(xué)生成績數(shù)據(jù)的工作人員從繁重的工作中解脫出來,大大減輕了工作量,減少人為 的工作失誤,全面提高學(xué)生成績管理的效率,從
11、而使學(xué)校對于學(xué)生成績的管理水平和 技術(shù)水平躍上一個新的臺階。1.3設(shè)計目標此建立學(xué)生成績信息管理系統(tǒng),采用計算機對學(xué)生成績信息進行管理,進一步提髙學(xué) 校現(xiàn)代化水平。幫助廣大成績信息管理者提高工作效率、減少工作時間,實現(xiàn)學(xué)生及 其家長信息査詢工作流程的系統(tǒng)化、公平化、規(guī)范化和自動化,也為廣大在教師提供 便利快捷的成績錄入功能。為了保證系統(tǒng)能夠長期、安全、穩(wěn)定、可靠、高效的運行, 本課題將達到以下幾個目的:系統(tǒng)處理的準確性系統(tǒng)處理的準確性和及時性是系統(tǒng)的必要性能。在系統(tǒng)設(shè)計和開發(fā)過程中,要 充分考慮系統(tǒng)當前和將來可能承受的工作量,使系統(tǒng)的處理能力和響應(yīng)時間能夠滿足 高校對信息處理的需求。系統(tǒng)處理的
12、及時性由于學(xué)生非常關(guān)心自己的信息正確與否以便及時接受來自學(xué)校的學(xué)習(xí)成績信息, 學(xué)生成績信息管理功能對于整個系統(tǒng)的功能和性能完成舉足輕重。在系統(tǒng)開發(fā)過程 中,必須釆用一定的方法保證系統(tǒng)的準確性。系統(tǒng)的保密性學(xué)生成績信息是屬于個人的隱私,所以系統(tǒng)在開發(fā)時,應(yīng)該充分誇慮系統(tǒng)的保密 性,以保證學(xué)生的隱私權(quán)。(4)系統(tǒng)的開放性和可擴充性學(xué)生成績信息管理系統(tǒng)在開發(fā)過程中,應(yīng)該充分考慮以后的可擴充性。例如學(xué)生 成績信息管理的方式的改變,學(xué)生成績信息的需求也會不斷的更新和完善。第2章系統(tǒng)需求與功能分析2.1系統(tǒng)需求分析1)能完成學(xué)生成績的插入、查詢、修改、刪除、輸出等功能;(2)采用單鏈表存儲結(jié)構(gòu)實現(xiàn);所有數(shù)
13、據(jù)以外部文件方式保存。2.2系統(tǒng)功能分析要設(shè)計一個學(xué)生成績管理系統(tǒng),其功能包括: 插入函數(shù)Add。:將學(xué)生成績信息插入到鏈表中; 査詢函數(shù)ScarchO:分別可以按學(xué)號和按姓名迸行學(xué)生成績査詢; 刪除函數(shù)PcleVcO:當需要刪除的學(xué)號和姓名一致時則刪除對應(yīng)的學(xué)生記錄; 修改函數(shù)ModifyO:修改指定的學(xué)生成績信息; 輸出函數(shù)ShowO:輸出全部學(xué)生成績信息; 菜單函數(shù)McnuO:為程序的菜單函數(shù)為實現(xiàn)各種功能提供便捷; 讀取數(shù)據(jù)函數(shù)ReadO:從外部文件讀取學(xué)生成績信息; 保存數(shù)據(jù)函數(shù)SaveO:將數(shù)據(jù)保存到外部文件中。(2)線性表的鏈接存儲結(jié)構(gòu)稱為單鏈表,單鏈表使用一組任意的存儲單元存放
14、線性 表的元素,這組存儲單元可以連續(xù)也可以不連續(xù),甚至可以零散分布在內(nèi)存中的任意 位置。為了正確表示元素之間邏輯關(guān)系,每個存儲單元在存儲數(shù)據(jù)元素的同時,還必 須存儲其后繼元素所在地址信息,這個地址信息稱為指針,這兩部分組成了數(shù)據(jù)元素 的存儲映像,稱為結(jié)點,結(jié)點結(jié)構(gòu)如圖2.1所示。next*1圖2.1單鏈表的結(jié)點構(gòu)造設(shè)p是一個指針變量,則p的值是一個指針。設(shè)指針p指向某個結(jié)點,則該結(jié) 點用S表示,在單鏈表中,結(jié)點p由兩個域組成:存放數(shù)據(jù)元素的部分和存放后繼 結(jié)點地址的指針部分,分別用p-dala和p-ncxt來標識,p-ncxt指向結(jié)點咎+i,其 指針與結(jié)點之間關(guān)系如圖2.2所示。(p-n 旳)
15、q圖2.2指針與結(jié)點二間關(guān)系的示意圖長春建筑學(xué)院數(shù)據(jù)結(jié)構(gòu)課程設(shè)計(論文)2.3系統(tǒng)性能分析1. 硬件環(huán)境處理器:CPU主頻在500MHz以上內(nèi)存:128MB以上硬盤空間:10ME。2. 軟件環(huán)境操作系統(tǒng):Windows 98/Mc/NT/200()/XP(推薦使用 Windows 2000/XP) o調(diào)試環(huán)境:Visual C+及以上版本。第3章總體結(jié)構(gòu)分析3.1系統(tǒng)的結(jié)構(gòu)分析:通過對學(xué)生成績信息管理系統(tǒng)的功能分析,可以定義出系統(tǒng)的總體結(jié)構(gòu)模塊圖, 如圖3.1所示。圖3.1學(xué)生成績管理系統(tǒng)總體結(jié)構(gòu)設(shè)計3.2系統(tǒng)管理流程圖:前面的分析中已經(jīng)定義了系統(tǒng)各個模塊,屬于靜態(tài)建模的范圍。在系統(tǒng)運行時刻的
16、動 態(tài)模型應(yīng)該由系統(tǒng)的流程決定。當用戶運行該系統(tǒng)后可以來進行學(xué)生成績信息插入管 理、學(xué)生成績信息査詢管理、學(xué)生成績信息刪除管理、學(xué)生成績信息修改管理及學(xué)生 成績信息輸出等操作,具體的流程如圖3.2所示。圖3.2系統(tǒng)流程圖主模塊應(yīng)負責(zé)應(yīng)用程序的主界面,由它調(diào)用其他模塊因此主模塊應(yīng)具有操作性好、界面清晰的特點,使用戶能夠很方便地找到所需功能。根據(jù)功能需求的結(jié)果分析,主界面應(yīng)該由學(xué)生成績信息插入管理,學(xué)生成 績信息査詢管理、學(xué)生成績信息修改管理、學(xué)生成績信息刪除管理和學(xué)生成績 信息輸出管理組成,可以通過輸入相應(yīng)的數(shù)字進入相應(yīng)的功能模塊。4系統(tǒng)詳 細設(shè)計和系統(tǒng)實現(xiàn)系統(tǒng)總體設(shè)計完成后,就可以根據(jù)需求對各
17、個模塊來進行實現(xiàn)了。在本系 統(tǒng)中需要編碼實現(xiàn)的主要有學(xué)生成績信息插入、學(xué)生成績信息査詢、學(xué)生成績 信息修改、學(xué)生成績信息刪除和學(xué)生成績信息輸出等5個模塊。學(xué)生成績插入模塊添加的信息包括學(xué)號環(huán)允許重復(fù))、姓名(不允許重復(fù))、語文成績、數(shù)學(xué)成 績和英語成績。流程圖如下圖4.1所示。圖4.1插入模塊流程圖本程序采用的是尾插法,就是每次將新申請的結(jié)點插在終端結(jié)點的后面,其執(zhí)行過程如圖4.2所示。(2)初始化插入元索a0(C)一般悔況插入元素屯aa-2-u圖4.2尾插法達立單鏈表操作示意圖(2)學(xué)生成績査詢模塊按姓名和學(xué)號査找學(xué)生成績的流程圖分別如下圖4.3所示。圖4.3按姓名査找學(xué)生成績信息流程圖在單
18、鏈表中,即使知道被訪問結(jié)點的位置i,也不能像順序表那樣直接按序號訪 問,而只能從頭指針出發(fā),設(shè)置一個工作指針p,順next域逐個結(jié)點往下搜索。當p 指向某個結(jié)點時判斷是否為第i個結(jié)點,若是則査找成功;否則,將工作指針p后移, 即將P指向原來所指結(jié)點的后繼結(jié)點。直到p為NULL時査找失敗。單鏈表査找過 程如圖4.4所示。圖4.4單鏈表查找過程的示意圖按學(xué)號查詢學(xué)生成績信息同按姓名查找學(xué)生成績信息,此處不再詳細列出。學(xué)生成績修改模塊長春建筑學(xué)院數(shù)據(jù)結(jié)構(gòu)課程設(shè)計(論文)首先要査找與要修改數(shù)據(jù)相匹配的信息,若沒有則返回失敗。否則把相應(yīng)的信息 輸出,然后再重新輸入新的數(shù)據(jù)并保存到單鏈表。(4)學(xué)生成績刪
19、除模塊當選擇刪除功能時,首先輸入要刪除的同學(xué)的姓名,然后輸入要刪除的同學(xué)的學(xué) 號,如果該同學(xué)存在并且姓名與學(xué)號匹配的上,則進行刪除操作,否則返回失敗。其 流程圖4.5如下:圖4.5刪除學(xué)生信息模塊流程圖刪除操作定義為將單鏈表的第i個結(jié)點刪去。因為在單鏈表中結(jié)點務(wù)存儲地址在 其前驅(qū)結(jié)點心的指針域,所以必須首先找到心的存儲地址P,然后令P的皿衛(wèi)域指 向咎的后繼結(jié)點,即把結(jié)點從鏈上摘下來,最后釋放結(jié)點務(wù)的存儲空間,如圖4.6 所示。長春建筑學(xué)院數(shù)據(jù)結(jié)構(gòu)課程設(shè)計(論文)(a)在表頭刪除0)在表中間刪除(c)被刪結(jié)點不存在Q但其前駆結(jié)點卻存在a圖4.6在單鏈表中刪除結(jié)點指針的變化情況學(xué)生成績輸出模塊從單
20、鏈表表頭遍歷整個單鏈表,將所有數(shù)據(jù)輸出。其部分代碼如下:void Function:ShowO char choose;Student * temp;systcm(nclsn);tcmp=Studcnt_First-Ncxt;if(!tcmp)coutvv文件無數(shù)據(jù)nn ucndl;couKchoosc;whilc(choosc!=rlf) coutl.返回主菜單 Next;c()utl.返回主菜單ch(M)sc;whilc(ch()()sc!=rl coutl.返回主菜單cndl;cinch(x)sc;MenuO;第4章概要設(shè)計利用單鏈表設(shè)計一個學(xué)生成績管理系統(tǒng),使之提供以下功能:(1)錄入
21、學(xué)生信息記錄(2)査詢學(xué)生信息記錄(3)刪除學(xué)生信息記錄(4) 修改學(xué)生信息記錄(5) 顯示全部學(xué)生信息記錄需求說明:(1) 學(xué)生信息包括學(xué)號、姓名、性別、數(shù)學(xué)成績、英語成績、計算機成績、總分、 平均分、名次,并且要求學(xué)號不重復(fù);(2) 錄入記錄可以從以二進制形式存儲的數(shù)據(jù)文件中讀入,也可以從鍵盤逐個輸 入學(xué)生記錄。當從數(shù)據(jù)文件中讀入記錄時,它就是在以記錄為單位存儲的數(shù)據(jù)文件中, 將記錄逐條復(fù)制到單鏈表中。(3) 對學(xué)生信息應(yīng)能夠分別按學(xué)號及按姓名兩種方式進行査詢,要求能返回所有 符合條件的學(xué)生的信息;若找到該學(xué)生的記錄,它則返回該學(xué)生記錄的指針。否則, 它返回一個值為NULL的空指針,并打印
22、岀未找到該學(xué)生記錄的提示信息。(4) 更新學(xué)生信息:要求可以對其進行修改、刪除、排序、插入等操作,迸行了 這些操作之后,需要將修改的數(shù)據(jù)存入源數(shù)據(jù)文件;(5) 輸出要求:對學(xué)生記錄存盤操作,即將單鏈表中的各節(jié)點中存儲的學(xué)生記錄 信息寫入數(shù)據(jù)文件中,并將單鏈表中存儲的學(xué)生記錄信息以表格的形式在屏幕上打印 出來;(6) 學(xué)生信息的顯示要求有一定的規(guī)范格式;(7) 并要求在此過程中能夠盡可能的兼容用戶使用過程中的異常情況。二、總體設(shè)計初步提出解決方案,以&系統(tǒng)的體系結(jié)構(gòu)和數(shù)據(jù)結(jié)構(gòu)的設(shè)計方案,并寫出書面總體設(shè) 計說明書。三、詳細設(shè)計四、編寫代碼調(diào)試總結(jié)第5章詳細設(shè)計/*戎*官* 錄入杭十*2*2* /
23、void AddQ/錄入學(xué)生成績信息函數(shù)char name20;ini no;Class score;char choose;Student *fl ,*p,*f2; systcmfcls1*); fl=Studcnt_First;f2=Svudcnt_Firsl-Ncxt; whilc(fl-Ncxt) fl=fl-Ncxt;do p=ncw Student;PrintfC1請輸入您要添加的學(xué)生成績信息:巧;PrintfC請輸入學(xué)生姓名門;長春建筑學(xué)院數(shù)據(jù)結(jié)構(gòu)課程設(shè)計(論文)Sccaiif( “c” ,&name);while( if(strcmp(f2-GctNamcO,namc)=0)p
24、rintf(”該學(xué)生已存在,請確定姓名!n);PrintfC請輸入姓名:”);Sccaiif( “c” ,&name);break;f2=f2-Ncxt;primf請輸入學(xué)號門;Scaiif( “c” ,no);printf(“請輸入語文成績:”);Scanf( a%d,&scorc.Chincsc); printfC請輸入數(shù)學(xué)成績:”);Scanf( “d” ,&score.Math); printfC請輸入英語成績:”);Scanf( “d”,&score.English); p-Sct(namc,no,score); fl-Ncxt=p;p-Ncxt=NULL;Printff1是否繼續(xù)輸
25、入信息?(YN) nfl);Scanf( “c,&choose);whilc(ch(x)sc=y | | chcx)sc=,V);SavcQ;Printffl.返回主菜單n”);Scanf( “ %d ” ,&choose);whilc(choosc!=,lr)printfCl.返回主菜單J;Scaiif(,&choose);McnuO;void DclcVcO/刪除信息函數(shù)char name20;int no;char choose;Studentsystcm(Hclsn);p=tcmp=Studcnt_First-Ncxt;PrintffiW輸入姓名門;Scanf( “c”,&name);
26、Prints輸入學(xué)號門;Scanf( “c” ,&no);whilc(tcmp) if(strcmp(tcmp-GctNamcO,name)=0&tcmp-GctNo()=no) /判斷該學(xué)生信 息是否存在printfC姓名t學(xué)號t語文成績t數(shù)學(xué)成績t英語成績);tcmp-OutO;printf(nn 是否刪除(Y/N)”);Scanf( %c”,&choose);if(choosc=y | | choose二二1Y1) p-Ncxt=tcmp-Ncxt;delete temp;PrimfC刪除成功:n”);break;p=tcmp;tcmp=tcmp-Ncxt;Savc();Priniffl
27、.回主菜單n2繼續(xù)刪除J;Scaiif( %c”,&choose);whilc(ch()osc!=,l &choose!=,2,)priMfl 返回主菜單n2.繼續(xù)刪除”);Scaiif( %c”,&choose);if(choose=,ll)McnuO;else if(choose=f2l)DclctcQ;void ModifyO修改學(xué)生信息函數(shù)char choosciiamcpO;Student *tcmp,*p;ini no;Class score;systcm(Hclsu);tcmp=p=Studcnt_First;Printf(”請輸入您要修改的學(xué)生姓名門;Scaiif( %c,&n
28、ame);whilc(tcmp) if(strcmp(tcmp-GctNamcO,namc)=0) Print”姓名t學(xué)號l語文成績l數(shù)學(xué)成績t英語成績; tcmp-()ul();PrintfC請輸入姓名:”);Scaiif( %c”,&name);PrimfC請輸入學(xué)號:”);Scanf( “c” ,&no);Prinif(“請輸入語文成績V);Scaiif( %c”,&scorc.Chincsc);PrintfC請輸入數(shù)學(xué)成績:*);Scaiif( “c” ,&scorc.Malh);PrintfC請輸入英語成績門;Scanf( “%c”,&score.Engiish); temp Sct
29、(nQmc:,n(),sc()w); break; tcmp=tcmp-Ncxt;SavcO;Prinif(”修改成功叮;Printff 1.返回主菜單n2.繼續(xù)修改”);Scaiif( %c”,&choose);whilc(choosc!=,r&choosc!=2)PrintfC11.返回主菜單門2 繼續(xù)修改J;Scaiif( %c”,&choose);if(choosc=lr)MenuO;else if(choose=,2l)ModifyQ;void ScarchO int flag(O);char choose;char ll 20;int t2;sysVcm(,clsn);Studen
30、t *tcmp=Studcnv_First-Ncxl;doprintffr輸入査詢方式:nl.ft姓名査詢n2按學(xué)號査詢護);Scanf( %c,&choose);if(choosc=llf) print請輸入您要査詢的姓名:”);Scaiif(,&ll);whilc(tcmp) if(strcmp(tl ,tcmp- GciN amc()=0)盹=1;break;tcmp=tcmp-Ncxt;if(flag=0)PrintfC*n無該學(xué)生的信息n”);elseprintf(-姓名t學(xué)號t語文成績t數(shù)學(xué)成績t英語成績);tcmp-OutO;break;else if(ch(x)sc=,2,)p
31、rintfC請輸入您要査詢的學(xué)號“);Scaiif( “d”,&;whilc(tcmp) if(t2=tcmp-GctN()0)break;tcmp= tcmp-Ncxt;if(flag=O)printfC*n無該學(xué)生的信息n*endl);elseprintfC1姓名i學(xué)號t語文成績t數(shù)學(xué)成績t英語成績);tcmp-OutO;break;whilc(ch(x)se!=f 111 | choose!二2);primfCnl.返回主菜單n2.繼續(xù)査詢”);Scaiif( %c,&choose);whilc(choosc!=,r&choosc!=2)printfCl.返回主菜單n2.繼續(xù)査詢”);S
32、canf( “c,&choose;);if(choosc=lr)MenuO;else if(choose=f2l)Scarch();長春建筑學(xué)院數(shù)據(jù)結(jié)構(gòu)課程設(shè)計(論文)第6章調(diào)試分析對以上代碼在PEV C+環(huán)境下運行,進行不斷調(diào)試,發(fā)現(xiàn)錯誤,修改錯誤。(1) 開始程序運行輸入學(xué)生數(shù)據(jù)時,沒有設(shè)置結(jié)束語造成了無限循環(huán)的結(jié)果。(2) 開始執(zhí)行輸入函數(shù),按學(xué)號順序輸入學(xué)生的成績,輸完后執(zhí)行顯示功能,學(xué) 生成績記錄是空的無法顯示的,試著在其中增加一些語句,把學(xué)生信息寫入文件中, 然后再從文件中讀取,接著在運行程序,學(xué)生成績便可以正確的輸出了。(3) 開始時,先把成績總分排序,再插入一個學(xué)生的成績,執(zhí)行
33、顯示功能,雖 然插入的學(xué)生的成績能正常插入,但該學(xué)生的名次為0。后來,在插入成績之后,調(diào) 用排序函數(shù),把所有成績重新排序一次,插入的學(xué)生便可以正常排序了。(4) 為了輸入更多的學(xué)生在輸入函數(shù)中設(shè)了一個無限循環(huán),可以輸入無數(shù)個學(xué) 生的成績信息,當學(xué)號為()的時候則停止輸入。(5) 輸入太多個學(xué)生的成績時,屏幕顯示不能控制為一頁一頁顯示,所以為了 方便起見,不要輸入太多記錄,十個為最佳。(6) 運行程序時還有許多小錯誤比如少加;“”等,或把;錯寫成:,等 平時多注意一下就行。在編寫修改函數(shù)時,發(fā)現(xiàn)總成績沒有變化,因為循環(huán)語句之后沒有進行數(shù)據(jù) 的重新賦值,以至于新的數(shù)據(jù)沒能插進順序表。第7章測試結(jié)果1、運行主界面如圖7.1所示:長春建筑學(xué)院數(shù)據(jù)結(jié)構(gòu)課程設(shè)計(論文)版權(quán)所有:徐交輝長春建筑學(xué)院歡迎你學(xué)生成績信息管琨系統(tǒng)顯示系統(tǒng)時間和日期:Sun Dec 22 13:08:09 2013青選擇您需要的操
溫馨提示
- 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)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年銅材熱擠壓件項目投資可行性研究分析報告
- 金威啤酒公司的成本管理絕技
- 中國汽車HUD行業(yè)競爭格局分析及投資規(guī)劃研究報告
- 2025年度共享工作人員社會保險繳納合同
- 代理配股合同范例
- 勞動合同范本養(yǎng)殖
- 伐木砍伐工程合同范例
- 農(nóng)村舊房拆遷合同范本
- 代養(yǎng)鵝合同范本
- 公司轉(zhuǎn)讓協(xié)議合同范本
- (完整版)人教版三年級上冊100道口算題
- 2023年河北廊坊市三河市金創(chuàng)產(chǎn)業(yè)投資有限公司招聘筆試題庫含答案解析
- 印章管理辦法(公安部)
- 人教版高一數(shù)學(xué)上冊期末考試試卷及答案
- 振動振動測試基礎(chǔ)知識培訓(xùn)課件
- 教學(xué)設(shè)計 分數(shù)的再認識 省賽一等獎
- DBJ51-T 151-2020 四川省海綿城市建設(shè)工程評價標準
- GB/T 3795-2006錳鐵
- GB/T 31329-2014循環(huán)冷卻水節(jié)水技術(shù)規(guī)范
- 京東1+X理論考試試題及答案
- 人教版四年級下冊數(shù)學(xué)應(yīng)用題練習(xí)全
評論
0/150
提交評論