用文件實現(xiàn)的學(xué)生成績管理系統(tǒng)-(華工完整大作業(yè))_第1頁
用文件實現(xiàn)的學(xué)生成績管理系統(tǒng)-(華工完整大作業(yè))_第2頁
用文件實現(xiàn)的學(xué)生成績管理系統(tǒng)-(華工完整大作業(yè))_第3頁
用文件實現(xiàn)的學(xué)生成績管理系統(tǒng)-(華工完整大作業(yè))_第4頁
用文件實現(xiàn)的學(xué)生成績管理系統(tǒng)-(華工完整大作業(yè))_第5頁
已閱讀5頁,還剩19頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、 用文件實現(xiàn)學(xué)生成績管理系統(tǒng)(全套完整資料,可直接上交!)一、題目: 用文件實現(xiàn)的學(xué)生成績管理系統(tǒng)二、目的學(xué)生通過本次實驗編程實現(xiàn)一個班級學(xué)生成績的管理,使學(xué)生了解文件的主要操作(創(chuàng)建、讀、寫、增加和刪除記錄等)。三、內(nèi)容和要求1、 編寫一個學(xué)生成績管理的軟件系統(tǒng),語言不限。2、 軟件中能夠隨時增加學(xué)生成績記錄(姓名、班級、學(xué)號、課程名稱、成績),這些記錄存放到磁盤文件中。3、 利用磁盤文件的系統(tǒng)接口函數(shù)編程實現(xiàn)對學(xué)生成績進行管理:以各種方式查詢成績、修改成績;顯示所有的學(xué)生成績。4、 編寫將一個班級的成績復(fù)制到另一個文件的功能。5、 學(xué)習(xí)使用文件編程,實現(xiàn)指定班級成績文件的刪除操作。6、 能

2、夠?qū)W(xué)生成績記錄進行文件備份和還原。7、 本實驗的目的是練習(xí)文件操作,因此該軟件不能使用數(shù)據(jù)庫存放信息,只能用普通文件存放信息。 四、提交內(nèi)容本大作業(yè)每個人必須單獨完成。最后需提交的內(nèi)容包括:源程序(關(guān)鍵代碼需要注釋說明)、可運行程序、運行結(jié)果、算法思路及流程圖、心得體會。將以上內(nèi)容刻入光盤,光盤上寫明班級、學(xué)號、姓名信息,再將大作業(yè)要求、源程序及注釋、算法思路及流程圖、心得體會等打印出來。最后將打印稿及光盤統(tǒng)一交給自己所在的教學(xué)點管理人員。截止時間2014年12月1日。過期自負。大作業(yè)嚴禁抄襲。發(fā)現(xiàn)抄襲一律以不及格論。學(xué)生提交的大作業(yè)必須與本次布置的大作業(yè)題目和要求相一致,否則成績記零分。

3、用文件實現(xiàn)學(xué)生成績管理系統(tǒng)摘 要 學(xué)生成績管理系統(tǒng)是典型的信息管理系統(tǒng),是學(xué)校教務(wù)管理的重要組成部分,其處理信息量很大。本課程設(shè)計是用C+實現(xiàn)對學(xué)生的成績管理作一個簡單的模擬,實質(zhì)是建立學(xué)生成績單鏈表,每條記錄由姓名、學(xué)號與成績組成,即鏈表中每個結(jié)點由4個域組成,分別為:學(xué)號、姓名、成績、存放下一個結(jié)點地址的next域。用菜單選擇操作方式完成五項功能分別寫成五個函數(shù),插入學(xué)生成績對應(yīng)建立學(xué)生單鏈表的功能,輸出全部學(xué)生成績記錄,后三個功能分別對應(yīng)單鏈表的查詢、修改與刪除三大基本操作。該系統(tǒng)中的數(shù)據(jù)采用線性表中的鏈式存儲結(jié)構(gòu)即單鏈表來存儲,用結(jié)構(gòu)體類型和類類型定義每個學(xué)生記錄并采用外部文件方式記錄

