版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、<p> 課 程 設(shè) 計(jì) 任 務(wù) 書</p><p> 課程名稱 面向?qū)ο蟪绦蛟O(shè)計(jì) </p><p> 課 題 學(xué)生成績管理系統(tǒng) </p><p> 專業(yè)班級(jí) 計(jì)算機(jī) </p><p> 學(xué)生姓名 </p><p> 學(xué) 號(hào)
2、 </p><p> 指導(dǎo)老師 </p><p> 審 批 </p><p> 任務(wù)書下達(dá)日期 2011 年 11 月 15 日</p><p> 任務(wù)完成日期 2011 年 12 月 28 日</p><p&g
3、t; 一、設(shè)計(jì)內(nèi)容與設(shè)計(jì)要求</p><p><b> 1.課程設(shè)計(jì)目的:</b></p><p> 面向?qū)ο蟪绦蛟O(shè)計(jì)課程設(shè)計(jì)是集中實(shí)踐性環(huán)節(jié)之一,是學(xué)習(xí)完《面向?qū)ο蟪绦蛟O(shè)計(jì)》課程后進(jìn)行的一次全面的綜合練習(xí)。要求學(xué)生達(dá)到熟練掌握C++語言的基本知識(shí)和技能;基本掌握面向?qū)ο蟪绦蛟O(shè)計(jì)的思想和方法;能夠利用所學(xué)的基本知識(shí)和技能,解決簡(jiǎn)單的面向?qū)ο蟪绦蛟O(shè)計(jì)問題,從而提高
4、動(dòng)手編程解決實(shí)際問題的能力。</p><p><b> 2.課題題目</b></p><p> 1)公司庫存管理系統(tǒng)</p><p> 2)高校學(xué)籍管理系統(tǒng)</p><p> 3)高校工資管理系統(tǒng)</p><p> 4)高校人事管理系統(tǒng)</p><p><b
5、> 5)通訊錄程序設(shè)計(jì)</b></p><p> 6)學(xué)生成績管理系統(tǒng)</p><p><b> 7) 圖書管理系統(tǒng)</b></p><p> 8)文本編輯器的設(shè)計(jì)與實(shí)現(xiàn)</p><p> 9)學(xué)生考勤管理系統(tǒng)</p><p> 10)公司人員管理系統(tǒng)</p&g
6、t;<p><b> 3.設(shè)計(jì)要求:</b></p><p> ?、?設(shè)計(jì)課題題目:每位同學(xué)根據(jù)自己學(xué)號(hào)除以10所得的余數(shù)加1選擇相應(yīng)題號(hào)的課題。隨意換題者不記成績。</p><p> ?、?根據(jù)自己對(duì)應(yīng)的課題完成以下主要工作:①完成系統(tǒng)需求分析:包括系統(tǒng)設(shè)計(jì)目的與意義;系統(tǒng)功能需求(系統(tǒng)流程圖);輸入輸出的要求。②完成系統(tǒng)總體設(shè)計(jì):包括系統(tǒng)功能分析;
7、系統(tǒng)功能模塊劃分與設(shè)計(jì)(系統(tǒng)功能模塊圖)。③完成系統(tǒng)詳細(xì)設(shè)計(jì):包括數(shù)據(jù)庫需求分析;數(shù)據(jù)庫概念結(jié)構(gòu)設(shè)計(jì)(E-R圖);數(shù)據(jù)庫邏輯結(jié)構(gòu)設(shè)計(jì);類層次圖;界面設(shè)計(jì)與各功能模塊實(shí)現(xiàn)。④系統(tǒng)調(diào)試:調(diào)試出現(xiàn)的主要問題,編譯語法錯(cuò)誤及修改,重點(diǎn)是運(yùn)行邏輯問題修改和調(diào)整。⑤使用說明書及編程體會(huì):說明如何使用你編寫的程序,詳細(xì)列出每一步的操作步驟。⑥關(guān)鍵源程序(帶注釋)</p><p> ?、?按規(guī)定格式完成課程設(shè)計(jì)報(bào)告,將其打印稿(
8、A4紙)上交給老師存檔。</p><p> ?、?不得抄襲他人程序、課程設(shè)計(jì)報(bào)告,每個(gè)人應(yīng)體現(xiàn)自己的個(gè)性設(shè)計(jì)。</p><p><b> 二、進(jìn)度安排</b></p><p> 第 17 周 星期一 8:00——12:00</p><p> 星期二 8:00——12:00</p><p&g
9、t; 星期四 8:00——12:00</p><p> 第 18 周 星期一 8:00——12:00</p><p> 星期二 14:30——18:30</p><p> 星期三 8:00——12:00</p><p> 課題6:學(xué)生成績管理系統(tǒng)</p><p> (一)、課程設(shè)計(jì)題目:</
10、p><p><b> 學(xué)生成績管理系統(tǒng)</b></p><p> (二)、目的與要求: </p><p><b> 1、目的: </b></p><p> ?。?)要求學(xué)生達(dá)到熟練掌握C++語言的基本知識(shí)和技能; </p><p> ?。?)基本掌握面向?qū)ο蟪绦蛟O(shè)計(jì)的基本思
11、路和方法; </p><p> ?。?)能夠利用所學(xué)的基本知識(shí)和技能,解決簡(jiǎn)單的面向?qū)ο蟪绦蛟O(shè)計(jì)問題。 </p><p><b> 2、基本要求: </b></p><p> ?。?)要求利用面向?qū)ο蟮姆椒ㄒ约癈++的編程思想來完成系統(tǒng)的設(shè)計(jì); </p><p> ?。?)要求在設(shè)計(jì)的過程中,建立清晰的類層次; <
12、;/p><p> ?。?)在系統(tǒng)中至少要定義四個(gè)類,每個(gè)類中要有各自的屬性和方法; </p><p> ?。?)在系統(tǒng)的設(shè)計(jì)中,至少要用到面向?qū)ο蟮囊环N機(jī)制。 </p><p><b> 3、創(chuàng)新要求: </b></p><p> 在基本要求達(dá)到后,可進(jìn)行創(chuàng)新設(shè)計(jì),如根據(jù)查找結(jié)果進(jìn)行修改的功能。 </p>
13、<p> 4、寫出設(shè)計(jì)說明書 </p><p> ?。ㄈ?、設(shè)計(jì)方法和基本原理: </p><p> 1、問題描述(功能要求): </p><p> 設(shè)計(jì)一個(gè)實(shí)用的小型學(xué)生成績管理程序,具有查詢,檢索和刪除功能,并且能夠打開或修改指定文件及將多個(gè)文件組成一個(gè)文件。它完全使用類來實(shí)現(xiàn),充分體現(xiàn)面向?qū)ο蟮某绦蛟O(shè)計(jì)特點(diǎn)。</p><p&
14、gt;<b> 要求: </b></p><p> 實(shí)現(xiàn)主要功能:建立文件,文件的存取和顯示,刪除記錄,查詢記錄。可以隨時(shí)檢索,刪除,或增加記錄,也可以保存或取消新的記錄。</p><p> 2、問題的解決方案: </p><p> 根據(jù)系統(tǒng)功能要求,可以將問題解決分為以下步驟: </p><p> (1)應(yīng)用
15、系統(tǒng)分析,建立該系統(tǒng)的功能模塊框圖以及界面的組織和設(shè)計(jì);</p><p> ?。?)分析系統(tǒng)中的各個(gè)實(shí)體及它們之間的關(guān)系包括屬性和行為; </p><p> ?。?)根據(jù)問題描述,設(shè)計(jì)系統(tǒng)的類層次; </p><p> ?。?)完成類層次中各個(gè)類的描述(包括屬性和方法); </p><p> ?。?)完成類中各個(gè)成員函數(shù)的定義; </p
16、><p> (6)完成系統(tǒng)的應(yīng)用模塊; </p><p><b> ?。?)功能調(diào)試; </b></p><p> ?。?)完成系統(tǒng)總結(jié)報(bào)告以及系統(tǒng)使用說明書</p><p><b> 目 錄</b></p><p> 1.系統(tǒng)需求分析1</p><
17、;p><b> 2.總體設(shè)計(jì)2</b></p><p><b> 3.詳細(xì)設(shè)計(jì)3</b></p><p><b> 4.系統(tǒng)調(diào)試6</b></p><p><b> 5.結(jié)果分析8</b></p><p><b>
18、 6.總結(jié)9</b></p><p> 7.程序代碼10</p><p><b> 系統(tǒng)需求分析</b></p><p> 1.1系統(tǒng)設(shè)計(jì)的目的與意義:</p><p> 現(xiàn)在的學(xué)校學(xué)生數(shù)量較多,各樣的考試也比較頻繁,因此需要一個(gè)學(xué)生成績管理系統(tǒng)來對(duì)學(xué)生的成績進(jìn)行管理。</p>
19、<p> 1.2 系統(tǒng)功能需求:</p><p> 本系統(tǒng)有四個(gè)類,Score類、Subject類、Student類、Class類,存儲(chǔ)學(xué)生的個(gè)人信息、考試科目及成績信息。有學(xué)生成績信息錄入、學(xué)生成績信息修改、學(xué)生成績信息顯示、學(xué)生成績信息刪除、學(xué)生成績信息查詢以及數(shù)據(jù)保存文件等功能。</p><p><b> 總體設(shè)計(jì)</b></p>
20、<p> 2.1 系統(tǒng)功能分析:</p><p> 系統(tǒng)通過調(diào)用函數(shù)來實(shí)現(xiàn)學(xué)生成績信息錄入、學(xué)生成績信息修改、學(xué)生成績信息刪除、學(xué)生成績信息查詢以及數(shù)據(jù)保存文件等功能。Insert()函數(shù)用于錄入學(xué)生成績及信息;Update1()函數(shù)用來修改學(xué)生成績及信息;Show()函數(shù)用于顯示所有已有的記錄;Delete()函數(shù)用來刪除學(xué)生成績及信息;Search1()及Search2()函數(shù)用來查詢及信息;S
21、ave()函數(shù)用于將輸入的信息存入文件內(nèi);主函數(shù)main()用于調(diào)用這些函數(shù)。 </p><p> 2.2系統(tǒng)功能模塊劃分與設(shè)計(jì):</p><p> 本系統(tǒng)定義了Score類、Subject類、Student類以及Class類這四個(gè)類,定義了Insert()、Update1()、Show()、Save()、Delete()、Search1()及Search2()等函數(shù)來實(shí)現(xiàn)系統(tǒng)所需功能
22、。</p><p> 2.3 系統(tǒng)功能模塊圖:</p><p><b> 詳細(xì)設(shè)計(jì)</b></p><p> 3.1 分?jǐn)?shù)類的設(shè)計(jì):</p><p> 該類定義了一個(gè)整型變量用來存放分?jǐn)?shù),定義了設(shè)置份總數(shù)和顯示分?jǐn)?shù)的函數(shù)。</p><p><b> 圖 3.1</b>
23、;</p><p> 3.2 科目類的設(shè)計(jì):</p><p> 該類定義了一個(gè)Score類類型的變量,定義了一個(gè)字符數(shù)組用來存放科目名稱,定義了設(shè)置和顯示私有成員的函數(shù)。</p><p><b> 圖 3.2</b></p><p> 3.3 學(xué)生類的設(shè)計(jì):</p><p> 該類定義了
24、一個(gè)Subject類類型的數(shù)組,一個(gè)字符型數(shù)組和一個(gè)字符變量,兩個(gè)整型變量以及設(shè)置和顯示私有成員的函數(shù)。</p><p><b> 圖 3.3</b></p><p> 3.4 班級(jí)類的設(shè)計(jì):</p><p> 該類定義了一個(gè)Student類類型的變量、字符型數(shù)組、整型及設(shè)置和顯示私有成員的函數(shù)等。</p><p>
25、;<b> 圖 3.4</b></p><p> 3.5 各個(gè)類的關(guān)系描述:</p><p><b> 1..*</b></p><p><b> -sc</b></p><p><b> 1</b></p><p>&l
26、t;b> 圖 3.5.1</b></p><p><b> 1..*</b></p><p><b> -p1[8]</b></p><p><b> 1</b></p><p><b> 圖 3.5.2</b></p&g
27、t;<p><b> 1..*</b></p><p><b> -stu</b></p><p><b> 1</b></p><p><b> 圖 3.5.3</b></p><p><b> 系統(tǒng)調(diào)試</b&g
28、t;</p><p> 4.1 在調(diào)試過程中,出現(xiàn)了下面一些錯(cuò)誤:</p><p> 1、輸入數(shù)據(jù)時(shí),輸錯(cuò)了數(shù)據(jù)的類型會(huì)造成死循環(huán),因此輸入時(shí)需要注意。</p><p> 2、一開始主界面輸入非正確字母時(shí),沒有提示錯(cuò)誤。容易造成用戶誤解,在主函數(shù)的switch語句結(jié)束處加上default:cout<<"選擇錯(cuò)誤,請(qǐng)從新選擇!";
29、就可以了。</p><p> 4.2 具體調(diào)試過程:</p><p><b> 主界面</b></p><p><b> 學(xué)生成績錄入</b></p><p><b> 學(xué)生成績查詢</b></p><p><b> 學(xué)生成績顯示&l
30、t;/b></p><p><b> 學(xué)生成績修改</b></p><p><b> 記錄存入文件</b></p><p><b> 學(xué)生成績刪除</b></p><p><b> 結(jié)果分析 </b></p><p>
31、 程序總共設(shè)計(jì)了四個(gè)類,滿足了課題對(duì)類的要求,在設(shè)計(jì)的過程中,建立了較為清晰的類層次,也利用了面向?qū)ο蟮姆椒ㄒ约癈++的編程思想來完成系統(tǒng)的設(shè)計(jì),做到了用文件存儲(chǔ)學(xué)生成績信息、從文件中讀取學(xué)生成績信息、修改信息、查詢信息、刪除信息顯示文件中存儲(chǔ)的信息等要求。而且界面簡(jiǎn)潔,容易操作。但是程序太長,不夠簡(jiǎn)練,導(dǎo)致出現(xiàn)錯(cuò)誤很難發(fā)現(xiàn)和修改。</p><p><b> 總結(jié)</b></p&g
32、t;<p> 首先,接到設(shè)計(jì)題目之后,在對(duì)本題目進(jìn)行分析的時(shí)候,我懂得了一個(gè)很重要的道理,那就是說一個(gè)程序的產(chǎn)生需要一個(gè)對(duì)題目要求有一個(gè)正確全面的分析。其次,就該考慮程序算法的問題了,一個(gè)好的算法是一個(gè)好程序的靈魂,也決定了一個(gè)程序的質(zhì)量。</p><p> 兩個(gè)星期的課設(shè)雖然有些疲勞和困倦,但帶給我很多的收獲。C++已經(jīng)學(xué)了一個(gè)學(xué)期了,有許多知識(shí)都存在似懂非懂的現(xiàn)象,這種現(xiàn)象通過實(shí)際的上機(jī)操作
33、,已經(jīng)減少了許多。對(duì)這些知識(shí)也有了更深的理解和很好的掌握。也有很多理論上說得過去的代碼,但到了實(shí)際操作,卻是行不通的。這種困惑,有許多已經(jīng)通過實(shí)際操作解決了,并能夠深刻認(rèn)識(shí),但也有很多沒有明白。只能避過這些方法,換方法實(shí)現(xiàn)。在課程設(shè)計(jì)之前,因?yàn)橛辛司C合實(shí)驗(yàn)的經(jīng)驗(yàn)與教訓(xùn),明白了寫代碼這一步是非常重要的,因?yàn)楫?dāng)你把代碼輸入電腦,并用編譯器將其運(yùn)行,發(fā)現(xiàn)通過不了,再來檢查找出問題,這是一件非常辛苦的事情,也很浪費(fèi)時(shí)間。于是在課程設(shè)計(jì)的時(shí)候,我
34、花了四天的時(shí)間來規(guī)劃與寫代碼,將要實(shí)現(xiàn)的內(nèi)容分析清楚,才把代碼輸入電腦。我覺得寫程序,應(yīng)該先找到該程序中的核心地方,用多種方法來實(shí)現(xiàn)該核心,這才可能避免等到發(fā)現(xiàn)邏輯上或者編譯器不支持上的錯(cuò)誤,才來想補(bǔ)救的措施,這樣花費(fèi)時(shí)間在想補(bǔ)救措施是很不值得的。</p><p> 這次的課程設(shè)計(jì),真是讓我充分的感覺到了要自己設(shè)計(jì)一個(gè)程序是多么的難,以及學(xué)習(xí)好c++是多么的重要。在這個(gè)程序的設(shè)計(jì)過程中,我清楚的意識(shí)到自己的水平
35、有多么的薄弱,課程的知識(shí)學(xué)得有多么的不扎實(shí)??淳W(wǎng)上的例子好像覺得也沒那么難,自己一上機(jī)實(shí)際操作就出現(xiàn)了很多問題,調(diào)試的時(shí)候系統(tǒng)總是在報(bào)錯(cuò),還有很多警告,每增加一個(gè)函數(shù)就要調(diào)試好久,有時(shí)候應(yīng)為少了一個(gè)大括號(hào)或是分號(hào),導(dǎo)致要找很久很久。雖然系統(tǒng)可以運(yùn)行,也具有了一些基本的功能,但我意識(shí)到了自己有太多的不足。</p><p> 以后還會(huì)有很多的課程設(shè)計(jì),一定要吸取這次的教訓(xùn),把知識(shí)學(xué)懂學(xué)透學(xué)精,真正的為我所用,這樣走
36、上社會(huì)我才能真正的發(fā)揮所長。</p><p><b> 程序代碼</b></p><p> #include<iostream></p><p> #include<fstream></p><p> #include<string></p><p>
37、 using namespace std;</p><p> int M=100;</p><p> static int M2=0;</p><p> class Score{ //分?jǐn)?shù)類</p><p><b> private:</b></p><p>
38、 int score;</p><p><b> public:</b></p><p> Score(int s=0){</p><p><b> score=s;</b></p><p><b> }</b></p><p> void
39、set1(){</p><p> cout<<"請(qǐng)輸入分?jǐn)?shù):"<<endl;</p><p> cin>>score;</p><p><b> }</b></p><p> void show1(){</p><p> cout&
40、lt;<": "<<score<<endl;</p><p><b> }</b></p><p><b> };</b></p><p> class Subject{ //科目類</p><p><b>
41、 private:</b></p><p><b> Score sc;</b></p><p> char subject[20];</p><p><b> public:</b></p><p> Subject(){</p><p> for(
42、int i=0;i<20;i++)</p><p> subject[i]=0;</p><p><b> }</b></p><p> void set2(){</p><p> cout<<"請(qǐng)輸入科目名稱:"<<endl;</p><p&
43、gt; cin>>subject;</p><p> sc.set1();</p><p><b> }</b></p><p> void show2(){</p><p> cout<<subject;</p><p> sc.show1();</p&
44、gt;<p><b> }</b></p><p><b> };</b></p><p> class Student{ //學(xué)生類</p><p><b> private:</b></p><p> Subject
45、p1[8]; </p><p> char name[20];</p><p><b> int num;</b></p><p><b> char S;</b></p><p><b> int n;</b></p><p>
46、<b> public:</b></p><p> Student(){</p><p> for(int i=0;i<20;i++)</p><p> name[i]=0;</p><p><b> num=0;</b></p><p><b>
47、 S=0;</b></p><p><b> }</b></p><p> void set3();</p><p> void show3();</p><p> int getNU1(){return num;}</p><p> char *getNA1(){retur
48、n name;}</p><p><b> };</b></p><p> void Student::show3(){ //學(xué)生類顯示函數(shù)</p><p><b> int i;</b></p><p> cout<<"姓名:"<
49、<name<<"\t性別:"<<S<<"\t學(xué)號(hào):"<<num<<endl;</p><p> for(i=0;i<8;i++)</p><p> p1[i].show2();</p><p><b> }</b></p&
50、gt;<p> void Student::set3(){ //學(xué)生類修改函數(shù)</p><p><b> int i;</b></p><p> cout<<"請(qǐng)輸入學(xué)生姓名:";</p><p> cin>>name;</p><p&g
51、t; cout<<"請(qǐng)輸入該生學(xué)號(hào):";</p><p><b> cin>>num;</b></p><p> cout<<"請(qǐng)輸入該生性別:";</p><p><b> cin>>S;</b></p><
52、;p> cout<<"請(qǐng)輸入每門課程的名字及分?jǐn)?shù)."<<endl;</p><p> for(i=0;i<8;i++)</p><p> p1[i].set2();</p><p><b> }</b></p><p> class Class{
53、 //班級(jí)類</p><p><b> private:</b></p><p> Student stu;</p><p> char name2[20];</p><p><b> int num2;</b></p><p><b
54、> public:</b></p><p><b> Class(){</b></p><p> for(int i=0;i<20;i++)</p><p> name2[i]=0;</p><p><b> num2=0;</b></p><p
55、><b> }</b></p><p> int getNU(){return stu.getNU1();}</p><p> string getNA(){return stu.getNA1();}</p><p> void set4(){</p><p> cout<<"請(qǐng)輸入
56、該生所在班級(jí)名稱:";</p><p> cin>>name2;</p><p> cout<<"請(qǐng)輸入該班班號(hào):";</p><p> cin>>num2;</p><p> stu.set3();</p><p><b> }&l
57、t;/b></p><p> void show4(){</p><p> cout<<"班級(jí):"<<name2<<"\t班號(hào):\t"<<num2;</p><p> stu.show3();</p><p><b> }</
58、b></p><p> friend void Search1(Class c1[],int count1); </p><p> friend void Search2(Class c2[],int count2);</p><p> friend void Update1(Class c3[],int count_d);</p&g
59、t;<p> friend void Delete(Class c4[],int *count_c);</p><p> friend void Insert(Class c5[],int &count_a);</p><p><b> }b[100];</b></p><p> void Save(Class c
60、6[],int count) //記錄存入文件函數(shù)</p><p><b> {</b></p><p> fstream file("class.dat",ios::out|ios::binary);</p><p><b> if(!file)</b></p><
61、p><b> {</b></p><p> cout<<"file coun't open."<<endl;</p><p><b> abort();</b></p><p><b> }</b></p><p&g
62、t; for(int i=0;i<count;i++)</p><p> file.write(reinterpret_cast<char*>(&c6[i]),sizeof(c6[i]));</p><p> file.close();</p><p><b> }</b></p><p&g
63、t; void Show(Class c7[]) //顯示記錄函數(shù)</p><p><b> {</b></p><p><b> int i=0;</b></p><p> for(i=0;c7[i].getNU()!=0;i++)</p><p> c7
64、[i].show4();</p><p><b> }</b></p><p> void Insert(Class c5[],int &count_a) //信息錄入函數(shù)</p><p><b> {</b></p><p> int i,in_number,n=0;</
65、p><p> if(count_a==M)</p><p><b> {</b></p><p> cout<<"空間已滿!";</p><p><b> return;</b></p><p><b> }</b>
66、</p><p> cout<<"請(qǐng)輸入學(xué)生的學(xué)號(hào):"<<endl;</p><p><b> do</b></p><p><b> {</b></p><p><b> do</b></p><p>
67、;<b> {</b></p><p> cin>>in_number;</p><p> for(i=0;i<count_a;i++)</p><p><b> {</b></p><p> if(c5[i].getNU()==in_number)</p>
68、<p> cout<<"已有相同的學(xué)號(hào),請(qǐng)重新輸入!"<<endl;</p><p><b> break;</b></p><p><b> }</b></p><p> }while(c5[i].getNU()==in_number);</p>
69、<p> if(in_number<1)</p><p> cout<<"輸入錯(cuò)誤,請(qǐng)重新輸入大于零的整數(shù)!"<<endl;</p><p> }while(in_number<=0);</p><p> i=count_a;</p><p> c5[i].set
70、4();</p><p> count_a++;</p><p> cout<<endl<<endl;n=n+1;</p><p><b> if(n!=0)</b></p><p> cout<<"學(xué)生成績錄入成功!"<<endl;</p
71、><p><b> }</b></p><p> void Search1(Class c1[],int count1) //按學(xué)號(hào)查詢信息函數(shù)</p><p><b> {</b></p><p> int i,number,flag=1,n=0;</p><p>
72、; cout<<"請(qǐng)輸入所要查詢的學(xué)生的學(xué)號(hào):"<<endl;</p><p><b> do</b></p><p><b> {</b></p><p> cin>>number;</p><p> if(number<=0
73、)</p><p> cout<<"輸入錯(cuò)誤,請(qǐng)重新輸入大于零的整數(shù)!"<<endl;</p><p> }while(number<=0);</p><p> for(i=0;i<count1&&flag;i++)</p><p> if(c1[i].getNU
74、()==number)</p><p><b> {</b></p><p> c1[i].show4();</p><p> flag=0;n=n+1;</p><p><b> }</b></p><p><b> if(n==0)</b>
75、</p><p> cout<<"沒有查詢到該學(xué)生的資料!"<<endl;</p><p><b> }</b></p><p> void Search2(Class c2[],int count2) //按姓名查詢信息函數(shù)</p><p><b> {&
76、lt;/b></p><p> int i,n=0;</p><p> char nam[20];</p><p> cout<<"請(qǐng)輸入所要查詢的學(xué)生的姓名:"<<endl;</p><p><b> cin>>nam;</b></p>
77、<p> for(i=0;i<count2;i++)</p><p> if(c2[i].getNA()==nam)</p><p><b> {</b></p><p> c2[i].show4();</p><p><b> n=n+1;</b></p>
78、<p><b> }</b></p><p><b> if(n==0)</b></p><p> cout<<"沒有查詢到該學(xué)生的資料!"<<endl;</p><p><b> }</b></p><p>
79、void Update1(Class c3[],int count_d) //信息修改函數(shù)</p><p><b> {</b></p><p> int i,n=0,flag=1,m;</p><p> char nam[20];</p><p> cout<<"請(qǐng)輸入所要修改的學(xué)生的姓
80、名:"<<endl;</p><p><b> cin>>nam;</b></p><p> for(i=0;i<count_d&&flag;i++)</p><p><b> {</b></p><p> if(c3[i].getNA
81、()==nam)</p><p><b> {</b></p><p> cout<<"請(qǐng)輸入所要修改的學(xué)生的學(xué)號(hào):"<<endl;</p><p><b> cin>>m;</b></p><p> for(i=0;i<coun
82、t_d&&flag;i++)</p><p><b> {</b></p><p> if(c3[i].getNU()==m)</p><p><b> {</b></p><p> c3[i].set4();</p><p> flag=0;n=n
83、+1;</p><p><b> }</b></p><p><b> }</b></p><p><b> }</b></p><p><b> break;</b></p><p><b> }</b&
84、gt;</p><p><b> if(n!=0)</b></p><p> cout<<"修改成功!"<<endl;</p><p><b> if(n==0)</b></p><p> cout<<"沒有查詢到該學(xué)生的資料
85、!"<<endl;</p><p><b> }</b></p><p> void Delete(Class c4[]) //信息刪除函數(shù)</p><p><b> {</b></p><p> fstream file("class.dat",
86、ios_base::in|ios_base::out|ios_base::binary);</p><p><b> int i=0;</b></p><p> for(i=0;i<100;i++)</p><p><b> {</b></p><p> file.read(reint
87、erpret_cast<char*>(&b[i]),sizeof(b[i]));</p><p><b> }</b></p><p> for(i=0;b[i].getNU()!=0;i++)</p><p><b> ;</b></p><p><b>
88、M2=i;</b></p><p><b> Class c9;</b></p><p> int n=0,number,flag=1;</p><p> cout<<"請(qǐng)輸入要要進(jìn)行操作的學(xué)生的學(xué)號(hào):"<<endl;</p><p> cin>>
89、;number;</p><p> for(i=0;i<M2&&flag;i++)</p><p><b> {</b></p><p> if(c4[i].getNU()==number)</p><p><b> {</b></p><p>
90、 for(i;i<M2&&flag;i++)</p><p> c4[i]=c4[i+1];</p><p><b> flag=0;</b></p><p> (M2)--;n=1;</p><p> Save(b,M2);</p><p><b>
91、break;</b></p><p><b> }</b></p><p><b> }</b></p><p><b> if(n==0)</b></p><p> cout<<"沒有查詢到可以刪除的資料!"<<
92、endl;</p><p><b> if(n!=0)</b></p><p> cout<<"資料刪除成功!"<<endl;</p><p><b> }</b></p><p> int main()</p><p>&
93、lt;b> {</b></p><p><b> char a1;</b></p><p> fstream file("class.dat",ios_base::in|ios_base::out|ios_base::binary);</p><p> cout<<"\t\t*
94、*************歡迎進(jìn)入學(xué)生成績管理系統(tǒng)**************"<<endl<<endl;</p><p><b> do</b></p><p><b> {</b></p><p> cout<<"請(qǐng)選擇功能:"<<en
95、dl;</p><p> cout<<"\t\t\ta.學(xué)生成績查詢"<<endl;</p><p> cout<<"\t\t\tb.學(xué)生成績錄入"<<endl;</p><p> cout<<"\t\t\tc.學(xué)生成績刪除"<<
96、endl;</p><p> cout<<"\t\t\td.學(xué)生成績修改"<<endl;</p><p> cout<<"\t\t\te.顯示全部記錄"<<endl;</p><p> cout<<"\t\t\tf.記錄存入文件"<&l
97、t;endl;</p><p> cout<<"\t\t\tg.退出系統(tǒng)"<<endl;</p><p><b> int i=0;</b></p><p> for(i=0;i<100;i++)</p><p><b> {</b><
98、/p><p> file.read(reinterpret_cast<char*>(&b[i]),sizeof(b[i]));</p><p><b> }</b></p><p> for(i=0;b[i].getNU()!=0;i++)</p><p><b> ;</b&g
99、t;</p><p><b> M2=i;</b></p><p><b> cin>>a1;</b></p><p> switch(a1)</p><p><b> {</b></p><p><b> case ‘a(chǎn)
100、':</b></p><p><b> {</b></p><p> cout<<"\t\t\t請(qǐng)繼續(xù)選擇:"<<endl;</p><p> cout<<"\t\t\t\t1.按學(xué)號(hào)查詢信息"<<endl;</p>
101、<p> cout<<"\t\t\t\t2.按姓名查詢信息"<<endl;</p><p><b> int x;</b></p><p><b> cin>>x;</b></p><p><b> switch(x)</b>&
102、lt;/p><p><b> {</b></p><p> case 1:Search1(b,M2);break;</p><p> case 2:Search2(b,M2);break;</p><p> default:cout<<"選擇錯(cuò)誤,請(qǐng)重新選擇!"<<endl
103、;</p><p><b> }</b></p><p><b> }</b></p><p><b> break;</b></p><p> case ‘b':Insert(b,M2);break;</p><p><b>
104、 case ‘c':</b></p><p><b> {</b></p><p> file.close();</p><p> Delete(b);</p><p><b> }break;</b></p><p> case ‘d'
105、;:Update1(b,M2);break;</p><p> case ‘e':Show(b);break;</p><p><b> case ‘f':</b></p><p><b> {</b></p><p> file.close();</p>&l
106、t;p> Save(b,M2);</p><p> cout<<"保存文件成功!"<<endl;</p><p> fstream file("class.dat",ios_base::in|ios_base::out|ios_base::binary);</p><p><b>
107、 };break;</b></p><p> case ‘g':{file.close();break;}</p><p> default:cout<<"選擇錯(cuò)誤,請(qǐng)重新選擇!"<<endl;</p><p><b> }</b></p><p>
108、 }while(a1!='g');</p><p><b> return 0;</b></p><p><b> }</b></p><p><b> 三、參考書籍</b></p><p> 1.《C++程序設(shè)計(jì)課程設(shè)計(jì)》 劉振安編著 TP312C
109、563</p><p> 2.《C++ Builder和Delphi課程設(shè)計(jì)與系統(tǒng)開發(fā)案例》 伍俊良 清華大學(xué)出版社 7-302-06072-X </p><p> 3.Visual C++課程設(shè)計(jì)案例精編 嚴(yán)華峰 中國水利水電出版社 7-5084-2007-1 2004 </p><p> 4.Visual C++課程設(shè)計(jì)與系統(tǒng)開發(fā)案例 伍俊良
110、 清華大學(xué)出版社 7-302-05968-3 2002</p><p> 5.Visual C++語言課程設(shè)計(jì) : 案例精選與編程指導(dǎo) 陳清華朱紅 東南大學(xué)出版社 7-81089-275-4 2003 </p><p> 6.VisualC++課程設(shè)計(jì)案例精編 中國水利水電出版社 7-5084-1004-1 2002 </p><p>
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 眾賞文庫僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 面向?qū)ο笳n程設(shè)計(jì)-- 學(xué)生成績管理
- 學(xué)生成績管理系統(tǒng)課程設(shè)計(jì)報(bào)告
- 學(xué)生成績管理系統(tǒng)課程設(shè)計(jì)報(bào)告
- 課程設(shè)計(jì)報(bào)告-學(xué)生成績管理系統(tǒng)
- 學(xué)生成績管理系統(tǒng)課程設(shè)計(jì)報(bào)告
- 學(xué)生成績管理系統(tǒng)課程設(shè)計(jì)報(bào)告
- 課程設(shè)計(jì)報(bào)告--學(xué)生成績管理系統(tǒng)
- 課程設(shè)計(jì)報(bào)告---學(xué)生成績管理系統(tǒng)
- 學(xué)生成績管理系統(tǒng)課程設(shè)計(jì)報(bào)告
- 學(xué)生成績管理系統(tǒng)課程設(shè)計(jì)報(bào)告
- 學(xué)生成績管理系統(tǒng)課程設(shè)計(jì)報(bào)告
- 《學(xué)生成績管理系統(tǒng)》課程設(shè)計(jì)報(bào)告
- vb學(xué)生成績管理系統(tǒng)課程設(shè)計(jì)報(bào)告
- java課程設(shè)計(jì)報(bào)告---學(xué)生成績管理系統(tǒng)
- 學(xué)生成績管理系統(tǒng)課程設(shè)計(jì)報(bào)告 (2)
- java學(xué)生成績管理系統(tǒng)課程設(shè)計(jì)報(bào)告
- java學(xué)生成績管理系統(tǒng)課程設(shè)計(jì)報(bào)告
- 學(xué)生成績管理系統(tǒng)課程設(shè)計(jì)報(bào)告 (3)
- c課程設(shè)計(jì)報(bào)告--學(xué)生成績管理系統(tǒng)
- java學(xué)生成績管理系統(tǒng)課程設(shè)計(jì)報(bào)告
評(píng)論
0/150
提交評(píng)論