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

下載本文檔

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

文檔簡(jiǎn)介

1、信息科修與技術(shù)彥陀數(shù)據(jù)結(jié)構(gòu)課程設(shè)計(jì)(實(shí)訓(xùn)I)報(bào)告書(shū)題目:學(xué)生成績(jī)管理系統(tǒng)專(zhuān)業(yè):信息管理與信息系統(tǒng)班里姓至學(xué)號(hào):指導(dǎo)老師:設(shè)計(jì)時(shí)間:2011年3月14日2011年3月18日數(shù)據(jù)結(jié)構(gòu)課程設(shè)計(jì)(實(shí)訓(xùn)I)報(bào)告書(shū)11、 課程設(shè)計(jì)(實(shí)訓(xùn))計(jì)劃-1-2、 系統(tǒng)需求分析與功能設(shè)計(jì)-1-3、 總體設(shè)計(jì)-1-4、 算法說(shuō)明-2-5、 系統(tǒng)難點(diǎn)分析-3-6、 系統(tǒng)測(cè)試-3-7、 心得體會(huì)-7-8、 參考文獻(xiàn)-8-附錄源代碼-8-1.課程設(shè)計(jì)(實(shí)訓(xùn))計(jì)劃(1)編寫(xiě)算法;(2)算法測(cè)試;(3)設(shè)計(jì)實(shí)驗(yàn)報(bào)告:1)設(shè)計(jì)任務(wù)書(shū)2)目錄3)總體設(shè)計(jì)方案(流程圖)4)使用說(shuō)明書(shū)及運(yùn)行實(shí)例(界面)5)源代碼及注釋6)課程設(shè)計(jì)心得2

2、 .系統(tǒng)需求分析與功能設(shè)計(jì)(1)成績(jī)管理系統(tǒng)主要功能:1)初始化鏈表2)輸入數(shù)據(jù)3)顯示全部記錄4)查詢(xún)記錄(分按姓名和學(xué)號(hào)查詢(xún)兩種)5)刪除記錄6)添加記錄6)學(xué)生成績(jī)排名并顯示排名(2)界面設(shè)計(jì)系統(tǒng)界面采用圖形和數(shù)字化菜單設(shè)計(jì)(3)課程設(shè)計(jì)的要求和數(shù)據(jù)1) c語(yǔ)言實(shí)現(xiàn)2)對(duì)學(xué)生信息進(jìn)行管理(包括成績(jī)的輸入、輸出、查詢(xún),刪除、排序、退出)3)學(xué)生信息:基本信息:學(xué)號(hào)、姓名、性別、成績(jī)等學(xué)生成績(jī)輸入(一次性輸入一條記錄并計(jì)算總分及平均分)顯示信息:完成全部學(xué)生記錄的顯示查詢(xún)信息:完成按學(xué)號(hào)和按姓名查詢(xún)記錄,并顯示刪除信息:按學(xué)號(hào)刪除信息排序:按學(xué)生總分排序,顯示排名4)應(yīng)提供一個(gè)主界面調(diào)用各項(xiàng)

3、功能,使得操作界面清晰美觀5)退出系統(tǒng),記錄無(wú)保存3 .總體設(shè)計(jì)1、功能模塊:(1)成績(jī)輸入功能(2)成績(jī)輸出功能(3)成績(jī)查詢(xún)功能(4)刪除功能排序功能(6)退出系統(tǒng)2、詳細(xì)設(shè)計(jì):(1)初始化學(xué)生信息表:申請(qǐng)頭結(jié)點(diǎn)STU*head,head->next=NULL;實(shí)現(xiàn)此操作(2) 成績(jī)輸出模塊:voidxianshi(L)voidpaixu(L)voidchaxun(L)通過(guò)此輸出信息(3)查詢(xún)模塊:voidchanzhao(L)實(shí)現(xiàn)個(gè)種查找功能(4) 刪除功能:voidshanchu(L)(5) 排序功能:voidpaixu(L)3、總體設(shè)計(jì)方案程序流程圖:結(jié)束4、算法說(shuō)明函數(shù)調(diào)用V