4、數(shù)據(jù)簡便數(shù)據(jù)的讀取與保存。關(guān)鍵詞 程序設(shè)計;C+;文件;學(xué)生成績管理系統(tǒng); 目錄1 引 言1.1 課程設(shè)計目的1.2課程設(shè)計內(nèi)容1.3課程設(shè)計目標2系統(tǒng)需求與功能分析2.1 系統(tǒng)需求分析2.2系統(tǒng)功能分析2.3系統(tǒng)性能分析3總體結(jié)構(gòu)設(shè)計3.1系統(tǒng)的結(jié)構(gòu)設(shè)計3.2系統(tǒng)管理流程圖4 系統(tǒng)詳細設(shè)計和系統(tǒng)實現(xiàn)5 系統(tǒng)測試6 結(jié)束語參考文獻附錄1:結(jié)構(gòu)化設(shè)計源程序清單 1 引 言1.1 課程設(shè)計目的學(xué)生成績管理是一個學(xué)校不可缺少的部分,它的內(nèi)容對于學(xué)校的管理者和學(xué)生以及學(xué)生家長來說都至關(guān)重要,所以一個良好的學(xué)生成績管理系統(tǒng)應(yīng)該能夠為用戶提供充足的信息和快捷的查詢手段。學(xué)生成績管理系統(tǒng)對學(xué)校加強學(xué)生成績管

5、理有著極其重要的作用.由于各個大學(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ā)揮著越來越重要的作用。作為計算機應(yīng)用的一部分,使用計算機對學(xué)生成績信息進行管理,具有手工管理所無法比擬的優(yōu)點。例:檢索迅速、查找方便、可靠性高、存儲量大、保密性好、壽命長、成本低等。這些優(yōu)點能夠極大地提高管

6、理者管理的效率,也是學(xué)校走向科學(xué)化、正規(guī)化管理,與世界接軌的重要條件。因此,開發(fā)設(shè)計這樣一套學(xué)生成績管理軟件成為很有必要的事情。該學(xué)生成績管理系統(tǒng)采用C+語言開發(fā)研制,針對學(xué)生成績及其數(shù)據(jù)特點,可以全面實現(xiàn)對學(xué)生成績的插入、查詢、修改、刪除和輸出等功能的計算機管理。它能使學(xué)生成績數(shù)據(jù)的工作人員從繁重的工作中解脫出來,大大減輕了工作量,減少人為的工作失誤,全面提高學(xué)生成績管理的效率,從而使學(xué)校對于學(xué)生成績的管理水平和技術(shù)水平躍上一個新的臺階。1.2課程設(shè)計內(nèi)容在程序設(shè)計中,可以用許多種數(shù)據(jù)結(jié)構(gòu)來處理數(shù)據(jù)存儲,對于該學(xué)生管理系統(tǒng)而言線形表無疑是最好的選擇,考慮到學(xué)生成績管理系統(tǒng)一經(jīng)建立不僅進行查詢

7、而且需要頻繁的進行插入和刪除,所以采用單鏈表存儲結(jié)構(gòu)實現(xiàn)。這種內(nèi)存的動態(tài)分配策略使我們在編寫算法是無需考慮有多少空間資源可用于實現(xiàn)數(shù)據(jù)結(jié)構(gòu),算法在需要內(nèi)存的時候向內(nèi)存申請,當不需要的時候釋放它。為了簡便起見,成績管理系統(tǒng)記錄中只包括學(xué)號、姓名、語文成績、數(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) 查詢:查詢滿

8、足條件的學(xué)生;(3) 修改:對成績信息的數(shù)據(jù)項進行修改;(4) 刪除:將滿足條件的學(xué)生信息刪除;(5) 輸出:將全部的學(xué)生成績信息輸出。為了方便數(shù)據(jù)的讀取與保存,我們采用外部文件來進行數(shù)據(jù)保存能實現(xiàn)學(xué)生信息數(shù)據(jù)的維護。1.3課程設(shè)計目標 建立學(xué)生成績信息管理系統(tǒng),采用計算機對學(xué)生成績信息進行管理,進一步提高學(xué)?,F(xiàn)代化水平。幫助廣大成績信息管理者提高工作效率、減少工作時間,實現(xiàn)學(xué)生及其家長信息查詢工作流程的系統(tǒng)化、公平化、規(guī)范化和自動化,也為廣大在教師提供便利快捷的成績錄入功能。為了保證系統(tǒng)能夠長期、安全、穩(wěn)定、可靠、高效的運行,本課題將達到以下幾個目的:(1)系統(tǒng)處理的準確性系統(tǒng)處理的準確性和

