![面向?qū)ο蟪绦蛟O(shè)計(jì)_第1頁](http://file4.renrendoc.com/view/79dfb6a375afeca42c92e40924449236/79dfb6a375afeca42c92e409244492361.gif)
![面向?qū)ο蟪绦蛟O(shè)計(jì)_第2頁](http://file4.renrendoc.com/view/79dfb6a375afeca42c92e40924449236/79dfb6a375afeca42c92e409244492362.gif)
![面向?qū)ο蟪绦蛟O(shè)計(jì)_第3頁](http://file4.renrendoc.com/view/79dfb6a375afeca42c92e40924449236/79dfb6a375afeca42c92e409244492363.gif)
![面向?qū)ο蟪绦蛟O(shè)計(jì)_第4頁](http://file4.renrendoc.com/view/79dfb6a375afeca42c92e40924449236/79dfb6a375afeca42c92e409244492364.gif)
![面向?qū)ο蟪绦蛟O(shè)計(jì)_第5頁](http://file4.renrendoc.com/view/79dfb6a375afeca42c92e40924449236/79dfb6a375afeca42c92e409244492365.gif)
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
1、課程 設(shè)計(jì)報(bào) 告課程名稱面向?qū)ο蟪绦蛟O(shè)計(jì)課題名稱高校學(xué)籍管理系統(tǒng)一、設(shè)計(jì)容與設(shè)計(jì)要求1.課程設(shè)計(jì)的:面向?qū)ο蟪绦蛟O(shè)計(jì)課程設(shè)計(jì)是集中實(shí)踐性環(huán)節(jié)之一,是學(xué)習(xí)完面向?qū)ο蟪绦蛟O(shè)計(jì) 課程后進(jìn)行的一次全面的綜合練習(xí)。要求學(xué)生達(dá)到熟練掌握C+語言的基本知識和技 能;基本掌握面向?qū)ο蟪绦蛟O(shè)計(jì)的思想和法;能夠利用所學(xué)的基本知識和技能,解決簡 單的面向?qū)ο蟪绦蛟O(shè)計(jì)問題,從而提高動手編程解決實(shí)際問題的能力。2.課題題高校學(xué)籍管理系統(tǒng)3.設(shè)計(jì)要求:設(shè)計(jì)課題題目:每位同學(xué)根據(jù)自己學(xué)號除以4所得的余數(shù)加一選擇相應(yīng)題號的課題。換題者不記成績。根據(jù)自己對應(yīng)的課題完成以下主要工作:完成系統(tǒng)需求分析:主要包括系統(tǒng)設(shè)計(jì)目的與意義;
2、系統(tǒng)功能需求(系統(tǒng)框圖);輸入輸出的要求等容。完 成系統(tǒng)總體設(shè)計(jì):主要包括系統(tǒng)功能分析;系統(tǒng)功能模塊劃分與設(shè)計(jì)(系統(tǒng)功 能模塊圖)。完成系統(tǒng)詳細(xì)設(shè)計(jì):主要包括類層次圖;界面設(shè)計(jì)與各功能模 塊實(shí)現(xiàn)等累人。完成系統(tǒng)調(diào)試:主要包括調(diào)試出現(xiàn)的主要問題,編譯語法錯 誤及修改,重點(diǎn)是運(yùn)行邏輯問題修改和調(diào)整。使用說明書及編程體會說明 系統(tǒng)的使用和操作步驟,詳細(xì)列出每一步的操作步驟。附錄:關(guān)鍵源程序:帶 注釋),可以只選取程序主要部分。按規(guī)定格式完成課程設(shè)計(jì)報(bào)告,將其打印稿(A4紙)上交給老師存檔。不得抄襲他人程序、課程設(shè)計(jì)報(bào)告,每個人應(yīng)體現(xiàn)自己的個性設(shè)計(jì)。二、進(jìn)度安排第17星期一 08時:00分12時:00
3、分星期三14時:00分18時:00分星期四14時:00分18時:00分課題2:高校學(xué)籍管理系統(tǒng)(一)、課程設(shè)計(jì)題高校學(xué)籍管理系統(tǒng)(二)、的與要求:1、目的:(1)要求學(xué)生達(dá)到熟練掌握C+語言的基本知識和技能;(2)基本掌握面向?qū)ο蟪绦蛟O(shè)計(jì)的基本思路和法;(3)能夠利用所學(xué)的基本知識和技能,解決簡單的面向?qū)ο蟪绦蛟O(shè)計(jì)問題。2、基本要求:(1)要求利用面向?qū)ο蟮姆ㄒ约癈+的編程思想來完成系統(tǒng)的設(shè)計(jì);(2)要求在設(shè)計(jì)的過程中,建立清晰的類層次;(3)在系統(tǒng)的設(shè)計(jì)中,至少要用到面向?qū)ο蟮囊环N機(jī)制。3、創(chuàng)新要求:在基本要求達(dá)到后,可進(jìn)行創(chuàng)新設(shè)計(jì),如根據(jù)查找結(jié)果進(jìn)行修改的功能。4、寫出設(shè)計(jì)說明書(三)、設(shè)
4、計(jì)法和基本原理:1、問題描述(功能要求):(1)能夠從屏幕上讀取一個學(xué)生的信息并將信息存入到數(shù)據(jù)文件中。(2)能夠?qū)⒅付ǖ男畔奈募袆h除。(3)能夠按編號、姓名對學(xué)生的信息進(jìn)行檢索并將檢索結(jié)果顯示在屏幕上。(4)可以統(tǒng)計(jì)全部學(xué)生的總成績,及其在班上的排名。(5)能夠統(tǒng)計(jì)各科的平均成績及及格率。(6)要求有錯誤提示功能,例如性別只能輸入男女,輸入錯誤提示重新輸入。(7)如果檢索不到相應(yīng)的信息應(yīng)提示用戶。(8)擴(kuò)展要求:能先行設(shè)置本學(xué)期的科目每個學(xué)生信息應(yīng)該包括:姓名、學(xué)號、成績成績信息應(yīng)該包括:科目數(shù)量、各科目名稱、各科目成績2、問題的解決案:根據(jù)系統(tǒng)功能要求,可以將問題解決分為以下步驟:(1
5、)寫出需求分析(做什么);(2)分析系統(tǒng)中的各個實(shí)體之間的關(guān)系及其屬性和行為;(3)根據(jù)問題描述,設(shè)計(jì)系統(tǒng)的類層次;(4)完成類層次中各個類的描述(包括屬性和法);(5)完成類中各個成員函數(shù)的定義;(6)用戶界面的設(shè)計(jì);(7)分析系統(tǒng)功能模塊(系統(tǒng)流程圖);(8)代碼編寫,功能調(diào)試;(9)完成系統(tǒng)總結(jié)報(bào)告以及系統(tǒng)使用說明書。 TOC o 1-5 h z 系統(tǒng)需求分析-1-總體設(shè)計(jì)-1-詳細(xì)設(shè)計(jì)-3- HYPERLINK l bookmark104 o Current Document 系統(tǒng)調(diào)試與使用說明-6-結(jié)果分析-22-總結(jié)-23-1系統(tǒng)需求分析程序的功能這個程序的主要功能是能夠從屏幕上讀
6、取一個學(xué)生的信息并將其信息存 入到數(shù)據(jù)文件中;能夠?qū)⒅付ǖ男畔奈募袆h除;能夠按編號、姓名對學(xué)生 的信息進(jìn)行檢索并將檢索結(jié)果顯示在屏幕上;可以統(tǒng)計(jì)全部學(xué)生的總成績,及 其在班上的排名;能夠統(tǒng)計(jì)各科的平均成績及及格率;要求有錯誤提示功能, 例如性別只能輸入男女,輸入錯誤提示重新輸入,如果檢索不到相應(yīng)的信息應(yīng)提 示用戶該信息不存在。2、系統(tǒng)的設(shè)計(jì)目標(biāo)本系統(tǒng)要求工作人員輸入并存儲學(xué)生學(xué)籍的有關(guān)信息,如:學(xué)生的姓名、 學(xué)號、性別、年齡、班級等信息。能夠在查詢學(xué)生信息的時候根據(jù)提示項(xiàng)輸入 所要查找的類型,再根據(jù)提示輸入一項(xiàng)學(xué)生信息進(jìn)行查找及修改,實(shí)現(xiàn)學(xué)生學(xué) 籍的動態(tài)管理。2總體設(shè)計(jì)系統(tǒng)功能分析這個程序
7、是用來對學(xué)生的學(xué)籍資料進(jìn)行管理。主要功能包括:能夠從屏幕上讀取一個學(xué)生的信息并將其信息存入到數(shù)據(jù)文件中;能夠?qū)⒅付ǖ男畔奈募袆h除;能夠按編號、姓名對學(xué)生的信息進(jìn)行檢索并將檢索結(jié)果顯示在屏幕上;可以統(tǒng)計(jì)全部學(xué)生的總成績,及其在班上的排名;能夠統(tǒng)計(jì)各科的平均成績及及格率;要求有錯誤提示功能,例如性別只能輸入男女,輸入錯誤提示重新輸入 如果檢索不到相應(yīng)的信息應(yīng)提示用戶該信息不存在。系統(tǒng)功能模塊劃分與設(shè)計(jì)高校學(xué)籍管理系統(tǒng)main函數(shù)Student 類Student類進(jìn)行學(xué)生基本信息的錄入及保存,學(xué)生基本信息包括姓名、學(xué)號、年齡、性 別、班級、各科成績等。Stu類里定義了 Student類的子對象,
8、不但繼承7Student類的 數(shù)據(jù)及函數(shù),還能對信息進(jìn)行進(jìn)一步的加工。如:學(xué)生信息的錄入、顯示、修改、查詢、 刪除以及對學(xué)生成績進(jìn)行統(tǒng)計(jì),算出全部學(xué)生的總成績、班上排名、各科平均分和及格率 等,main函數(shù)貫穿全局,利用mune函數(shù)對程序的各部分進(jìn)行掌控。3-詳細(xì)設(shè)計(jì)信息顯示函數(shù)Show該程序應(yīng)用了 2個類,Student類和Stu類,其UML圖如下:Student 類的 UML 圖Student 類Tag: bool#name: charnum: int#sex: char#cname: char#age: int#mark: int#sum: double+Student()+ input
9、( ) :void+show( ):voidStu類的UML圖Stu類#count: ints: Student+ insert( ):void+Show( ):void+search( ):void+ Delete( ):void+ update( ):void+tongji( ):void+ mune( ):void4.系統(tǒng)調(diào)試與使用說明4.1系統(tǒng)調(diào)試過程中遇到的問題及解決法4.1.1信息顯示時出錯目程序運(yùn)行后出現(xiàn)以下界面I Cf.P rogra ni F il esM i: rcso ft Visuaf Stu d kAM y Proj ect523Debu g2S.exe1234、及格
10、率)官校 W箝箜埋* s. A- 除 一,出 * 夫匍玄親一而微危帶一 * E 尋 n n - & n *y-12345 B70 *設(shè)置好科目信息,錄入學(xué)生信息后。選擇3,本應(yīng)將之前錄入的信息顯示出來 的。:*上上-.曷息生統(tǒng)侑W7TT您字信舊字系 :牛牛生息息上流 /n* 佐-7T7-7T7一 十學(xué) LEIL5T系 3 *、含么小險(xiǎn)魂廠廿E 世錄月llrllw *經(jīng)檢查發(fā)現(xiàn),show函數(shù)里沒有使用循環(huán),導(dǎo)致每輸入一個學(xué)生信息時就會將 前一個的學(xué)生信息覆蓋,所以只能輸入最后一個學(xué)生的信息。信息顯示的原有程序?yàn)椋簐oid show() sum=0;cout姓名:nameendl;cout學(xué)號:n
11、umendl;cout性別:sexendl;cout年齡ageendl;cout班級:cnameendl;for(int i=0;inumb;i+) sum +=marki;coutsbji成績:markiendl; cout總分為:sumendl;在Stu類中再定義一個Show函數(shù),使用循環(huán),然后這個Show函數(shù)里調(diào)用 Student類中的show函數(shù),便可以將所有的學(xué)生信息顯示出來。修改后的程序?yàn)椋簐oid Stu:Show() for(int i=0;icount;i+)if(si.Tag =true) si.show();coutendl; 若是退出程序再運(yùn)行,上來選擇3就應(yīng)該將所有的
12、信息顯示出來,可是顯示的 是亂碼。經(jīng)檢查后發(fā)現(xiàn),在錄入信息后,保存信息時,沒有成功把信息保存到 文件中。導(dǎo)致程序再次運(yùn)行時打開文件后找不到相應(yīng)的學(xué)生信息,所以輸出了亂碼。 卷茶樣* 瞽卷* 樣* 琵 * 卷* 擇* 憑* 蘇*原程序中使用了 C+ +中二進(jìn)制文件的保存式,file.seekg(0,ios:end);file.write(char*)&stu,sizeof(Student);而卻沒有對該保存式進(jìn)行相應(yīng)的函數(shù)聲明,造成未能成功保存信息。后經(jīng)老師 幫忙修改才得以將信息保存到文件中。修改后的程序,上來選擇3就可以將所有已錄入的學(xué)生信息顯示出來。回及格率,J C:P tng ram Fi
13、l cnoso ft Visual StddicMF roj ect523De bu g23 礎(chǔ)甘中慶F-161志成成71 告號釧的泌冬?:一n.部 灶=T一擊玻語孤三_7、各科平均分、4.1.2刪除、修改,檢索信息時出錯因?yàn)樵谛畔浫霑r,保存信息的不對,致使要對信息進(jìn)行刪除、修改或檢索等操作時,都未能在打開的文件中找到相應(yīng)的信息,所以都不能對信息進(jìn)行 這些操作。后經(jīng)老師修改,都能正常顯示。在執(zhí)行修改模塊時還出現(xiàn)了不該有的錯誤。修改學(xué)號的時候選擇“y”也 不能修改就直接跳到下一步。經(jīng)檢查程序,發(fā)現(xiàn)將變量ch1寫成了 ch,導(dǎo)致不能識別輸入的是否為“y”。原程序?yàn)?修改學(xué)號的程序cout”是否要
14、修改學(xué)號? (y/n)ch1;if(ch = = y|ch = = Y)cout請輸入新學(xué)號:以回車鍵結(jié)束si.num;修改后程序:/修改學(xué)號的程序cout是否要修改學(xué)號? (y/n)chi;if(ch1 = = ,y,|ch1 = = ,Y,)cout請輸入新學(xué)號:以回車鍵結(jié)束si.num;改正后的程序便可以對學(xué)號進(jìn)行修改。4.1.3統(tǒng)計(jì)信息時出錯在對已有的學(xué)生信息進(jìn)行統(tǒng)計(jì)時出現(xiàn)了幾個錯誤。1.計(jì)算全部學(xué)生總成績時,未對all進(jìn)行初始化,導(dǎo)致輸出的是亂碼。原程序?yàn)椋?T彷M 空字L- - s B 7 b姓滂LLI* j盲 1 山4 中 j選J牟XKJCHKHHXX.巳.云3的曹,.一及格率3
15、 4 5 6 7 8 *?七 一序?-M_4二 顯刖保咕拈玉一 *void Stu:tongji()int i,j,t;float sbj;float cnum=0,pass=0;doub-e a=aver;Cour-I-A氣SSSSS1臉叫兼時孫球部2串Hr*苗3聊重書sm部、4對皤喇 sssss-AAend-;noc7A=iJiiift 一4 毋濟(jì)浦* =AAend_;cinv Vi;SWIChacase L 、勘普孫費(fèi) fore 3A-COU2.J+) s.sumno;forTox-numb二+)s.sumns.sum+s.markE;)COSA ASs.namT A =s嚇m甘=A A
16、ss.sum A Aend-;a= Ha-+s.sum-)noc7 A=臉叫 5時3嚇m甘=AAa-AAend-;break;anffls甘-case L 、勘普孫費(fèi) a-To;fore 3A-COU2.J+)s.sumno;forTox-numb二+)s.sumns.sum+s.markE;)COSA ASs.namT A =s嚇m甘=A Ass.sum A Aend-;a= Ha-+s.sum-)noc7 A=臉叫 5時3嚇m甘=AAa-AAend-;break -a a=2 a 印4強(qiáng)時sMm部sf苛果命宜EErn。、恭果命而、如SEE宜EErn。43| S3回kjj.exe已停止1作=
17、5現(xiàn)了T問題.導(dǎo)薄停止正帛工柞n如果肓可用的解決 港indo臨朦匿程序并觥標(biāo),調(diào)試皿關(guān)團(tuán)程序E7 8 85 7 6 3 -JJ:n :1:!:!成成成為 圳齡段王制平獻(xiàn)哭兀JI .1并并*直*點(diǎn)出 獰哺 最濕K-1234-5678-一口二rM二口姓謊 著4耳2 34-5678*M-*W-原程序?yàn)椋篶ase 2:int n ,zf100;double pm100,t;for(j=0;jcount;j+) sj.sum=0;for(i=0;inumb;i+)sj.sum=sj.sum+sj.marki;cout班上排名為:n;for(j=0;jcount;j+) pmi=si.sum;zfj=j;
18、for(n=j+1;ncount;n + +) if(pmjpmn) t=pmn;pmn = pmj;pmj=t;for(j=0;jcount;j+) cout第j+1名總分 為:pmjendl; break;修改后的程序?yàn)椋篶ase 2:int n,z,zf100;double pm100,t;for(j=0;jcount;j+)sj.sum=0;for(i=0;inumb;i+) sj.sum=sj.sum+sj.marki; pmj=sj.sum;zfj=j;cout班上排名為:n;for(j=0;jcount;j+) for(n=j+1;npmj) t=pmn;pmn
19、=pmj;pmj=t;z=zfn;zfn=zfj;zfj=z;cout第j+1名總 分 為:pmj$生有獸 苗學(xué)井平原網(wǎng) 苗部上55全班黃婦廿做 爭- 李 =51234$原程序?yàn)椋篿nt i,j,t;float sbj;int cnum=0,pass=0;double all,aver;coutt$ 請從以下項(xiàng)選擇 $endl;coutt1 .全部學(xué)生總成績tttendl;coutt 2.班上排名 tttendl;coutt3.各科平均成績tttendl;coutt4 .各科及格率tttendl;coutt$請從 14 中選擇$t;switch(t)修改后的程序?yàn)椋篿nt i
20、,j,t;float sbj;float cnum=0,pass=0;double all,aver;coutt$ 請從以下項(xiàng)選擇 $endl;coutt1 .全部學(xué)生總成績tttendl;coutt 2.班上排名 tttendl;coutt3.各科平均成績tttendl;coutt4 .各科及格率tttendl;coutt$請從 14 中選擇$t;switch(t)將cnum和pass的類型改為float類后,便可以正常計(jì)算各科及格率。4.2運(yùn)行結(jié)果4.2.1主菜單界面渣拎務(wù)科平均分、K # X * *及格率,* *11畢息巨B心命.息行X *限淞_緡倍.偵.信牌* X竹刑生生生目虧月牛 *
21、卷毛拿是素* aJ-性?7索一,出* X疝噫查t!E奇X 12345678 X吃柘首奏mHUNE X Mi X 某* * * *4.2.2科目設(shè)置界面請浦八密商作者璜桑及格率,-二:i:* * *育校蘭籍箕理矣毓* * - * *4.2.3信息錄入界面各科平均分、* 游 iK K * *及格率,1?袖祀皿績:nathjqq =78”31*H成績泅,p.E碾毒湖是A蟲鬲到H :y遒M(fèi)J削 f舊姓小宇10,二由1001班4.2.4信息顯示界面4.2.5刪除信息界面7 8 7口 C:Prcgrflm Fil心鄒丘口scifl Vhual Stu dioMyPrajeci5aD e bug2B.exe
22、1及格率,1 *你fTJK青佰.打E L Z置、5c?ft Visual 5tudioVMyProjectEZBDebug28.xe*苞要I多吱姓吏7 5。)恨據(jù)程呼準(zhǔn)示修放彳生E垢怠:Cy/nV ;以回車,鍵結(jié)束頒,n)4.2.7信息檢索界面ftK查HJ對查香 轉(zhuǎn)號名 $5$ $ - -$127 00?2 ,L善辦 MHlcMKrtm 查.擬 wffiTTis分 晴說醒*.性.=沔故語基苜*5宜聿忌息息,奈息左盤 *的亂生生主耳擔(dān)牛統(tǒng)X *2專7學(xué) - *3置.示停索計(jì)出* *.蜥 WTErtlJllI修.磴抬-7一豆一一日=u史.17在 S B - - S*V12 35678 WCsPro
23、gram Fite-EMiciro5oft Visual tu dioMyPrayeete2SDe bu gS.-exe4.2.8統(tǒng)計(jì)信息界面計(jì)算總成績,CzProgram FiksMicro-soft Visual Stu dicMyPrejectsVSDe bu g28.exep腱、各科平均會、礎(chǔ)率績、班上寸班上排名各科平均分 vGProgrjm FilesMiErDEoft Vkual StddiDXMlyProjacteVSDsbugVS.eMie息息息二&_育至生 生XA.-.阡K.有L_*呆史田笛冷后節(jié)*2 3 4 S 6 7 _s X*匡口半目-月戶* * *二R* 倡1n_1n
24、* E科生生fl叩沒錄il田修裕后節(jié)-*各科及格率土 =!M4OTIK 0 5 0! ? 1 ? 為為為 十 點(diǎn)4咯* 反;?反*4菸,=產(chǎn)誠G !lz:牝生生.目 .NM竺,.胃淫. 裊上 .K?7,及格率簸W -班上4 E名, 3 -各科平珈燃-4一及格率鈣料與 申-V- XKXMXXKMM著早一1.5息自n及格率*5-結(jié)果分析1.該程序的修改模塊先提示輸入要修改的學(xué)生姓名,再根據(jù)提示一項(xiàng)一項(xiàng)的進(jìn)行修改。不需要修改的項(xiàng)則保留原有的數(shù)據(jù),使用起來簡 單便快捷。h是否要修改年齡7 備輸入新年齡:以回車薜結(jié)束 房否要修改班級75I 半:2.不足之處選擇進(jìn)入某一功能模塊之后,要對該模塊執(zhí)行操作完后
25、才能推出到主 菜單,使得有時候選擇了錯誤的功能也無法返回。程序利用了 C+ +中二進(jìn)制fstream的保存法,該法操作很不便,容易 出錯。該程序?qū)⒈4媾c退出綁定在一起,要求一定要選擇正確的退出式退出 才能將數(shù)據(jù)保存到文件,否則保存失敗。6.總結(jié)這次課程設(shè)計(jì),從拿到題目開始到現(xiàn)在,前前后后自己大概花了整整一個 多星期去搞。剛拿到題目時以為很簡單,誰知真正寫起程序來才發(fā)現(xiàn)它的困難 之處。一開始自己總是貪圖程序簡單功能又多,老想著寫好了基本的模板就能 用它來實(shí)現(xiàn)各項(xiàng)具體的要求。于是在寫程序時只是簡單的把基本的東西寫出來 就完了,然而調(diào)試時才發(fā)現(xiàn)根本行不通。要想寫出好的程序就得下功夫,不能 貪圖簡單而
26、使用不懂的東西,這會使程序越寫越吃力,越行不通。就比如在將 信息保存到文件時,本來可以用C語言里的法,很快就能搞定的,自己卻貪圖 簡單而去使用未學(xué)過的C+里的法。不僅又花了大量時間去看書,而且還寫不 出能用的程序。最后還得勞煩老師去修改。通過這次課設(shè)才發(fā)現(xiàn)自己原來存在很多的不足。很多東西以前都是只知道 理論,并沒有將其用到實(shí)踐中來,導(dǎo)致使用時才發(fā)現(xiàn)原來什么都不會。一些以 前學(xué)過的知識也因長期沒有運(yùn)用,導(dǎo)致要用時卻也不懂理了。理解上存在誤區(qū), 寫程序時不能理好前后的邏輯關(guān)系,導(dǎo)致出現(xiàn)很多不該有的問題。經(jīng)過這一次的課設(shè),我們再一次將學(xué)習(xí)中學(xué)到的各個知識點(diǎn)串聯(lián)起來統(tǒng)一 的運(yùn)用到程序的設(shè)計(jì)中去,將理論
27、與應(yīng)用結(jié)合在一起。再一次鞏固了學(xué)過的知 識,也加深了對新知識的了解。附錄#include#include#include#include#include#include#includeint numb=0;科目數(shù)量char sbj2020;科目名稱/定義學(xué)生類class Studentpublic:bool Tag;false:無效char name20;int num;char sex3;char cname20;int age;int mark10;double sum;Student()有效標(biāo)志,true:有效姓名學(xué)號性別班級年齡各科成績總成績Tag=false;/保證新對象產(chǎn)生時被置為
28、無效,即表示這個對象尚未填入信息void input()cout請輸入學(xué)生信息endl;cout姓名:name;cout學(xué)號:num;cout性別(f,m):sex;while(strcmp(sex,f)!=0&strcmp(sex,m)!=0)cout錯誤請重新輸入!sex;break;CO&A A A A end-;cinv vcnampCO&A A =導(dǎo)短A AendL cinv vage;coui A A 盤硼B(yǎng)SA Aend_;foraa.汗07-沼#=+) COSA AsbjEA A =m:= cinv vmarkE;)Tagnirupvoid show()Sum3COSAA-洋史
29、-AAnameAAendLcouiAA-業(yè)=AAnum A Aend-;COSA A -:H?m!h=A AsexA Aend-;COSA A =4fr斌=A AageA Aend-;couiA A =也婿二 A AcnamT Aend-;foraa.Ex-numb 二+) sum + nmarkE;cosA AsbjEA A =球部=A A markEA AendL )couiAA =孫叫苛AAsumAAendL、*重皿*void subjects()cout請?jiān)O(shè)置科目數(shù)量numb;cout請輸入科目名稱endl;for(int i=0;inumb;i+)couti+1sbji;class
30、Stu/定義 Stu 類Student s100;public:/表示有效學(xué)生的數(shù)量一開始沒學(xué)生錄入信息顯示信息檢索信息刪除信息/修改信息統(tǒng)計(jì)信息菜單int count;Stu()count=0;void insert();void Show();void search();void Delete();void update();void tongji();void mune(fstream &file,Stu &c);函數(shù)friend fstream &operator(fstream &f, Stu &c);friend fstream &operator(fstream &f, Stu
31、&c)fc.count;for(int i=0;c.si.numc.si.sex c.si.sum;/每次從文件讀入一個學(xué)生信息for(int j=0;jc.si.markj;c.si.Tag=true;return f;fstream &operator(fstream &f, Stu &c)fc.count”;for(int i=0;i100;i+)if(c.si.Tag =true)fc.si.age” ame” ” c.si.num c.si.sex c.si.sum; 每次向文件寫 入一個學(xué)生的信息for(int j=0;jnumb;j+)
32、fc.si.markj”;return f;void save(fstream &f, Stu &c)fnumb;文件中先保存科目信息for(int i=0;inumb;i+)再保存學(xué)生信fc;息/*大大大大大大大大大大大大大大大大大大大大大大大大大信息錄入大大大大大大大大大大大大大大大大大大大大大大大大大大*/void Stu:insert()char c2;while(1)for(int i=0;i100;i+)if(si.Tag =false)/此對象為空,即未被占用si.input();count+;break;coutc;if( c0 =n | c0 = = N)break;大大大大
33、大大大大大大大大大大大大大大大大大大大大大曰 -1白kkkkkkkkkkkkkkkkkkkkkkkkkk 顯示信息*/void Stu:Show()for(int i=0;icount;i+)if(si.Tag =true) si.show();coutendl;/*大大大大大大大大大大大大大大大大大大大大大大大大大檢索信息大大大大大大大大大大大大大大大大大大大大大大大大大大*/void Stu:search()int j;int xh;學(xué)生學(xué)號char xm20;學(xué)生姓名coutt$請選擇查找式:$endl;coutt1.按學(xué)號查找endl;coutt2.按姓名查找j;while(j! =
34、1)&(j!=2)cout輸入錯誤,請重新輸入!j;if(j= = 1)cout請輸入要查找的學(xué)號:xh;for(int i=0;i=count)cout查無此 An;else if(j=2)cout請輸入你要查找的學(xué)生的姓名:xm;for(int i=0;i=count)cout查無此人!”endl;/* 刪除信息 */void Stu:Delete()int xh;cout請輸入要刪除的學(xué)生學(xué)號:E=AA end)7*眼卅皿 * - void siu:updaie() noc7 A、luissa 汕七 A AendL ss,. 、fss 、俺-啊潔洛一noc7 A =im8ass = A
35、AendL char xmrGOJ;cinv vxm-foraa.H,ox-counc+)if(sE-.TagH*ue)43if (sircm p (SE-. na mpxmTn 0)2 (y言)=uendL Mw片帶命sffls char ch-cinv Veh;if(chty=chRY) nosA A 回潘齡泗=uend_;cinv vsE-.namp)noc7A=湖訓(xùn)醐嘯四強(qiáng)血2 (y言)-AAendL char chi- cinv vchl-mchlHHy一一chlHHY)COSA A 盤珊爵駕推血-回WB= A Aend_;cinv vsE-.num- )nosA A =湖洲醐嘯涔橋
36、浬2 (y言)-A Aend_; Mw罔 ssschar chNcinv vchNif (Ch2 H H -y- 一一ch2 H H-Y-) couiAA-af?H?浬、W 回w5BnH-A-AendLcinv vsE-.sex;if (sircmp(sm.ses浬m疝、駕爵(s浬滁藏甘 f、m ):-r=A Aend-二43nosA A =湖洲醐嘯區(qū)導(dǎo)斌2 (y言)=A Aend_; Mw罔 ffischar Ch9cinv Vch3_if(ch3HHy=ch3HH-Y-)COSA A 盤珊爵駕導(dǎo)斌-w 回WB= A Aend_;cinv vsE-.agp)nosA A =湖動醐嘯區(qū)串調(diào)2
37、(y言)-A Aend_; Mw罔 SSIchar Ch4_cinv Vch4;if(ch4ty=ch4tY)COSA A 回WB= A AendL cinv vsE-.cnamp)nosA A =推時而汕,印嘯罔那帝=uend_;COSA A _昏留留3推時而、如甘=A Aend_;sE-.show();break;aVHCOUni)noc7 A =斗兵 :E=AA end -; )7*卅皿 *43void siu:iongji() Mi二上f-oai sbMf-oai Cnum3pass3doub-e a=aver;no&A A NSSSSSSSSSSftww-TIs濟(jì)ssssssss= A AendL nosA A1.畛典強(qiáng)時孫m- uend_;COSA A -2.SJZ 果命- A Aend-;COSA A3.FWsmMW A Aend-;nosA A =44.驢善對皤- uend_;couiAA-ffli+s= A Aend_;cinv vn;forTox-numb二+)ifanAnl)sbH-o;fore 3A-C0U2.J+) sbH-sbj+s.markE;averHsbycouni;)COSA Ai+1 A A =FI-SS甘=A A aver A A end L )break;c
溫馨提示
- 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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年度膠合板原材料質(zhì)量檢測服務(wù)合同
- 2025年度智能電網(wǎng)設(shè)備加工與性能評估合同
- 2025年合同管理系統(tǒng)與客戶關(guān)系維護(hù)合同
- 2025年度智能家居升級改造工程合同模板
- 2025年度會議費(fèi)預(yù)算調(diào)整與控制管理合同范本
- 2025年中國飛機(jī)電子飛行包(EFB)行業(yè)市場集中度、投融資動態(tài)及未來趨勢預(yù)測報(bào)告(智研咨詢發(fā)布)
- 2025年度建筑工程泥工勞務(wù)分包施工安全防護(hù)合同
- 2025年度戶外廣告設(shè)施清潔與維護(hù)服務(wù)合同
- 2025年度智慧交通系統(tǒng)開發(fā)與應(yīng)用合同
- 2025年度管子配件知識產(chǎn)權(quán)授權(quán)合同
- 人教版五年級上冊小數(shù)除法豎式計(jì)算練習(xí)練習(xí)300題及答案
- 綜合素質(zhì)提升培訓(xùn)全面提升個人綜合素質(zhì)
- 如何克服高中生的社交恐懼癥
- 城市軌道交通列車網(wǎng)絡(luò)控制及應(yīng)用 課件 項(xiàng)目6、7 列車網(wǎng)絡(luò)控制管理系統(tǒng)、城軌列車網(wǎng)絡(luò)控制及應(yīng)用
- 聚焦任務(wù)的學(xué)習(xí)設(shè)計(jì)作業(yè)改革新視角
- 2024高二語文期末試卷(選必上、中)及詳細(xì)答案
- 2022中儲糧油脂有限公司招聘試題及答案解析
- 分布式光伏項(xiàng)目規(guī)劃設(shè)計(jì)方案
- 計(jì)算機(jī)軟件確認(rèn)控制程序
- 造價員安全生產(chǎn)責(zé)任制
- 橋梁樁基專項(xiàng)施工方案-
評論
0/150
提交評論