4、oidmain()主函數(shù)(內(nèi)含初始化鏈表head=(STU*)malloc(sizcof(STU);hcad->ncxt=NULL>主界面、模塊應(yīng)用switch。語(yǔ)句);Voidshuru(L)倉(cāng)ij建輸入數(shù)據(jù):r=(STU*)malloc(sizeof(STU)請(qǐng)結(jié)點(diǎn)輸入數(shù)據(jù),插入到鏈表,r,next=NULL;s->next=r;s=r;保存;向?yàn)楣?jié)點(diǎn)Voidxianshi(L)顯示學(xué)生信息:應(yīng)用循環(huán)語(yǔ)句while(q->next!=tail)輸出每一'節(jié)點(diǎn)數(shù)據(jù),直至q指tail=NULL;Voidchaxun(L)查找學(xué)生信息并顯示結(jié)果:分按學(xué)號(hào)和姓名查詢(xún)

5、并輸出查找的信息,switch做判斷按何種方式查詢(xún),while。循環(huán)語(yǔ)句進(jìn)行匹配查詢(xún),知道找到為止,引用strcmp()函數(shù)進(jìn)行匹配;Voidchazha"L,n。)按要求查找記錄:while()語(yǔ)句循環(huán)按學(xué)號(hào)進(jìn)行查找;Voidtianjia(L)尾插法插入數(shù)據(jù),p2=(STU*)malloc(sizeof(STU澗請(qǐng)結(jié)點(diǎn),輸入數(shù)據(jù),找至U尾結(jié)點(diǎn)for(p3=L;p3->next!=NULL;p3=p3->next),插入鏈表p3->next=p2;Voidgengxin(L)修改學(xué)生宿息:查找函數(shù)chazha。找到要修改的節(jié)點(diǎn),再進(jìn)行修改Voidshanchu(L

6、)刪除學(xué)生記錄:while(strcmp(p->sname,name)!=O)&&p->next!=NULL)iic到耍刪除的節(jié)點(diǎn),進(jìn)彳丁刪除;Voidmingci(L)為學(xué)生成績(jī)排名并顯示排名;冒泡排序法給鏈表安總成績(jī)排名,然后for。循環(huán)輸出排序完的鏈表數(shù)據(jù)。5、系統(tǒng)難點(diǎn)分析1、鏈表的排療;,只能做到初步的排序,不能實(shí)現(xiàn)對(duì)成績(jī)相同的學(xué)生排名相同功能;2、查找功能不夠強(qiáng)大,對(duì)字符串的查詢(xún)比如不區(qū)分大小寫(xiě)功能不能實(shí)現(xiàn);3、對(duì)各種輸入值不加于區(qū)分,比如姓名寫(xiě)成數(shù)字,年齡的限制(1-100)4、程序重復(fù)的語(yǔ)句多、繁瑣,不善應(yīng)用函數(shù)的調(diào)用。6、系統(tǒng)測(cè)試源代碼(見(jiàn)附錄)調(diào)試

7、運(yùn)行如下:(如圖1、圖2)O.C:n包工偉區(qū)妞Hudi,品 j S<wrce Fleaglllitfslc,£|msin.c-Header Ries) liftfi Rcwuicc filespHng%入熟1學(xué)成績(jī)*是?;份人“葉*皿0):scinfCV.tpiAsrittxue):uane(Ai->stwxue<fl.t|pi->sriuxue>iae.a)酬:wrwz':scaaF(#V.&Ai->sMxwe)阿inH入英信廉績(jī)鎮(zhèn)系是N份人“葉>yin剜):甲Linking.lidoqiuA.rxe->error(s