9、及時性是系統(tǒng)的必要性能。在系統(tǒng)設(shè)計和開發(fā)過程中,要充分考慮系統(tǒng)當前和將來可能承受的工作量,使系統(tǒng)的處理能力和響應(yīng)時間能夠滿足高校對信息處理的需求。(2)系統(tǒng)處理的及時性由于學(xué)生非常關(guān)心自己的信息正確與否以便及時接受來自學(xué)校的學(xué)習(xí)成績信息,學(xué)生成績信息管理功能對于整個系統(tǒng)的功能和性能完成舉足輕重。在系統(tǒng)開發(fā)過程中,必須采用一定的方法保證系統(tǒng)的準確性。(3)系統(tǒng)的保密性學(xué)生成績信息是屬于個人的隱私,所以系統(tǒng)在開發(fā)時,應(yīng)該充分考慮系統(tǒng)的保密性,以保證學(xué)生的隱私權(quán)。(4)系統(tǒng)的開放性和可擴充性學(xué)生成績信息管理系統(tǒng)在開發(fā)過程中,應(yīng)該充分考慮以后的可擴充性。例如學(xué)生成績信息管理的方式的改變,學(xué)生成績信息的

10、需求也會不斷的更新和完善。2系統(tǒng)需求與功能分析2.1 系統(tǒng)需求分析 (1) 能完成學(xué)生成績的插入、查詢、修改、刪除、輸出等功能;(2)采用單鏈表存儲結(jié)構(gòu)實現(xiàn);(3) 所有數(shù)據(jù)以外部文件方式保存。2.2系統(tǒng)功能分析(1)要設(shè)計一個學(xué)生成績管理系統(tǒng),其功能包括:插入函數(shù)Add():將學(xué)生成績信息插入到鏈表中;查詢函數(shù)Search():分別可以按學(xué)號和按姓名進行學(xué)生成績查詢;刪除函數(shù)Delete():當需要刪除的學(xué)號和姓名一致時則刪除對應(yīng)的學(xué)生記錄;修改函數(shù)Modify():修改指定的學(xué)生成績信息;輸出函數(shù)Show():輸出全部學(xué)生成績信息;菜單函數(shù)Menu():為程序的菜單函數(shù)為實現(xiàn)各種功能提供便

11、捷;讀取數(shù)據(jù)函數(shù)Read():從外部文件讀取學(xué)生成績信息;保存數(shù)據(jù)函數(shù)Save():將數(shù)據(jù)保存到外部文件中。(2)線性表的鏈接存儲結(jié)構(gòu)稱為單鏈表,單鏈表使用一組任意的存儲單元存放線性表的元素,這組存儲單元可以連續(xù)也可以不連續(xù),甚至可以零散分布在內(nèi)存中的任意位置。為了正確表示元素之間邏輯關(guān)系,每個存儲單元在存儲數(shù)據(jù)元素的同時,還必須存儲其后繼元素所在地址信息,這個地址信息稱為指針,這兩部分組成了數(shù)據(jù)元素的存儲映像,稱為結(jié)點,結(jié)點結(jié)構(gòu)如圖2.1所示。圖2.1單鏈表的結(jié)點構(gòu)造 設(shè)p是一個指針變量,則p的值是一個指針。設(shè)指針p指向某個結(jié)點,則該結(jié)點用*p表示,在單鏈表中,結(jié)點p由兩個域組成:存放數(shù)據(jù)元

12、素的部分和存放后繼結(jié)點地址的指針部分,分別用p->data和p->next來標識,p->next指向結(jié)點ai+1,其指針與結(jié)點之間關(guān)系如圖2.2所示。圖2.2指針與結(jié)點之間關(guān)系的示意圖2.3系統(tǒng)性能分析1硬件環(huán)境處理器:CPU主頻在500MHz以上 內(nèi)存:128MB以上硬盤空間:10MB。2軟件環(huán)境操作系統(tǒng): Windows 98/Me/NT/2000/XP(推薦使用Windows 2000/XP)。調(diào)試環(huán)境: Visual C+及以上版本。3總體結(jié)構(gòu)設(shè)計3.1系統(tǒng)的結(jié)構(gòu)設(shè)計通過對學(xué)生成績信息管理系統(tǒng)的功能分析,可以定義出系統(tǒng)的總體結(jié)構(gòu)模塊圖,如圖3.1所示。圖3.1學(xué)生成績

