下載本文檔
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
1、學(xué)生成績信息管理系統(tǒng)1引1.1設(shè)計目的與要求 .1.2設(shè)計內(nèi)容. .2系統(tǒng)需求與功能分析 .2.1系統(tǒng)需求分析 .2.2系統(tǒng)功能分析. .3總體結(jié)構(gòu)設(shè)計 .3.1系統(tǒng)的結(jié)構(gòu)設(shè)計. .3.2系統(tǒng)管理流程圖. .系統(tǒng)詳細(xì)設(shè)計和系統(tǒng)實現(xiàn) .系統(tǒng)測試 .結(jié)束語 .參考文獻(xiàn) .附錄1:鏈表結(jié)構(gòu)化設(shè)計源程序清單 .附 錄2: 順 序 表 結(jié) 構(gòu) 化 設(shè) 計 源單. .26程序11112233340556設(shè)計目的與要求該學(xué)生信息管理系統(tǒng)采用C+語言開發(fā)研制,針對學(xué)生成績及其數(shù)據(jù)特點,可以全面實現(xiàn)對學(xué)生成績的插入、查詢、修改、刪除 和輸出等功能的計算機(jī)管理。它能使學(xué)生信息數(shù)據(jù)的工作人員從繁 重的工作中解脫出來
2、,大大減輕了工作量,減少人為的工作失誤, 全面提高學(xué)生信息管理的效率,從而使學(xué)校對于學(xué)生成績的管理水 平和技術(shù)水平躍上一個新的臺階。程序要添加適當(dāng)?shù)淖⑨?,程序的書寫要采用縮進(jìn)格式。程序要具在一定的健壯性,即當(dāng)輸入數(shù)據(jù)非法時,程序也能適當(dāng)?shù)刈龀龇磻?yīng),如插入刪除時指定的位置不對等等。程序要做到界面友好,在程序運行時用戶可以根據(jù)相應(yīng)的提示信息進(jìn)行操作。根據(jù)實驗報告模板詳細(xì)書寫實驗報告,在實驗報告中給出鏈表根據(jù)姓名進(jìn)行查找的算法和插入算法的流程圖。定義一個包含學(xué)生信息(學(xué)號,姓名,成績)的的順序表和鏈表,使其具有如下功能:號,(1)根據(jù)指定學(xué)生個數(shù),逐個輸入學(xué)生信息;菜單函數(shù)Menu():為程序的菜單
3、函數(shù)為實現(xiàn)各種功能提供2系統(tǒng)需求與功能分析90f62-Numbered_e2b6a1fb-c891-4cfa-9c32-c669c9b0a系統(tǒng)需求分析能完成學(xué)生信息的插入、查詢、修改、刪除、輸出等功能;采用單鏈表與順序表存儲結(jié)構(gòu)實現(xiàn);所有數(shù)據(jù)以外部文件方式保存。90f62-Numbered_e2b6a1fb-c891-4cfa-9c32-c669c9b0a系統(tǒng)功能分析要設(shè)計一個學(xué)生成績管理系統(tǒng),其功能包括:績查詢;除對應(yīng)的學(xué)生記錄;績);(2)(3)(4)(5)(6)(7)逐個顯示學(xué)生表中所有學(xué)生的相關(guān)信息;根據(jù)姓名進(jìn)行查找,返回此學(xué)生的學(xué)號和成績;根據(jù)指定的位置可返回相應(yīng)的學(xué)生信息(學(xué)號,姓
4、名,成給定一個學(xué)生信息,插入到表中指定的位置;刪除指定位置的學(xué)生記錄;統(tǒng)計表中學(xué)生個數(shù)。插入函數(shù)Add():將學(xué)生成績信息插入到鏈表中;查詢函數(shù)Search():分別可以按學(xué)號和按姓名進(jìn)行學(xué)生成刪除函數(shù)Delete():當(dāng)需要刪除的學(xué)號和姓名一致時則刪(1)根據(jù)指定學(xué)生個數(shù),逐個輸入學(xué)生信息;菜單函數(shù)Menu():為程序的菜單函數(shù)為實現(xiàn)各種功能提供修改函數(shù)Modify():修改指定的學(xué)生成績信息;輸出函數(shù)Show(): 輸出全部學(xué)生成績信息;3總體結(jié)構(gòu)設(shè)計3.1系統(tǒng)的結(jié)構(gòu)設(shè)計通過對學(xué)生信息管理系統(tǒng)的功能分析,可以定義出系統(tǒng)的總體結(jié)構(gòu)模塊圖,如圖3.1所示。3.2系統(tǒng)管理流程圖前面的分析中已經(jīng)定
5、義了系統(tǒng)各個模塊,屬于靜態(tài)建模的范圍。在系統(tǒng)運行時刻的動態(tài)模型應(yīng)該由系統(tǒng)的流程決定。當(dāng)用戶運行該 系統(tǒng)后可以來進(jìn)行便捷;讀取數(shù)據(jù)函數(shù)Read():從外部文件讀取學(xué)生成績信息;保存數(shù)據(jù)函數(shù)Save():將數(shù)據(jù)保存到外部文件中圖3.1學(xué)生管理系統(tǒng)總體結(jié)構(gòu)設(shè)計學(xué)生信息插入管理、學(xué)生信息查詢管理、學(xué)生信 息刪除管理、學(xué)生信息修改管理及學(xué)生信息輸出等操作,具體的流 程如圖3.2所示。塊應(yīng)具有操作性好、界面清晰的特點,使用戶能夠很方便地找到所 需功能。根據(jù)功能需求的結(jié)果分析,主界面應(yīng)該由學(xué)生信息插入管理,學(xué)生信息查詢管理、學(xué)生信息修改管理、學(xué)生信息刪除管理和學(xué)生 信息輸出管理組成,可以通過輸入相應(yīng)的數(shù)字進(jìn)
6、入相應(yīng)的功能模塊。4鏈表學(xué)生信息管理系統(tǒng)詳細(xì)設(shè)計和系統(tǒng)實現(xiàn)系統(tǒng)總體設(shè)計完成后,就可以根據(jù)需求對各個模塊來進(jìn)行實現(xiàn)了。在本系統(tǒng)中需要編碼實現(xiàn)的主要有學(xué)生信息插入、學(xué)生信息查(1)學(xué)生信息插入模塊主模塊應(yīng)負(fù)責(zé)應(yīng)用程序的主界面,由它調(diào)用其他模塊.因此主模詢、學(xué)生信息修改、學(xué)生信息刪除和學(xué)生信息輸出等5個模塊。圖3.2系統(tǒng)流程圖添加的信息包括學(xué)號(不允許重復(fù))、姓名(不允許重復(fù))、分?jǐn)?shù)。流程圖如下圖4.1所示。圖4.1插入模塊流程圖本程序采用的是尾插法,就是每次將新申請的結(jié)點插在終端結(jié)I E*IPf暮養(yǎng)(a)初貽化插入元素a0_ _ 1, m氓盪3 SHIR価可I f t*點的后面,其執(zhí)行過程如圖4.
7、2所示。般情況插入元素sttl(Sb(Sb! ! r*r*圖4.2尾插法建立單鏈表操作示意圖學(xué)生信息查詢模塊按姓名和學(xué)號查找學(xué)生信息的流程圖分別如下圖4.3所示。圖4.3按姓名查找學(xué)生信息流程圖在單鏈表中,即使知道被訪問結(jié)點的位置i,也不能像順序表那樣直接按序號訪問,而只能從頭指針出發(fā),設(shè)置一個工作指針順next域逐個結(jié)點往下搜索。當(dāng)P指向某個結(jié)點時判斷是否為第個結(jié)點,若是則查找成功;否則,將工作指針P后移,即將P指向原來所指結(jié)點的后繼結(jié)點。直到P為NULL時查找失敗。單鏈表查找 過程如圖4.4所示。_ *1口二*4 4一7 酬I 4樂I八圖4.4單鏈表查找過程的示意圖按學(xué)號查詢學(xué)生信息同按姓
8、名查找學(xué)生信息,此處不再詳細(xì)列出。P,first*學(xué)生信息修改模塊首先要查找與要修改數(shù)據(jù)相匹配的信息,若沒有則返回失敗。否則把相應(yīng)的信息輸出,然后再重新輸入新的數(shù)據(jù)并保存到單鏈表學(xué)生信息刪除模塊當(dāng)選擇刪除功能時,首先輸入要刪除的同學(xué)的姓名,然后輸入則進(jìn)行刪除操作,否則返回失敗。其流程圖4.5如下:圖4.5刪除學(xué)生信息模塊流程圖的存儲地址P,然后令P的next域指向ai i的后繼結(jié)點,即把結(jié)點ai i從鏈上摘下來,最后釋放結(jié)點ai i的存儲空間,如圖4.6所示要刪除的同學(xué)的學(xué)口號,如果該同學(xué)存在并且姓名與學(xué)號匹配的上,刪除操作定義為將單鏈表的第i個結(jié)點刪去。因為在單鏈表中結(jié)點ai i存儲地址在其
9、前驅(qū)結(jié)點ai-1i-1的指針域,所以必須首先找到ai-1i-1Nn+n+ q=XLq=XL:LLLL T T被刪結(jié)點不存在儀 但其前馳結(jié)點卻存在*圖4.6在單鏈表中刪除結(jié)點指針的變化情況學(xué)生信息輸出模塊從單鏈表表頭遍歷整個單鏈表,將所有數(shù)據(jù)輸出。其部分代碼如下:void Function:Show() char choose;Student *te mp;system(cls);temp=Student_First-Next; coutvv文件無數(shù)據(jù)nn endl;coutchoose;while(choose!=1)coutvv1.返回主菜單vvendl;cinchoose;Menu();:
10、M在表中間刪除p*忖在表頭elsecoutOut();temp=temp-Next;cout1.返回主菜單choose;while(choose!=1) cout1.返回主菜單choose;Menu();5系統(tǒng)測試在完成了系統(tǒng)各方面的設(shè)計后,并不是可以運行就完成的,為了保證系統(tǒng)性能的穩(wěn)定性跟安全性等,就要對系統(tǒng)做測試。測試環(huán)境如下:硬件:P4C 2.4GHz,80GB1盤,512M內(nèi)存;軟件:Windows XPPersonal SP2,分辨率1024*768,MicrosoftVisual C+ 6.0o1.這是鏈表的主界面4 4 *C:User5AdministratorDe5ilctop
11、DebugStudent.exe*C:User5AdministratorDe5ilctopDebugStudent.exeI口I回2.這是順序表的主界面U U CALICALI ersAdfnersAdfn inistrainistra torDetorDe lctoplctop科睦文件夾橫要作山數(shù)福庫i i曲入DdbciDdbci gSqgSq LiList.exsst.exs回菽迎使用學(xué)生信息查詢系統(tǒng),請按提示使用!以下程序是使用順序表實現(xiàn)的匕程正爐請您選擇您要執(zhí)行的操作;1 1; L L青聽囂創(chuàng)建順序表3 3、插入信息4 4、刪除信息、查找信息“顯示當(dāng)前信 請從序號0 06 6中選擇繼
12、續(xù)禰所需要的工作.圖5.1運行主界面我就以順序表為例介紹一下我的學(xué)生信息管理系統(tǒng)吧選擇1清空學(xué)生信息功能時,如圖5.2所示。I I * * C:UC:U 5 5 e e rsAdmrsAdm i i n n istrdistrd torDestorDes ktokto p p誦F F霍文程妻雇雯 作業(yè)!湊庫討5252訪1111 gSqgSq LiLi 5t.5t. exeexe* *以下程序是使用順序表實現(xiàn)的;012012斫呈正爐請您選擇您要執(zhí)行的操作;孑 器型礫鑒、創(chuàng)建順序表3.3.插入信息仏刪除信息5.5.查找信息6.6.顯示當(dāng)前信 $拿靠萃需聿保韋藥:纟魏警觴嗚怎爭示你要退岀.輸入其他任
13、意鍵繼續(xù)你需要的工 乍L L幀序表已清空?您可以繼續(xù)其他操作?以下程序是使用順序表實現(xiàn)的:01260126程正爐請您選擇您要執(zhí)行的操作;清割2*2*創(chuàng)建順序表3 3、插入信息久刪除信息5 5、查找信息氣顯不當(dāng)前信& & 0 0、退岀系統(tǒng)情從序號06中選a.繼纏你所需g的工作.圖5.2插入學(xué)生成績信息實現(xiàn)返回主菜單后選擇3插入學(xué)生成績信息,4刪除學(xué)生信息,運行結(jié)果按由姓名特定位置刪除和按學(xué)號刪除兩種分別如圖 圖5.4所示。5.3和口I回歌鬆鑒 f 中選擇繼續(xù)你所需要的工作孑I|A|圭冬筮程正爐要魏證的位置=1插人s成功,要檢查請看輸岀甲以下程序是使用順序表實現(xiàn)的:01260126程正爐請您選擇您
14、要執(zhí)行的操作Z Zft實髒仝創(chuàng)建順序表插入信息刪除信息“查找信息6 6、顯示當(dāng)前信 礴U序號吐 f中選擇,繼緘你所需要的工作4 4L我想it入學(xué)生羊號冊賒情您選擇匕2011021046012620110210460126_ _ ZZ_圖5.3按學(xué)生學(xué)號查找相關(guān)信息實現(xiàn)希迴殳豔生I県髀囂講按握示輸入數(shù)據(jù): 廠八 名請輸入第1 1名同學(xué)的學(xué)號=2011021046012620110210460126hw輸入第名同學(xué)的姓名話呈正爐請輸入第1 1名同學(xué)的成績:丄 貳次操作您一共輸入了1 1名數(shù)據(jù)以下程序是使用順序表實現(xiàn)的:0 0丄程正爐請您選擇您要執(zhí)行的操作;首、清創(chuàng)建順序表插入信息4 4、刪除信息5
15、 5、查找信息石、顯示當(dāng)前信Z_圖5.4按學(xué)號查找相關(guān)信息實現(xiàn)-*- “- r -iT當(dāng)在主菜單中選擇4時,則進(jìn)行刪除功能。其運行結(jié)果如圖5.5所示。h h C;UC;UrsXAdmini5trdtOfDesktoprsXAdmini5trdtOfDesktop新崖文件夾辰要、作業(yè)讖翳陣結(jié)構(gòu)bugi&qListexe*bugi&qListexe* I I口1 1 L L國Q 曹至需廩即仝創(chuàng)產(chǎn)順序表勺,插入信息4、刪除信懇X X S S找信息X X a a示當(dāng)前信 用遨1414醪你所需要的工作5 5嶷入您要查扶的學(xué)生學(xué)號:2 2 01102104601260110210460126廉i i:俺要
16、查找的學(xué)生不存在,請檢查?以下程序是使用順序表實現(xiàn)的;血衛(wèi)5 5程正爐請您選擇您要執(zhí)行的操作.清割阪蔻仝創(chuàng)建順序表冬插入信息冬刪除信息 J 查找信息6.6.顯示當(dāng)前信#4#4、 0 0 * *退岀系亠充請從序號0K0K中選卑所需要的工作嗎錢瀛灌麴I I您選擇I I 2 2輸入您署刪除的學(xué)生學(xué)號=20110210462011021046 01260126已 ffl 嗓屜查輸出看是否符合您的要求!圖5.5刪除學(xué)生信息功能實現(xiàn)當(dāng)在主菜單中選擇6時,則進(jìn)行顯示當(dāng)前信息功能。其運行結(jié)果如圖5.7所示。JLJL C:UC:U sersAdnnsersAdnn 1 1 nini stst ratorDera
17、torDe sktoskto plpl新建文畔夾霽妾作kkkk熾秦庫結(jié)構(gòu)q q LiLi st.st. exeexe I I I I回以下程序是使用順序表實現(xiàn)的;程正爐請您選擇您要執(zhí)行的操作,lxlx清SWSW 2.2.創(chuàng)建順序表3 3、插入信息4 4、刪除信息5 5、查找信息氣顯示當(dāng)前信JijuJiju 0*0*退岀系纟充請從序號中選擇,繼續(xù)你所需要的工作6 6專見在還沒有任何信息或信息被刪除您可以先建立順序表嚴(yán)以下程序是使用順序表實現(xiàn)的:01260126程正爐請您選扌睪您要執(zhí)彳亍的操作=1.1.清2 2創(chuàng)建順序表插入信息4.4.刪除信息5 5、査找信息t.t.顯示當(dāng)前信 請從序號y-fy-
18、f中選擇,繼續(xù)你所需要的工作.圖5.7輸出學(xué)生信息功能實現(xiàn)6結(jié)束語通過這次數(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)化方法解決問 題和解決好問題。參考文獻(xiàn)王紅梅,胡明,王濤.數(shù)據(jù)結(jié)構(gòu)(C+)M.北京:清華大學(xué)出1錢新賢,楊猛,程兆煒,張少東.Visual C+編程疑難詳解M.北京:人民郵電出版社,2000版社,2007程學(xué)先數(shù)據(jù)庫原理與技術(shù)M北京:2001Alex K
19、riegel & Boris M.Trukhnov子工業(yè)出版社,2000鄭章,程剛,張勇Visual C+6.0數(shù)據(jù)開發(fā)技術(shù)M北京: 機(jī)械工業(yè)出版社,1999.9 6 F. Brokken and K. Kubat . C+ Annotations . Version 4.4.0m,ICCE,University of Groningen,Netherlands,1990. 250280附錄1:鏈表結(jié)構(gòu)化設(shè)計源程序清單/程序名稱:Student.CPP /程序功能:采用鏈表與文件實現(xiàn)一個簡單的學(xué)生成績管理系統(tǒng)。#include #include #include#include #includ
20、e using namespace std;struct Class int Chinese;int Math;int English;class Student public:Student();void Ofile(ofstream &of);void Infile(ifstream &f);void Out();void Set(char *name,int no,Class score);char *GetName();int GetNo();中國水利水電出版社,SQL BibleM北京:電Student *Next;protected:char Name20;int No;Class
21、 Score ;Student:Student():Next(0) char *Student:GetName()return Name; intStudent:GetNo()return No; void Student:Set(char *name,int no,Classscore) strcpy(Name,name);No=no;Score=score;void Student:Infile(ifstream &f) fNameNoScore.ChineseScore.MathScore.English;/將數(shù)據(jù)輸入到文件void Student:Ofile(ofstream &of)
22、數(shù)據(jù)void Student:Out() coutNametNotScore.ChinesettScore.MathttScore.Englishtendl;public:Function();Function();void Menu();void Add();void Search();void Delete();/構(gòu)造函數(shù)析構(gòu)函數(shù)菜單函數(shù)錄入學(xué)生成績函數(shù)查詢學(xué)生成績函刪除學(xué)生成績函 ofName NoScore.ChineseScore.Math Next;while(f1-Next)f1=f1-Next;do p=new Student;cout請輸入您要添加的學(xué)生成績信息:endl;c
23、outname;while(f2) if(strcmp(f2-GetName(),name)=0) cout該學(xué)生已存在,請確定姓名!nn;coutname;break;f2=f2-Next;coutno;void Function:Delete()/刪除信息函數(shù)coutscore.Chinese;coutscore.Math;coutscore.English;p-Set(name,no,score);f1-Next=p;p-Next=NULL;f1=f1-Next;cout是否繼續(xù)輸入信息?(YN) choose;while(choose=y|choose=Y);Save();cout1.
24、返回主菜單choose;while(choose!=1) cout1.返回主菜單choose;Menu(); char name20;int no;char choose;Student *temp,*p;system(cls);p=temp=Student_First-Next;coutname;cinno;while(temp) if(strcmp(temp-GetName(),name)=0&temp-GetNo()=no) /判斷該學(xué)生信息是否存在 coutOut();coutchoose;if(choose=y|choose=Y) p-Next=temp-Next;delete te
25、mp;cout輸入學(xué)號.H.coutNext;Save();cout1.返回主菜單n2.繼續(xù)刪除choose;while(choose!=1&choose!=2) cout1.返回主菜單n2.繼續(xù)刪除choose;if(choose=1)Menu();else if(choose=2)Delete(); char choose,name20;Student *temp,*p;int no;Class score;void Function:Modify()/修改學(xué)生信息函數(shù)system(cls);temp=p=Student_First;coutname;while(temp)if(strcm
26、p(temp-GetName(),name)=0) coutOut();coutname;cinno;coutscore.Chinese;coutscore.Math;coutscore.English;temp-Set(name,no,score);break;coutNext;Save();cout修改成功!endl;cout1.返回主菜單n2.繼續(xù)修改choose;while(choose!=1&choose!=2) cout1.返回主菜單n2.繼續(xù)修改choose;if(choose=1)Menu();else if(choose=2)Modify();void Function:Re
27、ad()/讀取信息函數(shù) 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 ;char choose;存學(xué)生成績信息函數(shù) ofstream of(Student.txt,ios:out);Student *p=Student_First-Next;while(p) p-Ofile(of);p=p-Next;of.close();void Function:Search() int flag(
28、0);char t120;int t2;while(!is.eof()p2=new Student;p2-Infile(is);p-Next=p2;p2-Next=NULL;p=p-Next;void Function:Save()/system(cls);Student *temp=Student_First-Next;docoutchoose;if(choose=1)cint1;while(temp) if(strcmp(t1,temp-GetName()=0) flag=1;break;temp=temp-Next;if(flag=0)coutn無該學(xué)生的信息nendl;else cou
29、tOut(); cout請輸入您要查詢的姓名.H.cout請輸入您要查詢的學(xué)號H.while(choose!=1|choose!=2);coutn1.返回主菜單n2.繼續(xù)查詢t2;while(temp) if(t2=temp-GetNo() flag=1;break;temp=temp-Next;if(flag=0)coutn無該學(xué)生的信息nendl;else coutOut();break;cinchoose;cinchoose;while(choose!=1&choose!=2) cout1.返回主菜單n2.繼續(xù)查詢choose;if(choose=1)Menu();else if(cho
30、ose=2)Search();void Function:Show() char choose;Student *temp;system(cls);temp=Student_First-Next;if(!temp) cout文件無數(shù)據(jù)nn endl;cout1.返回主菜單choose;while(choose!=1) cout1.返回主菜單endl;Menu();else cout姓名t學(xué)號t語文成績t數(shù)學(xué)成績t英語成coutOut();temp=temp-Next;cout1.返回主菜單choose;while(choose!=1) cout1.返回主菜單choose;Menu();void
31、 Function:Menu() time_t t;time(&t);char choose;system(cls);cout6退出系統(tǒng)endl;coutendl;cout*endl;平頂山學(xué)院歡迎你endlendl;coutn;endl;coutcout學(xué)生成績信息管理系統(tǒng)endlendl;cout顯示系統(tǒng)時間和日期: ctime(&t)endl;cout*endlendl;cout請選擇您需要的操作,選擇相關(guān)操作請輸入相對的括里的阿拉伯?dāng)?shù)字!endl;coutn;cout錄入學(xué)生成績信息:nendl;cout查詢學(xué)生成績信息:nendl;cout刪除學(xué)生成績信息:nendl;cout修改學(xué)
32、生成績信息:nendl;cout顯示全部學(xué)生成績信息:nendl;#include #include /getch()cinchoose;switch(choose) case 1: Add();break;case 2: Search();break;case 3: Delete();break;case 4: Modify();break;case 5: Show();break;case 6: exit(1);break;default: cout請按規(guī)定輸入選擇項!endl;Menu();void main()附錄2:鏈表結(jié)構(gòu)化設(shè)計源程序清單#define LIST_INIT_SIZE
33、 10 /#include #include#include Function function;/定義功能接口function.Menu();/調(diào)用主菜單確定分配空間大小int dele_elem2(sqlist &sl,char *num,student &elem);/順序表typedef struct student /學(xué)生信息結(jié)構(gòu)體類型char No100;char name7;float score;int listsize;sqlist;/下面是函數(shù)的原型聲明int Initlist(sqlist &sl); /int creat(sqlist&sl);/順序表的建立int in
34、sertlist(sqlist &sl,student elem,intpos);/順序表的插入操作int search(sqlist sl,intpos);/按指定位置刪除int dele_elem1(sqlist &sl,int pos,student&elem);/順序表的按位置刪除操作typedef struct /定義順序類型sqliststudent *stu; /指向數(shù)據(jù)元素的基地址int length; /線性表的當(dāng)前長度順序表初始化的按學(xué)號刪除/主函數(shù)/void main()用!nnn;sqlist sl;Initlist(sl);student s;char number9
35、;int pos; while(1)coutendlendl;cout 1、清空順序表2、創(chuàng)建順序表3、插入信息4、刪除信息5、查找信息6、顯示當(dāng)前信息0、退出系統(tǒng)n;int n;char c;int out_list(sqlist sl);/順序表的輸出操作 coutnn歡迎使用學(xué)生信息查詢系統(tǒng),請按提示使cout n以下程序是使用順序表實現(xiàn)的:n;cout n 0126程正爐請您選擇您要執(zhí)行的操作:n;coutn;if(n=0)/退出cout輸入插入學(xué)生信息:n;謝謝您的使用,該系統(tǒng)是11電商一班的程正爐設(shè)計,break;coutc;if(c=n) break;他操作!nn;else if
36、(n=2)/創(chuàng)建coutc;if(c=n) break;else creat(sl); else if(n=3)/插入elseif(n=1)/清空coutn多謝你的使用!n;n表示你要退else Initlist(sl);cout順序表已清空!您可以繼續(xù)其n表示你要cout輸入您要刪除的學(xué)生學(xué)號.H.couts.No;;couts.score;insertlist(sl,s,pos);else if(n=4)/刪除功能int m;coutm;coutnumber;cout1、我想按輸入特定位置刪除n;cout2、我想按輸入學(xué)生學(xué)號刪除n;cout分配失敗!n;dele_el
37、em2(sl,number,s);coutnum;search(sl,num);out_list(sl);elseif(n!=0|n!=1|n!=2|n!=3|n!=4|n!=5|n!=6)cout您的輸入有誤,請重新輸入!n;/while /函數(shù)定義/ intInitlist(sqlist &sl)*)malloc(LIST_INIT_SIZE*sizeof(student);if(!sl.stu) return 0;sl.stu=(studentcout請輸入您要查找的學(xué)生學(xué)號.H.else if(n=6)/顯示coutendl;sl.length=0;sl.listsize=LIST_I
38、NIT_SIZE;return 1;/創(chuàng)建操作/ int creat(sqlist &sl)cout下面創(chuàng)建學(xué)生信息查詢系統(tǒng),請按提示輸入數(shù)據(jù):n;coutm;cout名n; for(int i=1;i=m;i+) cout請輸入第isl.stui-1.No;coutendl;cout請輸入第 ;coutendl;cout請輸入第isl.stui-1.score ;sl.length+;sl.length=0; int m; /用于記數(shù)coutn本次操作您一共輸入了m名數(shù)據(jù)n;return 1;/插入操作/ int insertlist(sqlist &sl,student elem,int pos)coutpos;if(possl.length+1)cout您要插
溫馨提示
- 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)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2024年新型號拖拉機(jī)買賣協(xié)議細(xì)則一
- 二零二五年度政府機(jī)關(guān)臨時借調(diào)人員服務(wù)保障合同3篇
- 2024配件更換與智能城市基礎(chǔ)設(shè)施改造合同2篇
- 二零二五年度醫(yī)療器械生產(chǎn)采購合同3篇
- 二零二五年影像作品版權(quán)登記及維權(quán)合同3篇
- 2024版多功能商業(yè)住宅買賣協(xié)議
- 西安音樂學(xué)院《稅務(wù)會計學(xué)》2023-2024學(xué)年第一學(xué)期期末試卷
- 2024年運輸代理業(yè)務(wù)協(xié)議3篇
- 武漢工商學(xué)院《化工設(shè)備設(shè)計》2023-2024學(xué)年第一學(xué)期期末試卷
- 新疆科技學(xué)院《小學(xué)科學(xué)教學(xué)法》2023-2024學(xué)年第一學(xué)期期末試卷
- 2024年日語培訓(xùn)機(jī)構(gòu)市場供需現(xiàn)狀及投資戰(zhàn)略研究報告
- 2024年公安機(jī)關(guān)理論考試題庫附參考答案(基礎(chǔ)題)
- 歷史-廣東省大灣區(qū)2025屆高三第一次模擬試卷和答案
- 2024年安全生產(chǎn)法律、法規(guī)、標(biāo)準(zhǔn)及其他要求清單
- 2023年高考文言文閱讀設(shè)題特點及備考策略
- 抗心律失常藥物臨床應(yīng)用中國專家共識
- 考級代理合同范文大全
- 2024解析:第三章物態(tài)變化-講核心(原卷版)
- DB32T 1590-2010 鋼管塑料大棚(單體)通 用技術(shù)要求
- 安全行車知識培訓(xùn)
- 2024年安徽省高校分類對口招生考試數(shù)學(xué)試卷真題
評論
0/150
提交評論