8、>,0i»rning(5>Wi歡迎進(jìn)入學(xué)生成締管理二輸入0返回«1輸入1輸入學(xué)士信息二輸入2顯示學(xué)生信息二輸入3查詢(xún)學(xué)生信息二輸入4添加學(xué)生信息二輸入5更新學(xué)生信息;輸入6刪除學(xué)生信息;輸入7計(jì)算并顯示學(xué)生排名10科入錯(cuò)誤!醮害整心沖畀輸入MJIMX.貝gMMX."K畀輸入1輸入學(xué)生信息富畀輸入2顯示學(xué)生信息畀輸入3查詢(xún)學(xué)生信息"畀輸入4添知學(xué)生信息一畀輸入5更新學(xué)生信息;畀輸入6刪除學(xué)生信息汀輸入?計(jì)算并顯示學(xué)注排名"圖3輸入測(cè)試:10輸入U(xiǎn)1的:查看輸入除主界面外的序號(hào)可否進(jìn)行操作。正確輸出:輸入錯(cuò)誤!請(qǐng)慎重選擇。實(shí)際輸出:如下

9、圖所示。當(dāng)前狀態(tài):通過(guò)(實(shí)際輸出與正確相符)。測(cè)試結(jié)果分析:測(cè)試策略:輸入一個(gè)主界面不包含的選項(xiàng)。得到數(shù)據(jù)顯示輸入錯(cuò)誤。(如圖3)!:輸入1輸入5 :輸入«錨入! sfefA砌入錯(cuò)誤!«啪入!:輸入«1輸入3查詢(xún)學(xué)生信息i4添加學(xué)生佶怠.5更新學(xué)生信忌1 16刪除學(xué)主信息.7初算并顯示學(xué)生排名七”Anru#x于半*決灶 如于王欣頃m牲*! 1輸入學(xué)生信息 2顯示學(xué)生信怠n3查詢(xún)學(xué)生信息 添加學(xué)生信怠J15更新學(xué)生信忌 圖4輸入測(cè)試:輸入口的:a正確輸出:查看輸入字符可否進(jìn)行操作。輸入錯(cuò)誤!請(qǐng)慎重選擇。實(shí)際輸出:(圖4)當(dāng)前狀態(tài):通過(guò)(實(shí)際輸出與正確相符)。測(cè)試結(jié)果

10、分析:測(cè)試策略:輸入一個(gè)主界面不包含的選項(xiàng)。得到數(shù)據(jù)顯示輸入錯(cuò)誤。圖5已刪測(cè)試輸入:輸入姓名:邱為民;輸入學(xué)號(hào):I:輸入性別:1為男;輸入年齡:21;輸入語(yǔ)文成績(jī)8&數(shù)學(xué)成績(jī)82;英語(yǔ)成績(jī)89;一個(gè)學(xué)生信息登記完畢。再輸入另一個(gè)學(xué)生數(shù)據(jù):輸入姓名:陳婷婷;輸入學(xué)號(hào):1:輸入性別:測(cè)試U的:設(shè)計(jì)該輸入的U的在于測(cè)試程序在登記學(xué)生信息方面是否存在無(wú)法登記學(xué)生信息、在選擇登記學(xué)生信息時(shí)是否沒(méi)有出現(xiàn)相應(yīng)界面等情況以及能否正確輸入等功能。正確輸出:輸入姓名:邱為民;輸入學(xué)號(hào):h輸入性別:1為男;輸入年齡:21;輸入語(yǔ)文成績(jī)8”輸入數(shù)學(xué)成績(jī)82:輸入英語(yǔ)成績(jī)89選擇是否輸入信息請(qǐng)按(1、0):輸入

11、姓名:陳婷婷;輸入學(xué)號(hào):1;輸入性別:0:輸入年齡:實(shí)際輸出:如上(圖5)輸出界面。當(dāng)前狀態(tài):已改正(實(shí)際輸出與正確輸出不符,但現(xiàn)在已修改正確)測(cè)試結(jié)果分析:測(cè)試策略在于輸入一組數(shù)據(jù)后以便后面的操作完成學(xué)生信息的登記。得到的數(shù)據(jù)由上面的截圖(圖5)證明。測(cè)試輸入:2選擇顯示測(cè)試目的:測(cè)試顯示功能是否能夠?qū)崿F(xiàn)正確輸出:按姓名、學(xué)號(hào)、性別、年齡、語(yǔ)文、數(shù)學(xué)、英語(yǔ)、平均分及總分顯示學(xué)生信息。實(shí)際輸出:如下圖(圖6)所示。當(dāng)前狀態(tài):通過(guò)(實(shí)際輸出與正確相符)。測(cè)試結(jié)果分析:測(cè)試策略:選擇查找看其是否正確找到所查找數(shù)據(jù)。得到數(shù)據(jù)結(jié)果顯示查找無(wú)誤。圖6已刪測(cè)試輸入:3選擇查找測(cè)試目的:測(cè)試查找功能是否能夠