13、管理系統(tǒng)總體結(jié)構(gòu)設(shè)計3.2系統(tǒng)管理流程圖 前面的分析中已經(jīng)定義了系統(tǒng)各個模塊,屬于靜態(tài)建模的范圍。在系統(tǒng)運行時刻的動態(tài)模型應(yīng)該由系統(tǒng)的流程決定。圖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ù)需求對各個模塊來進行實現(xiàn)了。在本系統(tǒng)中需要編碼實現(xiàn)的主要有學(xué)生成績信

14、息插入、學(xué)生成績信息查詢、學(xué)生成績信息修改、學(xué)生成績信息刪除和學(xué)生成績信息輸出等5個模塊。(1)學(xué)生成績插入模塊添加的信息包括學(xué)號(不允許重復(fù))、姓名(不允許重復(fù))、語文成績、數(shù)學(xué)成績和英語成績。流程圖如下圖4.1所示。開始插入數(shù)據(jù)輸入學(xué)生成績信息調(diào)用類成員函數(shù)采用單鏈表保存數(shù)據(jù)結(jié)束圖4.1插入模塊流程圖本程序采用的是尾插法,就是每次將新申請的結(jié)點插在終端結(jié)點的后面,其執(zhí)行過程如圖4.2所示。圖4.2尾插法建立單鏈表操作示意圖(2)學(xué)生成績查詢模塊按姓名和學(xué)號查找學(xué)生成績的流程圖分別如下圖4.3所示。結(jié)束輸入要查找姓名判斷抱歉沒有該學(xué)生輸出該學(xué)生的信息按姓名查找開始NY圖4.3按姓名查找學(xué)生成

15、績信息流程圖在單鏈表中,即使知道被訪問結(jié)點的位置i,也不能像順序表那樣直接按序號訪問,而只能從頭指針出發(fā),設(shè)置一個工作指針p,順next域逐個結(jié)點往下搜索。當p指向某個結(jié)點時判斷是否為第i個結(jié)點,若是則查找成功;否則,將工作指針p后移,即將p指向原來所指結(jié)點的后繼結(jié)點。直到p為NULL時查找失敗。單鏈表查找過程如圖4.4所示。圖4.4單鏈表查找過程的示意圖按學(xué)號查詢學(xué)生成績信息同按姓名查找學(xué)生成績信息,此處不再詳細列出。(3)學(xué)生成績修改模塊首先要查找與要修改數(shù)據(jù)相匹配的信息,若沒有則返回失敗。否則把相應(yīng)的信息輸出,然后再重新輸入新的數(shù)據(jù)并保存到單鏈表。(4)學(xué)生成績刪除模塊當選擇刪除功能時,

16、首先輸入要刪除的同學(xué)的姓名,然后輸入要刪除的同學(xué)的學(xué)號,如果該同學(xué)存在并且姓名與學(xué)號匹配的上,則進行刪除操作,否則返回失敗。其流程圖4.5如下:開始刪除操作輸入姓名輸入學(xué)號姓名學(xué)號一致執(zhí)行刪除功能返回主菜單NY圖4.5刪除學(xué)生信息模塊流程圖刪除操作定義為將單鏈表的第i個結(jié)點刪去。因為在單鏈表中結(jié)點ai存儲地址在其前驅(qū)結(jié)點ai-1的指針域,所以必須首先找到ai-1的存儲地址p,然后令p的next域指向ai 的后繼結(jié)點,即把結(jié)點ai 從鏈上摘下來,最后釋放結(jié)點ai的存儲空間,如圖4.6所示。 圖4.6在單鏈表中刪除結(jié)點指針的變化情況(5)學(xué)生成績輸出模塊從單鏈表表頭遍歷整個單鏈表,將所有數(shù)據(jù)輸出。

17、其部分代碼如下: void Function:Show() char choose;Student *temp;system("cls");temp=Student_First->Next; if(!temp) cout<<"文件無數(shù)據(jù)nn "<<endl;cout<<"1.返回主菜單"<<endl; cin>>choose; while(choose!='1') cout<<"1.返回主菜單"<<endl;