12、實(shí)現(xiàn)正確輸出:1按學(xué)號(hào)查詢(xún)2按姓名查詢(xún)。返回主菜單選擇1請(qǐng)輸入要查找的學(xué)號(hào):1查找結(jié)果:既要查找的數(shù)據(jù)。查詢(xún)完畢或沒(méi)有要查詢(xún)的記錄!實(shí)際輸出:如下圖(圖7)所示。當(dāng)前狀態(tài):通過(guò)(實(shí)際輸出與正確相符)。測(cè)試結(jié)果分析:測(cè)試策略:按學(xué)號(hào)查找,首先要輸入對(duì)應(yīng)的數(shù)據(jù),接著成功查找。顯示的數(shù)據(jù)是按學(xué)號(hào)查找的結(jié)果,無(wú)差錯(cuò)。圖7已刪測(cè)試輸入:4選擇添加學(xué)生數(shù)據(jù)。測(cè)試目的:查看添加功能是否能夠運(yùn)行。正確輸出:;輸入要添加的姓名:小丘;輸入添加的學(xué)號(hào):7;輸入性別(1為男,。為女):0:輸入年齡:19;請(qǐng)你輸入語(yǔ)文成績(jī):88;輸入數(shù)學(xué)成績(jī):85;輸入英語(yǔ)成績(jī):90:此信息已添加。并且再次查詢(xún)。實(shí)際輸出:如下圖(圖

13、8)所示。當(dāng)前狀態(tài):通過(guò)(實(shí)際輸出與正確相符)。測(cè)試結(jié)果分析:測(cè)試策略:分別輸入提示信息查看添加功能是否能夠運(yùn)用。通過(guò)再次查詢(xún)顯示添加無(wú)誤。圖8已刪圖9已刪測(cè)試輸入:5選擇修改學(xué)生數(shù)據(jù)。測(cè)試目的:測(cè)試是否能夠?qū)崿F(xiàn)修改功能。正確輸出:輸入要修改的人名:小丘;輸入新姓名:小球球;輸入新學(xué)號(hào)(原來(lái)是學(xué)號(hào)5):5;輸入新性別:(1是男。是女)0;輸入年齡(原來(lái)年齡是19)19;輸入語(yǔ)文成績(jī)(原來(lái)是88.000000分):88:輸入數(shù)學(xué)成績(jī)(原來(lái)是88.000000分):85;請(qǐng)你輸入英語(yǔ)成績(jī)(原來(lái)是88.00000。分):90;提示:修改完成或沒(méi)找到要修改的項(xiàng)!。再次查詢(xún)并顯示查詢(xún)結(jié)果。實(shí)際輸出:如上

14、圖(圖9)所示。當(dāng)前狀態(tài):通過(guò)(實(shí)際輸出與正確相符)。測(cè)試結(jié)果分析:測(cè)試策略:根據(jù)提示輸入修改的數(shù)據(jù)分別觀察是否正確。得到的數(shù)據(jù)是提示我輸入信的數(shù)據(jù)并告訴我原來(lái)的數(shù)據(jù),我根據(jù)提示輸入新的數(shù)據(jù),結(jié)果無(wú)誤。測(cè)試輸入:6選擇刪除操作。測(cè)試U的:測(cè)試其是否能夠正確刪除想要?jiǎng)h除的數(shù)據(jù)。正確輸出:請(qǐng)輸入要?jiǎng)h除的姓名:3;已刪除!并顯示新的數(shù)據(jù)。實(shí)際輸出:如圖(圖1。)所示。當(dāng)前狀態(tài):通過(guò)(實(shí)際輸出與正確相符)。測(cè)試結(jié)果分析:測(cè)試策略:根據(jù)提示進(jìn)行刪除;系統(tǒng)提示刪除成功。得到的數(shù)據(jù)顯示顯示刪除成功,證明這一部分無(wú)差錯(cuò)。圖10已刪測(cè)試輸入:7選擇排序測(cè)試目的:看排序功能是否能夠?qū)崿F(xiàn)正確輸出:按照名次、姓名、學(xué)