18、cin>>choose; Menu(); elsecout<<"姓名t學(xué)號t語文成績t數(shù)學(xué)成績t英語成績n"while(temp!=NULL)temp->Out(); temp=temp->Next; cout<<"1.返回主菜單"<<endl;cin>>choose;while(choose!='1')cout<<"1.返回主菜單"<<endl; cin>>choose;Menu(); 5 系統(tǒng)測試在完成了系統(tǒng)

19、各方面的設(shè)計后,并不是可以運行就完成的,為了保證系統(tǒng)性能的穩(wěn)定性跟安全性等,就要對系統(tǒng)做測試。測試環(huán)境如下:l 硬件:P4C 2.4GHz,80GB硬盤,512M內(nèi)存;l 軟件:Windows XP Personal SP2,分辨率1024*768,Microsoft Visual C+ 6.0。運行的主界面如圖5.1所示:當選擇1插入學(xué)生成績信息功能時,如圖5.2所示。圖5.2插入學(xué)生成績信息實現(xiàn)返回主菜單后選擇2查詢學(xué)生成績信息,運行結(jié)果按由姓名查詢和按學(xué)號查詢分別如圖5.3和圖5.4所示。圖5.3按姓名查找相關(guān)信息實現(xiàn)圖5.4按學(xué)號查找相關(guān)信息實現(xiàn)當在主菜單中選擇3時,則進行刪除功能。其

20、運行結(jié)果如圖5.5所示。圖5.5 刪除學(xué)生信息功能實現(xiàn)當在主菜單中選擇4時,則進行學(xué)生信息修改功能。其運行結(jié)果如圖5.6所示。圖5.6修改學(xué)生信息功能實現(xiàn)當在主菜單中選擇5時,則進行學(xué)生信息輸出功能。其運行結(jié)果如圖5.7所示。圖5.7輸出學(xué)生信息功能實現(xiàn)6 結(jié)束語在本次課程設(shè)計過程中,曾遇到過不少問題,單靠我個人的努力,很難按時完成該課程設(shè)計,在此,我衷心感謝我的指導(dǎo)老師肖增良。肖增良老師認真負責(zé)的工作態(tài)度,嚴謹?shù)闹螌W(xué)精神和深厚的理論水平都使我獲益非淺。從一遍一遍得修改到最后定稿的各個環(huán)節(jié)給予細心指導(dǎo),使我在知識和能力上都得到了極大的提高,在此表示衷心地感謝。在整個過程中,我查閱了大量的關(guān)于學(xué)

21、生成績管理系統(tǒng)的資料和網(wǎng)站,在老師的指導(dǎo)和自己的努力下,終于完成了本次課程設(shè)計。通過這次數(shù)據(jù)結(jié)構(gòu)課程設(shè)計的實驗,在解決問題的過程中,充分體會到了數(shù)據(jù)結(jié)構(gòu)這門課程對于軟件設(shè)計的重要性,也體會到了數(shù)據(jù)結(jié)構(gòu)+算法=程序這句話的真正含義,一個實際問題的解決第一步就是要依賴于良好的抽象思維的,將實際問題轉(zhuǎn)化為相應(yīng)的數(shù)據(jù)結(jié)構(gòu),只有這一步做好了,才能采取相應(yīng)的算法和優(yōu)化方法解決問題和解決好問題。同時我還要感謝指導(dǎo)過我的每一位老師,他們給了我很大的指導(dǎo)和幫助,還有在我陷入困境時幫助過我的同學(xué)們。另外,還要感謝學(xué)校領(lǐng)導(dǎo)、輔導(dǎo)員,為我們提供了良好的設(shè)計環(huán)境以及各方面的支持。參考文獻1 錢新賢,楊猛,程兆煒,張少東

22、Visual C+編程疑難詳解M 北京:人民郵電出版社,2000 2 王紅梅,胡明,王濤數(shù)據(jù)結(jié)構(gòu)(C+)M 北京:清華大學(xué)出版社,2007 3 程學(xué)先數(shù)據(jù)庫原理與技術(shù)M北京:中國水利水電出版社,2001 4 Alex Kriegel & Boris M.TrukhnovSQL BibleM北京:電子工業(yè)出版社,20005 鄭章,程剛,張勇Visual C+6.0數(shù)據(jù)開發(fā)技術(shù)M北京:機械工業(yè)出版社,1999.96F.Brokken and K.Kubat. C+ Annotations. Version 4.4.0m,ICCE,University of Groningen,Nether