15、號(hào)、性別、年齡、語(yǔ)文、數(shù)學(xué)、英語(yǔ)、平均分、總分顯示學(xué)生數(shù)據(jù)。實(shí)際輸出:如下圖(圖11)所示。當(dāng)前狀態(tài):通過(guò)(實(shí)際輸出與正確相符)。測(cè)試結(jié)果分析:測(cè)試策略:選擇排序,系統(tǒng)自動(dòng)根據(jù)總分和平均分對(duì)數(shù)據(jù)進(jìn)行排序并輸出。得到的數(shù)據(jù)顯示并未出錯(cuò)。圖11已刪測(cè)試輸入:0選擇退出。測(cè)試目的:成功退出系統(tǒng)。正確輸出:pressanykeytocontinue實(shí)際輸出:如下圖(圖12)所示。當(dāng)前狀態(tài):通過(guò)(實(shí)際輸出與正確相符)。測(cè)試結(jié)果分析:測(cè)試策略:選擇退出以便成功退出系統(tǒng)。得到數(shù)據(jù):無(wú)誤圖12已刪7、心得體會(huì)這次的實(shí)訓(xùn)結(jié)束了,現(xiàn)在的我正在做著最后的工作一一填寫(xiě)實(shí)訓(xùn)報(bào)告。感觸還真是很多,那兒天的堅(jiān)持,每天八節(jié)課

16、就坐在電腦前敲著代碼,有的時(shí)候晚上回了寢室還要繼續(xù)敲??梢哉f(shuō)我們男生還是對(duì)程序這塊比較感興趣的。但是面對(duì)這么大的一個(gè)課題寫(xiě)這樣的一個(gè)程序我還是第一次,所以對(duì)于我來(lái)說(shuō)難道還是挺大的。很多時(shí)候焦頭爛額心煩意亂也寫(xiě)不好,寫(xiě)出來(lái)后反復(fù)調(diào)試反復(fù)出錯(cuò),簡(jiǎn)直是在考驗(yàn)我們的耐心??粗總€(gè)同學(xué)焦急的樣子,真的有點(diǎn)擔(dān)心在規(guī)定的期限內(nèi)是不是能夠完成任務(wù)。所以期間自己會(huì)想,如果將來(lái)從事了這個(gè)行業(yè),面對(duì)更加復(fù)雜的程序更加有難度的題IT要求,心理BE力不是更大么?不管怎么樣,還是要把程序?qū)懲辍F渲幸灿龅搅撕芏嗬щy:因?yàn)檫@個(gè)題u要求要有9個(gè)小題Lh而且有的小題口還要求里面還要有選擇,這樣難度更加提高而且更加復(fù)雜。剛開(kāi)始會(huì)理

17、不出頭緒,不知道該先弄哪一塊。從頭開(kāi)始往后寫(xiě)整個(gè)程序是不可能的,那樣會(huì)錯(cuò)的更加離譜,所以只好先分快些再綜合起來(lái)。而且整個(gè)星期天天對(duì)著電腦敲這樣一個(gè)程序確實(shí)很煩躁。但是告訴自己要堅(jiān)持下去,到了最后把程序調(diào)試出來(lái)后,心里真的是激動(dòng)萬(wàn)分,感慨也頗深:面對(duì)復(fù)雜的事情而且要長(zhǎng)期堅(jiān)持時(shí),千萬(wàn)不可浮躁了事,那樣欠下的債會(huì)越來(lái)越多,一定要定下心來(lái)踏踏實(shí)實(shí)的去做,我發(fā)現(xiàn)有了好的開(kāi)始,后面再亂的思緒也會(huì)慢慢捋清楚。心態(tài)很重要,第一天還好,第一天的時(shí)候,心虛特別浮躁,顯然那天的效率十分低下,回去后和朋友聊天,被開(kāi)導(dǎo)后慢慢整理思緒平靜下心來(lái)開(kāi)始做,發(fā)現(xiàn)一切并沒(méi)有原本想象的那么棘手。面對(duì)問(wèn)題要自己主動(dòng)去解決,程序過(guò)程中

18、難免有很多難題,別人無(wú)法幫助自己,要黑自己去努力克服才能接著做下一步。所以在完成后,除了自己完成任務(wù)的喜悅感意外,還有一些感慨,我覺(jué)得這一次我不僅僅收獲了如何去寫(xiě)一個(gè)程序,而是如何做好一件看似棘手困難的復(fù)雜的事情。&參考文獻(xiàn)1楊路明,C語(yǔ)言程序設(shè)計(jì)教程北京:郵電大學(xué)出版社,2005年12月第2版12耿國(guó)華,數(shù)據(jù)結(jié)構(gòu)一C語(yǔ)言描述北京:高等教育出版社,2005年7月笫1版附錄源代碼如下:#include<stdio.h>#includc<stdlib.h>#include<malloc.h>#include<string.h>#includc

19、Mlinlist.hH/*左義結(jié)構(gòu)體類(lèi)型typedefstructStu(charsname20J;intsno;charsex|10;intnianling;floatyuwen;floatshuxue;floatyingyu;floatavg;floatsum:structStu*next;STU,*Linlist;voidshum(L);voidxianshi(L);voidchaxun(L);printf(H printf(H printf(H printf(Hprintf(H printfC* printf(MII輸入 II輸入 II輸入II輸入II輸入 1輸入 II輸入0 返回1輸

20、入學(xué)生信息2顯示學(xué)生信息3查詢(xún)學(xué)生信息4添加學(xué)生信息5更新學(xué)生信息6刪除學(xué)生信息lKnnH);llnnH);llnnH);llnnH);llnnH);llnnH);llnnH);voidtianjia(L);voidgengxin(L):voidshanchu(L);voidmingci(L);STU*chazhao(LinlistUntno);/*主函數(shù)*/voidmain()(intm;STU*head;head=(STU*)malloc(sizeof(STU);hcad->next=NULL:while(m)printf(H*歡迎進(jìn)入學(xué)生成績(jī)管理*printf(M printf(&

21、quot;II輸入7計(jì)算并顯示學(xué)生排名INF);*、“).switch(m)casel:shuni(L);break;case2:xianshi(L);break;case3:chaxun(L);break;case4:tianjia(L);break;case5:gengxin(L);break:case6:shanchu(L):break;case7:mingci(L);break;case0:;break;default:printfC輸入錯(cuò)誤!請(qǐng)慎重選擇nu);break;/*各子函數(shù)引STU*chazhao(LinlistLjntno)/*按學(xué)號(hào)查詢(xún)/STU*r;r=L->ne

22、xt;while(r!=NULL)if(r->sno=no)returnr;r=r->next;return0;voidshum(Linlisthead)intHag=Lc,scx,sno;STU*r=NULL,*s=NULL,*m=NULL:s=hcad;while(s->next!=NULL)s=s->next;/*將指針垃于最末尾*/while(l)r=(STU*)malloc(sizeof(STU)y*申諳結(jié)點(diǎn)*7printf("輸入姓名:");/*添加信息*/scanf(M%sr->sname);printfC輸入學(xué)號(hào):);scanf

23、(H%d&sno);m=chazhao(head.sno);whi!e(m!=NULL)m=chazhao(hcad.sno);if(m!=NULL)(printf("請(qǐng)你輸入不重復(fù)的學(xué)號(hào)An");scanf('%d&sno);r->sno=sno;printfC輸入性別(l->boy,0->girl):");do)scanf(°%d&sex);if(sex=1)strcpy(r->sex,-boyr);elseif(sex=O)strcpy(r->sex,"girlH);elsep

24、rintfd輸入錯(cuò)誤!(l->boy,0->girl):nH);while(sex!=1&&sex!=0);printf("輸入年齡:");scanf(H%dH,&r->nianling);printfC輸入語(yǔ)文成績(jī):H);scanf(M%f&r->yuwen);while(r->yuwen<O.OHr->yuwen>100.0)(if(r->yuwen<0.011r->yuwen>100.0)(printfC輸入錯(cuò)誤,請(qǐng)重新輸入!心)向何(輸入語(yǔ)文成績(jī):”);scanf

25、(n%f&r->yuwen);1)printff輸入數(shù)學(xué)成績(jī):");scanf(u%f&r->shuxue);while(r->shuxue<O.OIlr->shuxue>100.0)(if(r->shuxue<0.011r->shuxue>100.0)(printfC輸入錯(cuò)誤,請(qǐng)重新輸入!iiH);printf(“輸入數(shù)學(xué)成績(jī):);scanf(H%f&r->shuxue);printfC輸入英語(yǔ)成績(jī)');scanf(H%f&r->yingyu);while(r->y

26、ingyu<O.OIlr->yingyu>100.0)(if(r->yingyu<0.011r->yingyu>100.0)(printf”輸入錯(cuò)誤,請(qǐng)重新輸入!nH);primf(輸入英語(yǔ):”);scanf('%fA&r->yingy*u);r->sum=r->yuwen+r->shuxue+r->yingyu;r->avg=r->sum/3;r->next=NULL;s->next=r;s=r;printf(選擇是否輸入信息請(qǐng)按(1/0):n,r);scanf(?%d&c

27、);if(c=0)break:/*保存鏈表*/printf(”信息已輸入!n");voidxianshi(LinlistL)STU*a=NULL;STU*p,*q,*tail*s;tail=NULL;if(L->next=NULL)(prints此表中無(wú)記錄,請(qǐng)輸入記錄后在使用此功能!iT);return;Iwhile(L->next!=tail)(P=L;q=p->next;while(q->next!=tail)(if(p->next->sno>q->next->sno)s=q->ncxt;p->next=q-&g

28、t;next;q->next=q->next->next:p->next->next=q:q=s;p=p->next;q=q->next;)tail=q;)a=L->next;print”姓名t學(xué)號(hào)t性別t年齡t語(yǔ)文t數(shù)學(xué)t英語(yǔ)t平均分t總分n");for(a=L->next;a!=NULL;a=a->next)printf(M%-8s%-8d%-8s%-8d%-8.2f%-8.2f%-8.2f%-8.2f%-8.2Ana->sname,a->sno,a->sex,a->nianling,a->

29、yuwen.a->shuxue,a->yingyiLa->avg,a->sum);)voidchaxun(LinlistL)(STU*p;charname(20;intsno,n;if(L->next=NULL)(primf("此表中無(wú)記錄,請(qǐng)輸入記錄后在使用此功能!E);return;while(n)printf(Hprintf(Hprintf(Hprintf(HscanfCAdA&n);杠*請(qǐng)選擇查詢(xún)方式*按學(xué)號(hào)杳詢(xún)時(shí); 2*按姓名杳詢(xún)門(mén);0* 反 叵| 主單、switch(n)n");case l:printf (”請(qǐng)輸入要查詢(xún)的

30、學(xué)號(hào):nM);scanf(-%d&sno);printf(N* * 水學(xué)生信息 *、口);printf。姓名' (學(xué)號(hào)1性別t年齡t語(yǔ)文t數(shù)學(xué)t英語(yǔ)W);for(p=L->next:p!=NULL;p=p->next)if(p->sno)=sno)printf(H%-8s%-8d%-8s%-8d%-10.2f%-10.2f%-10.2Anp->sname,p->sno,p->sex,p->nianling,p->yuw en,p->shuxue9p->yingyu); printfC*查詢(xún)完畢或沒(méi)有要查詢(xún)的記錄! nH

31、) ;break;case 2:printf (%人輸入要查詢(xún)的姓名n”);scanf(n%sH.name);printf(”水*,A 學(xué)生信息 * “、); print©姓名' (學(xué)號(hào)t性別t年齡1語(yǔ)文t數(shù)學(xué) (英語(yǔ)n”); for(p=L->next;p!=NULL;p=p->next)if(strcmp(p->sname,name)=O)printf(-%-8s%-8d%-8s%-8d%-10.2f%-10.2f%-10.2inp->sname,p->sno,p->sex,p->nianling,p->yuw en.p-&

32、gt;shuxue,p->yingyu);printC*查詢(xún)完畢或沒(méi)有要查詢(xún)的記錄! nH);break;case O:break;default:printf ("輸入錯(cuò)誤!請(qǐng)慎重選擇)break;voidgengxin(LinlistL)STUcharname20;intsex.sno;if(L->next=NULL)printfC此表中無(wú)記錄,請(qǐng)輸入記錄后在使用此功能!n,>return;1printfC*輸入要修改的人需);scanf(u%sN.name);pl=L;while(pl!=NULL)(if(strcmp(p1->sname,name)=O

33、)(printfC輸入新姓名/牝修改信息可scanf(-%spl->sname);printfC*輸入新學(xué)號(hào)(原來(lái)是學(xué)號(hào)d):",pl->sno);scanf(-%d&sno);m=chazhao(L,sno);whilc(m!=NULL)m=chazhao(L,sno);if(m!=NULL)(printf(請(qǐng)你輸入不重復(fù)的學(xué)號(hào)(以O(shè)返回上一級(jí)菜單scanf(H%d*&sno);pl->sno=sno;primf("輸入新性別(l->boy,0->girl):");do)scanf(u%d'&sex)

34、;if(sex=l)strcpy(p1->sex,Mboyn);elseif(sex=O)strcpy(p1->sex/girlM);elseprintf("輸入錯(cuò)誤!(l->boy,0->girl):nn);while(sex!=1&&sex!=O);printf("輸入年齡(原來(lái)年齡是d):",pl->nianling);scanf(H%dH,&p1->nianling);printf("輸入語(yǔ)文成績(jī)(原來(lái)是%f分):",pl->yuwen);scanf(H%f&p1

35、->yuwen);while(p1->yuwen<0.011p1->yuwen>100.0)(if(p1->yuwen<0.011p1->yuwen>100.0)prinlfT輸入錯(cuò)誤,請(qǐng)重新輸入!nM);printf("輸入語(yǔ)文成績(jī):);scanf(H%f&p1->yuwen);printf(輸入數(shù)學(xué)成績(jī)(原來(lái)是£分):AplAshuxue);scanf(u%f&p1->shuxue);while(p1->shuxue<O.Ollp1->shuxue>100.0)(i

36、f(p1->shuxue<0.011p1->shuxue>100.0)(printfd輸入錯(cuò)誤,請(qǐng)重新輸入!nH);printf(輸入數(shù)學(xué)成績(jī):“);scanf(H%fH,&pl->shuxue);)printf"輸入英語(yǔ)成績(jī)(原來(lái)是£分):H,pl->yingyu);scanfC1%f&p1->yingyu);while(p1->yingyu<0.011pl->yingyu>100.0)(if(p1->yingyu<0.011p1->yingyu>100.0)(pri

37、ntfd輸入錯(cuò)誤,請(qǐng)重新輸入!nH);printf("輸入英語(yǔ)成績(jī):);scanf(M%A&p1->yingyu);)p1->sum=p1->yuwen+p1->shuxue+p1->yingyu;pl->avg=pl->suni/3;pl=pl->next;)print”修改完成或沒(méi)找到要修改的項(xiàng)!n)voidlianjia(LinlistL)(STU*p2=NULL,*p3=NULL,*m;intsex.sno;p2=(STU*)malloczcof(STU);八申請(qǐng)結(jié)點(diǎn)引if(L->next=NULL)(printf

38、("此表中無(wú)記錄,請(qǐng)輸入記錄后在使用此功能!n");return;)printf("輸入添加的姓名叮);scanf("s”.p2>snamc);printf(輸入添加的學(xué)號(hào):“);scanf(r%d&sno);m=chazhao(L.sno);while(m!=NULL)m=chazhao(L,sno);if(m!=NULL)(primf("請(qǐng)你輸入不重復(fù)的學(xué)號(hào)(以O(shè)返回上一級(jí)菜單:)F);scanf(H%d&sno);I)p2->sno=sno;printfd輸入性別(1->boy,0>girl):J)

39、;do)scanf(H%d'&sex);if(sex=l)strcpy(p2->sex/boyH);elseif(sex=O)strcpy(p2->sex;girlH);elseprintf(H輸入錯(cuò)誤!(l->boy,0->girl):nH);while(sex!=1&&sex!=O);printf(”輸入年齡:“);scanf(u%dH,&p2->nianling);printf(輸入語(yǔ)文成績(jī):”);scanf(v%f&p2->yuwen);while(p2->yuwen<0.011p2->

40、;yuwen>100.0)if(p2->yuwen<0.011p2->yuwen>100.0)prints輸入錯(cuò)誤,詰重新輸入!nH);printf(”輸入語(yǔ)文成績(jī):);scanf(H%fH,&p2->yuwen);(prints輸入數(shù)學(xué)成績(jī):”);scanf(u%f&p2->shuxue);while(p2->shuxue<0.011p2->shuxue>100.0)if(p2->shuxue<0.011p2->shuxue>100.0)printf(M輸入錯(cuò)誤,請(qǐng)重新輸入!nH);printf(輸入數(shù)學(xué)成績(jī):”);scanf(H%fH,&p2->shuxue);)printf(H輸入英語(yǔ)成績(jī)f);scanf(r%f&p2->yingyu);while(p2->yingyu<0.011p2->yingyu>100.0)if(p2->yingyu<

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶(hù)所有。
  • 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ì)用戶(hù)上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶(hù)上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶(hù)因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論