23、lands,1990. 250280附錄1:結(jié)構(gòu)化設(shè)計源程序清單/ 程序名稱:Student.CPP / 程序功能:采用鏈表與文件實現(xiàn)一個簡單的學(xué)生成績管理系統(tǒng)。 / 程序作者:李卉/ 最后修改日期:2008-9-10#include <iostream>#include <fstream>#include<cstring>#include<conio.h>#include <ctime>using namespace std;struct Class int Chinese; int Math; int English;class

24、Studentpublic: Student(); void Ofile(ofstream &of); void Infile(ifstream &f); void Out(); void Set(char *name,int no,Class score); char *GetName(); int GetNo(); Student *Next; protected:char Name20; int No;Class Score ;Student:Student():Next(0) char *Student:GetName()return Name; int Student

25、:GetNo()return No;void Student:Set(char *name,int no,Class score)strcpy(Name,name);No=no; Score=score; cout<<"1.返回主菜單n2.繼續(xù)刪除"<<endl;cin>>choose; while(choose!='1'&&choose!='2')cout<<"1.返回主菜單n2.繼續(xù)刪除"<<endl; cin>>choose;if

26、(choose='1')Menu(); else if(choose='2')Delete(); void Function:Modify() /修改學(xué)生信息函數(shù)char choose,name20; Student *temp,*p; int no;Class score;system("cls");temp=p=Student_First;cout<<"請輸入您要修改的學(xué)生姓名:"cin>>name;while(temp)Save();cout<<"修改成功!"&

27、lt;<endl;cout<<"1.返回主菜單n2.繼續(xù)修改"<<endl;cin>>choose;while(choose!='1'&&choose!='2') cout<<"1.返回主菜單n2.繼續(xù)修改"<<endl; cin>>choose;if(choose='1')Menu();else if(choose='2')Modify();void Function:Read() /讀取信息函數(shù)

28、Student *p,*p2; p=Student_First; long t; ifstream is("Student.txt",ios:in); if(!is) ofstream os("Student.txt",ios:out); os.close(); return ; while(!is.eof() p2=new Student; p2->Infile(is); p->Next=p2; p2->Next=NULL; p=p->Next;void Function:Save() /保存學(xué)生成績信息函數(shù)ofstream o

29、f("Student.txt",ios:out); Student *p=Student_First->Next; while(p)p->Ofile(of); p=p->Next; of.close();void Function:Search() int flag(0); char choose; char t120;int t2;system("cls");Student *temp=Student_First->Next; do cout<<"輸入查詢方式:n1.按姓名查詢n2.按學(xué)號查詢n"

30、cin>>choose;if(choose='1')cout<<"請輸入您要查詢的姓名:"cin>>t1;while(temp)if(strcmp(t1,temp->GetName()=0) flag=1;break;temp=temp->Next; if(flag=0)cout<<"n無該學(xué)生的信息n"<<endl;elsecout<<"姓名t學(xué)號t語文成績t數(shù)學(xué)成績t英語成績n"temp->Out();break;else i

31、f(choose='2')cout<<"請輸入您要查詢的學(xué)號"cin>>t2;while(temp)if(t2=temp->GetNo() flag=1; break;temp=temp->Next; if(flag=0)cout<<"n無該學(xué)生的信息n"<<endl;elsecout<<"姓名t學(xué)號t語文成績t數(shù)學(xué)成績t英語成績n"temp->Out(); break;while(choose!='1'|choose!=&#

32、39;2'); cout<<"n1.返回主菜單n2.繼續(xù)查詢"<<endl;cin>>choose;while(choose!='1'&&choose!='2')cout<<"1.返回主菜單n2.繼續(xù)查詢"<<endl;cin>>choose;if(choose='1')Menu(); else if(choose='2') Search(); void Function:Show() char

33、choose;Student *temp;system("cls");temp=Student_First->Next; if(!temp) cout<<"文件無數(shù)據(jù)nn "<<endl;cout<<"1.返回主菜單"<<endl; cin>>choose; while(choose!='1') cout<<"1.返回主菜單"<<endl; cin>>choose; Menu(); elsecout<<"姓名t學(xué)號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)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論