版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、<p><b> 目 錄</b></p><p> 第一章 程序設(shè)計(jì)的目的和要求1</p><p> 1.1課程設(shè)計(jì)的目的1</p><p> 1.2課程設(shè)計(jì)的要求1</p><p> 1.2.1程序設(shè)計(jì)報(bào)告的內(nèi)容要1</p><p> 1.2.2 程序設(shè)計(jì)報(bào)告的質(zhì)
2、量要求2</p><p> 第二章 課程設(shè)計(jì)任務(wù)內(nèi)容3</p><p><b> 2.1考核內(nèi)容3</b></p><p> 2.1.1編寫的C++語言程序3</p><p> 2.1.2課程設(shè)計(jì)報(bào)告3</p><p><b> 2.2課題3</b>&
3、lt;/p><p> 第三章 詳細(xì)設(shè)計(jì)說明4</p><p> 3.1 函數(shù)說明4</p><p> 3.2 函數(shù)流程圖5</p><p> 3.3.1 主函數(shù)流程圖5</p><p> 3.3.2 子函數(shù)流程圖5</p><p> 3.3 編碼及調(diào)試7</p>
4、<p> 第四章 軟件使用說明9</p><p> 4.1 應(yīng)用程序運(yùn)行環(huán)境的要求9</p><p> 4.2 應(yīng)用程序功能的詳細(xì)說明9</p><p> 附錄一:參考文獻(xiàn)12</p><p> 附錄二:程序清單13</p><p> 《程序設(shè)計(jì)基礎(chǔ)》課程設(shè)計(jì)</p>
5、<p> ---學(xué)生成績(jī)記錄簿</p><p> 第一章 程序設(shè)計(jì)的目的和要求</p><p> 1.1課程設(shè)計(jì)的目的</p><p> 1. C語言課程設(shè)計(jì)的主要目的是培養(yǎng)學(xué)生綜合運(yùn)用C語言程序設(shè)計(jì)課程所學(xué)到的知識(shí),編寫C程序解決實(shí)際問題的能力,以及嚴(yán)謹(jǐn)?shù)墓ぷ鲬B(tài)度和良好的程序設(shè)計(jì)習(xí)慣。</p><p> 2.通過課程
6、設(shè)計(jì)的訓(xùn)練,學(xué)生應(yīng)該能夠了解程序設(shè)計(jì)的基本開發(fā)過程,掌握編寫、調(diào)試和測(cè)試C語言程序的基本技巧,充分理解結(jié)構(gòu)化程序設(shè)計(jì)的基本方法。</p><p> 3. C語言程序設(shè)計(jì)的主要任務(wù)是要求學(xué)生遵循軟件開發(fā)過程的基本規(guī)范,運(yùn)用結(jié)構(gòu)化程序設(shè)計(jì)的方法,按照課程設(shè)計(jì)的題目要求,分析、設(shè)計(jì)、編寫、調(diào)試和測(cè)試C語言程序及編寫設(shè)計(jì)報(bào)告。</p><p> 1.2課程設(shè)計(jì)的要求</p>&l
7、t;p> 1.2.1程序設(shè)計(jì)報(bào)告的內(nèi)容要求</p><p> 課程設(shè)計(jì)要求學(xué)生遵循軟件開發(fā)過程中的基本規(guī)范,運(yùn)用結(jié)構(gòu)化程序設(shè)計(jì)的方法,程序設(shè)計(jì)報(bào)告應(yīng)該能夠反映學(xué)生完成課程設(shè)計(jì)題目的全部情況,包括對(duì)課程設(shè)計(jì)題目要求的分析、應(yīng)用程序的設(shè)計(jì)、程序的測(cè)試過程以及程序的運(yùn)行情況等,因此,編寫課程設(shè)計(jì)報(bào)告是課程設(shè)計(jì)一個(gè)不容忽視的重要環(huán)節(jié)。一個(gè)高質(zhì)量的課程設(shè)計(jì)報(bào)告應(yīng)該滿足下列條件:報(bào)告內(nèi)容完整、觀點(diǎn)正確;層次清晰、語
8、流暢、用詞準(zhǔn)確且無二義性;能夠反映結(jié)構(gòu)化程序設(shè)計(jì)方法的基本原則;繪制的所有圖表規(guī)范且正確。</p><p> 用戶文檔是面向使用該應(yīng)用程序的用戶編寫的,因此,應(yīng)該將用戶需要知道的所有內(nèi)容用簡(jiǎn)練、清晰的語言描述清楚。下面是用戶文檔應(yīng)該包含的主要內(nèi)容:</p><p> ?。?)應(yīng)用程序運(yùn)行環(huán)境的要求;</p><p> ?。?)應(yīng)用程序功能的詳細(xì)說明;</p&
9、gt;<p><b> (3)流程圖;</b></p><p><b> ?。?)代碼及調(diào)試。</b></p><p> 1.2.2 程序設(shè)計(jì)報(bào)告的質(zhì)量要求</p><p> 一個(gè)高質(zhì)量的課程設(shè)計(jì)報(bào)告應(yīng)該滿足下列條件:</p><p> ●報(bào)告內(nèi)容完整、觀點(diǎn)正確;</p&
10、gt;<p> ●層次清晰、語言流暢、用詞準(zhǔn)確且無二義性;</p><p> ●能夠反映結(jié)構(gòu)化程序設(shè)計(jì)方法的基本原則;</p><p> ●繪制的所有圖表規(guī)范且正確。</p><p> 第二章 課程設(shè)計(jì)任務(wù)內(nèi)容</p><p><b> 2.1考核內(nèi)容</b></p><p&
11、gt; 2.1.1編寫的C++語言程序</p><p> ●針對(duì)編寫的C++程序,應(yīng)該主要考查下列內(nèi)容:</p><p> ●是否符合題目要求,是否完成了主要功能;</p><p> ●是否存在語法錯(cuò)誤、邏輯錯(cuò)誤及運(yùn)行錯(cuò)誤;</p><p> ●程序設(shè)計(jì)是否合理;</p><p> ●程序是否具有良好的可讀
12、性和可靠性;</p><p> ●是否符合結(jié)構(gòu)化程序設(shè)計(jì)所倡導(dǎo)的基本理念;</p><p> ●用戶界面是否友好。</p><p> 2.1.2課程設(shè)計(jì)報(bào)告</p><p> ●針對(duì)提交的課程設(shè)計(jì)報(bào)告,應(yīng)該主要考查下列內(nèi)容:</p><p> ●程序設(shè)計(jì)的報(bào)告內(nèi)容是否全面,觀點(diǎn)是否正確;</p>
13、<p> ●設(shè)計(jì)過程是否符合結(jié)構(gòu)化程序設(shè)計(jì)方法的基本原則;</p><p> ●層次是否清楚,語言是否通順;</p><p> ●各種圖表是否規(guī)范;是否具有良好的程序設(shè)計(jì)習(xí)慣。</p><p><b> 2.2課題</b></p><p> 設(shè)計(jì)一個(gè)學(xué)生成績(jī)記錄簿c++程序,該系統(tǒng)的主要功能如下:&
14、lt;/p><p> 1)創(chuàng)建信息并以磁盤文件保存;</p><p> 2)讀取磁盤文件并顯示輸出所有學(xué)生的成績(jī);</p><p> 3)按學(xué)號(hào)或姓名查詢成績(jī);</p><p><b> 4)添加成績(jī)記錄;</b></p><p> 5)修改指定姓名或?qū)W號(hào)的學(xué)生的成績(jī)并可存盤;</p&
15、gt;<p> 6)顯示輸出60分以下、60-79、80-89、90分以上各分?jǐn)?shù)段的學(xué)生信息;</p><p> 第三章 詳細(xì)設(shè)計(jì)說明</p><p><b> 3.1 函數(shù)說明</b></p><p> Init () 初始化函數(shù)</p><p> Create
16、 () 創(chuàng)建鏈表</p><p> Delete (STUDENT) 刪除記錄</p><p> Print(STUDENT *h) 顯示所有記錄</p><p> Search(STUDENT *h) 查找學(xué)生成績(jī)</p><p> Insert(STUDENT *h)
17、 插入記錄</p><p><b> 1.插入記錄函數(shù)</b></p><p> 函數(shù)原型:int insert(STUDENT *h)</p><p> 功能:根據(jù)用戶指定將信息插入特定位置</p><p> 參數(shù):結(jié)構(gòu)體數(shù)組和記錄數(shù)</p><p><b> 要求:輸入
18、信息</b></p><p><b> 2.查找函數(shù)</b></p><p> 函數(shù)原型:int search()</p><p> 功能:根據(jù)用戶需要輸出記錄</p><p> 參數(shù):記錄數(shù)組和記錄成績(jī)以及姓名s</p><p> 要求:判斷內(nèi)存中記錄的名字與輸入的是否相等
19、,如果相等則輸出,否則提前結(jié)束</p><p><b> 3.刪除記錄函數(shù)</b></p><p> 函數(shù)原型:int delete(STUDENT *h)</p><p> 功能:刪除內(nèi)存鏈表中的指定結(jié)點(diǎn)</p><p> 參數(shù):記錄數(shù)組和記錄條數(shù),成績(jī)</p><p><b>
20、; 要求:給出相關(guān)信息</b></p><p><b> 3.2 函數(shù)流程圖</b></p><p> 3.3.1 主函數(shù)流程圖</p><p> 圖3-1 函數(shù)主流程圖</p><p> 3.3.2 子函數(shù)流程圖</p><p><b> 如圖3-2所示: &l
21、t;/b></p><p><b> 圖3-2流程圖</b></p><p> 從表中刪除原有紀(jì)錄模塊,算法,如圖3-3所示:</p><p> 圖3-3刪除信息流程圖</p><p> 按照姓名查找紀(jì)錄模塊,算法,如圖3-4所示:</p><p> 圖3-4查找信息流程圖<
22、/p><p> 按照姓名刪除記錄模塊,算法,如圖3-5所示</p><p> 圖3-5 修改信息流程圖</p><p><b> 3.3 編碼及調(diào)試</b></p><p> 在設(shè)計(jì)該程序的時(shí)候我采用了結(jié)構(gòu)化程序方法編輯,并在源代碼的基礎(chǔ)上添加了中文注釋,但是在該系統(tǒng)的編寫過程中仍然有許多錯(cuò)誤,主要的有:注釋文字的排
23、版,定義錯(cuò)誤,句式的語法錯(cuò)誤。在完善程序時(shí),我將源代碼先打印下來反復(fù)的捉摸和研究,力圖在上機(jī)運(yùn)行時(shí)先改正一些低級(jí)錯(cuò)誤,如缺少“;”之類。在仔細(xì)檢查之后,將源代碼上機(jī)調(diào)試—進(jìn)行編譯,在編譯和連接過程中發(fā)現(xiàn)錯(cuò)誤,屏幕上顯示了出錯(cuò)信息,根據(jù)提示找到出錯(cuò)的位置,加以改正……直到順利顯示我預(yù)期想得到程序效果。</p><p><b> 具體調(diào)試過程如下:</b></p><p&g
24、t; 1、首先,在本次調(diào)試過程中我碰到了在上機(jī)前根本沒有想到的錯(cuò)誤:在注釋的時(shí)候,注釋文字應(yīng)寫在一起中間不能有中斷,不能再其中包含c語言的語句。否則會(huì)引起錯(cuò)誤,例如格式不正確或是多了字符等。</p><p> 2、缺少變量定義或是定義位置不正確;</p><p> 由于該程序相對(duì)來講稍有些長(zhǎng),前后有些變量很難聯(lián)系起來,但是在錯(cuò)誤信息的提示下一般還是很是可以找到。不過需要注意的是在定義
25、的時(shí)候有些函數(shù)使用同樣的變量名而表示不同的作用,因而使用要很小心,定義及定義的位置要特別留意。為減少這樣的錯(cuò)誤我后來還是用不同的變量名來表示,結(jié)果引起的那些錯(cuò)誤解決了。</p><p> 3、句式的語法錯(cuò)誤;</p><p> 大多的語法錯(cuò)誤在通過書本參考下能夠修改。主要是平時(shí)看書不仔細(xì)、不太注意而產(chǎn)生的。如沒有注意具體數(shù)據(jù)使用是有一定的范圍限定;過分重視分號(hào)的重要性而在for、if、
26、while語句中畫蛇添足加分號(hào);在使用文件的時(shí)候忘記將文件先打開,對(duì)打開的方式與使用的情況不太注意而造成不匹配;還有漏掉形參的定義是值不能傳遞等等。這些語法錯(cuò)誤有信息框的提示一般是能夠排除的。</p><p> 編譯、連接的成功并不意味著程序的最終成功。邏輯上的錯(cuò)誤機(jī)器不易檢查出來,這時(shí)需要對(duì)數(shù)據(jù)結(jié)果進(jìn)行分析。這種錯(cuò)誤的查找是最難的,需要編程序的人有相當(dāng)?shù)哪托暮图?xì)心去把問題找出來。這也是本次程序編輯過程中碰到的
27、最大的難題。往往運(yùn)行之后得不到另人滿意的結(jié)果,此時(shí)解決的方法一則可以用“分段檢查”的方法,在程序的不同位置設(shè)幾個(gè)printf函數(shù)語句,輸出有關(guān)變量的值,逐段往下檢查,或用debug進(jìn)行調(diào)試,對(duì)檢查出的錯(cuò)誤進(jìn)行修改,當(dāng)調(diào)試完畢將設(shè)置的printf都刪去。若在程序中找不到問題,則再來考慮算法是否邏輯嚴(yán)謹(jǐn),再進(jìn)行修改。如此循環(huán)往復(fù),直到最后程序運(yùn)行成功。在本次程序編輯過程中,我就是常遇到編譯能通過,能夠運(yùn)行程序,但是總在輸入、刪除等操作完之后
28、再想去看數(shù)據(jù)文件中存在的數(shù)據(jù)記錄的時(shí)候,卻一條記錄也顯示不出來,我懷疑是哪個(gè)對(duì)方對(duì)n變量的定義或使用出錯(cuò)了,于是在每個(gè)主要函數(shù)的操作過程中添加了printf語句用來顯示n的變化,例如在執(zhí)行某個(gè)函數(shù)前添加插入語句顯示n的起始值,在執(zhí)行完該個(gè)函數(shù)后再添加插入語句顯示此時(shí)n的結(jié)果值,觀察n的變化是否正確,如果錯(cuò)誤了,也就說明該函數(shù)編寫過程有錯(cuò)。諸如這樣的調(diào)試方法</p><p> 以上是調(diào)試的全過程。</p&g
29、t;<p> 第四章 軟件使用說明</p><p> 4.1 應(yīng)用程序運(yùn)行環(huán)境的要求</p><p> 程序運(yùn)行的環(huán)境Win9X/Win2000/WinXP/Win2003</p><p> 4.2 應(yīng)用程序功能的詳細(xì)說明</p><p> 步驟1:根據(jù)數(shù)字提示從1-5中選擇要操作的功能,如圖4-1所示:</p
30、><p> 圖4-1軟件使用圖示</p><p> 步驟2:按1鍵,會(huì)出現(xiàn)提示“插入信息”,按2,會(huì)出現(xiàn)“刪除信息”,按3,“修改信息”,按4,會(huì)出現(xiàn)“查看信息”,按5,“保存”,按q鍵即可退出,如圖4-2所示:</p><p> 圖4-2軟件使用圖示</p><p> 步驟3:鍵入1回車,會(huì)出現(xiàn)提示“請(qǐng)輸入要?jiǎng)h除學(xué)生信息”,現(xiàn)在就可以刪
31、除學(xué)生信息,如圖4-3所示:</p><p> 圖4-3軟件使用圖示</p><p> 步驟4:鍵入2及Enter鍵,會(huì)出現(xiàn)提示“請(qǐng)輸入要查找的學(xué)生信息”,然后根據(jù)提示將該學(xué)生的信息刪除,如圖4-4所示:</p><p> 圖4-4軟件使用圖示</p><p> 第五章 課程設(shè)計(jì)心得與體會(huì)</p><p>
32、; 在課程設(shè)計(jì)過程中,遇到了不少的問題。這迫使我不得不參考一些課外資料,向同學(xué)和老師們請(qǐng)教。不過,最后在我的努力和老師同學(xué)們的幫助下,還是把程序?qū)懗鰜砹耍@令我非常高興。但是在運(yùn)行過程中又出現(xiàn)了問題。一開始就出現(xiàn)了十幾個(gè)錯(cuò)誤,這令我的信心有所下降,有的錯(cuò)誤我根本就不知道是啥意思,我就向同學(xué)以及上網(wǎng)查一下資料。在經(jīng)過幾天的檢查與修改后,終于能編譯出來了,這又使得我非常高興。但是運(yùn)行的結(jié)果不是很理想,沒能夠達(dá)到我預(yù)想的那樣。</p&
33、gt;<p> 在運(yùn)行出來之后,我有點(diǎn)不敢相信這是我通過努力做出來的,對(duì)于我這個(gè)編程新手,在課程設(shè)計(jì)中,剛開始真有點(diǎn)對(duì)自己失去信心,在硬著頭皮的情況下,還是做出來了。發(fā)現(xiàn)其實(shí)事情并不像剛開始自己想的那樣?,F(xiàn)在回想起來好像就是開頭克服自己最難了,這大概就是人們說的萬事開頭難。</p><p><b> 附錄一:參考文獻(xiàn)</b></p><p> [1
34、] 譚浩強(qiáng). C++程序設(shè)計(jì). 清華大學(xué)出版社.</p><p> [2] 嚴(yán)蔚敏 吳偉民. 數(shù)據(jù)結(jié)構(gòu)(C語言版). 清華大學(xué)出版社</p><p><b> 附錄二:程序清單</b></p><p> #include<iostream.h></p><p> #include<string.
35、h></p><p> #include<stdlib.h></p><p> #include<conio.h></p><p> #include<fstream.h></p><p> class student</p><p><b> {</
36、b></p><p><b> private:</b></p><p> student* next;</p><p><b> public:</b></p><p> char stu_num[15]; //學(xué)號(hào)</p><p
37、> char stu_name[30]; //姓名</p><p> float stu_score ; //成績(jī)</p><p> /*在該節(jié)點(diǎn)后插入一個(gè)幾點(diǎn)*/</p><p> void afterInsert(student *p);</p><p> /*
38、在該節(jié)點(diǎn)后刪除一個(gè)節(jié)點(diǎn)*/</p><p> void afterDelete( );</p><p> /*獲得下一個(gè)節(jié)點(diǎn)的指針*/</p><p> student *getNext(){return next;}</p><p> /***********查詢學(xué)生信息************/</p><p&
39、gt; void getMage( );</p><p> /******學(xué)生信息修改******/</p><p> void changeMage(int n,char *ptr);</p><p> void changegrade(float p);</p><p> /******構(gòu)造*****/</p>&
40、lt;p> student(char *num,char *name ,float score);</p><p> student();</p><p><b> };</b></p><p> void student::changegrade(float p)</p><p><b> {
41、</b></p><p> stu_score=p;</p><p><b> }</b></p><p> student::student() //構(gòu)造</p><p><b> {</b></p><p> strcpy(stu
42、_num,"\0");</p><p> strcpy(stu_name,"\0");</p><p> stu_score=0;</p><p> next='\0';</p><p><b> }</b></p><p> //
43、/*********************構(gòu)造//</p><p> student::student(char *num,char *name, float score)</p><p><b> {</b></p><p> strcpy(stu_num,num);</p><p> strcpy(stu_
44、name,name);</p><p> stu_score=score;</p><p> next='\0';</p><p><b> }</b></p><p> void student::afterInsert(student *p)//插入節(jié)點(diǎn)</p><p>
45、;<b> {</b></p><p> p->next=next;</p><p><b> next=p;</b></p><p><b> }</b></p><p> void student::afterDelete( ) //刪除節(jié)點(diǎn)&
46、lt;/p><p><b> {</b></p><p> student *p=next;</p><p> next=p->next;</p><p><b> delete p;</b></p><p><b> }</b></p
47、><p> void student::getMage() //獲得信息</p><p><b> {</b></p><p> cout<<"學(xué)號(hào):"<<stu_num <<" 姓名:"<<stu_name;</p
48、><p> cout<< " c++成績(jī):"<<stu_score<<endl;</p><p><b> }</b></p><p> void student::changeMage(int n,char *ptr)</p><p><b>
49、; {</b></p><p><b> switch(n)</b></p><p><b> {</b></p><p> case 1: strcpy(stu_num,ptr);break;</p><p> case 2: strcpy(stu_name,ptr);<
50、;/p><p><b> }</b></p><p><b> }</b></p><p><b> //建立鏈表函數(shù)</b></p><p> void construct_list(student *tail)</p><p><b>
51、; {</b></p><p> student *p=new student;</p><p> char very[20];</p><p> float achieve;</p><p> cout<<"請(qǐng)輸入學(xué)號(hào):"<<endl;</p><p>
52、; cin>>very;</p><p> p->changeMage(1,very);</p><p> cout<<"請(qǐng)輸入姓名:"<<endl;</p><p> cin>>very;</p><p> p->changeMage(2,very);
53、</p><p> cout<<"請(qǐng)輸入c++成績(jī):"<<endl;</p><p> cin>>achieve;</p><p> p->changegrade(achieve);</p><p> system("cls");</p>
54、<p> cout<<"信息輸入完畢"<<endl;</p><p> for(;tail->getNext()!='\0';) tail=tail->getNext();</p><p> tail->afterInsert(p);</p><p><b>
55、}</b></p><p> /*********查詢信息*********/</p><p> student *findmege(student *head )</p><p><b> {</b></p><p><b> loop:</b></p><
56、p> cout<<"1--按姓名查詢 2--按學(xué)號(hào)查詢 q--返回上一級(jí)菜單"<<endl;</p><p> char p[5],ptr[20];</p><p> student *mid=head;</p><p><b> cin>>
57、;p;</b></p><p> if(p[0]!='1'&&p[0]!='2'&&p[0]!='q'||strlen(p)>1)</p><p><b> {</b></p><p> system("cls");<
58、;/p><p> cout<<"對(duì)不起,你的輸入有誤,請(qǐng)重新輸入!"<<endl;</p><p> goto loop;</p><p><b> }</b></p><p> switch(p[0])</p><p><b> {&l
59、t;/b></p><p><b> case '1':</b></p><p><b> {</b></p><p> system("cls");</p><p> cout<<"請(qǐng)輸入要查找姓名:"<<
60、;endl;</p><p><b> cin>>ptr;</b></p><p> for(;strcmp(ptr,mid->stu_name)!=0;mid=mid->getNext()) </p><p> if(mid->getNext()=='\0') </p>
61、<p><b> {</b></p><p> cout<<"對(duì)不起,你要查找的人不存在,請(qǐng)確認(rèn)你的輸入是否正確!"<<endl;</p><p> goto loop;</p><p><b> }</b></p><p> ret
62、urn mid;</p><p><b> }</b></p><p><b> case '2':</b></p><p><b> {</b></p><p> system("cls");</p><p>
63、; cout<<"請(qǐng)輸入您要查找的學(xué)號(hào):"<<endl;</p><p><b> cin>>ptr;</b></p><p> for(;strcmp(ptr,mid->stu_num)!=0;mid=mid->getNext())</p><p> if(mid-&
64、gt;getNext()=='\0')</p><p><b> {</b></p><p> cout<<"對(duì)不起,您要查找的內(nèi)容不存在,請(qǐng)確認(rèn)您的輸入是否正確!"<<endl;</p><p> goto loop;</p><p><b>
65、 }</b></p><p> return mid;</p><p><b> }</b></p><p> case 'q': return '\0';</p><p><b> default:</b></p><p&g
66、t;<b> {</b></p><p> system("cls");</p><p> cout<<"對(duì)不起,您的輸入有誤,請(qǐng)重新輸入!"<<endl;</p><p> goto loop;</p><p><b> }</b
67、></p><p><b> }</b></p><p><b> }</b></p><p> /******************刪除鏈表 節(jié)點(diǎn)***********************/</p><p> void delete_list(student *head)<
68、;/p><p><b> {</b></p><p> student *p='\0';</p><p> char selet[4];</p><p> system("cls");</p><p> cout<<"在刪除前,系統(tǒng)會(huì)
69、根據(jù)您的提示找到您要?jiǎng)h除的學(xué)生信息!"<<endl;</p><p> p=findmege(head);</p><p> if(p!='\0')</p><p><b> {</b></p><p> cout<<"確認(rèn)要?jiǎng)h除嗎(yes/任意鍵返回)
70、"<<endl;</p><p> cin>>selet;</p><p> if(strcmp(selet,"yes")==0) </p><p><b> {</b></p><p> for(;head->getNext()!=p;head=hea
71、d->getNext());</p><p> head->afterDelete();</p><p> system("cls");</p><p> cout<<"該信息刪除成功!"<<endl;</p><p><b> }</b>
72、;</p><p><b> }</b></p><p><b> }</b></p><p> /*******************修改節(jié)點(diǎn)信息********************/</p><p> void change_info(student *head)</p>
73、;<p><b> {</b></p><p> system("cls");</p><p> cout<<"在您修改前,系統(tǒng)會(huì)根據(jù)您提供的信息找的您要修改的信息:"<<endl;</p><p> student *p='\0';</
74、p><p> float achieve;</p><p> p=findmege(head);</p><p> if(p!='\0') </p><p><b> {</b></p><p> cout<<"請(qǐng)輸入c++成績(jī):"<&l
75、t;endl;</p><p> cin>>achieve;</p><p> p->changegrade(achieve);</p><p> system("cls");</p><p> cout<<"修改成功"<<endl;</p>
76、<p><b> }</b></p><p><b> }</b></p><p> /**************輸出學(xué)生成績(jī)信息**************/</p><p> void output(student *head)</p><p><b> {&
77、lt;/b></p><p> system("cls");</p><p> cout<<"1-查看指定學(xué)生信息;2-查看所有學(xué)生信息;3-分段輸出學(xué)生信息"<<endl;</p><p><b> char ch;</b></p><p>&
78、lt;b> int n=0;</b></p><p> head=head->getNext();</p><p><b> cin>>ch;</b></p><p> switch(ch)</p><p><b> {</b></p>&
79、lt;p> case '1': head=findmege(head);</p><p> if(head=='\0') break;</p><p> head->getMage();break;</p><p> case '2': while(head)</p><p&g
80、t;<b> {</b></p><p> head->getMage();</p><p> head=head->getNext();</p><p><b> }break;</b></p><p> case '3': cout<<"
81、;a-60分以下;b-60~70分之間;c-70~80分之間;d-80~90分之間;e-90~100分之間:"<<endl;</p><p><b> cin>>ch;</b></p><p> switch(ch)</p><p><b> {</b></p><
82、;p> case 'a': while(head)</p><p><b> {</b></p><p> if(head->stu_score<=60) {head->getMage();n++;}</p><p> head=head->getNext();</p>&l
83、t;p><b> }break;</b></p><p> case 'b': while(head)</p><p><b> {</b></p><p> if(head->stu_score>60&&head->stu_score<=70) {h
84、ead->getMage();n++;}</p><p> head=head->getNext();</p><p><b> }break;</b></p><p> case 'c': while(head)</p><p><b> {</b></p
85、><p> if(head->stu_score>70&&head->stu_score<=80) {head->getMage();n++;}</p><p> head=head->getNext();</p><p><b> }break;</b></p><p
86、> case 'd': while(head)</p><p><b> {</b></p><p> if(head->stu_score>80&&head->stu_score<=90) {head->getMage();n++;}</p><p> head=h
87、ead->getNext();</p><p><b> }break;</b></p><p> case 'e': while(head)</p><p><b> {</b></p><p> if(head->stu_score>90&&am
88、p;head->stu_score<=100) {head->getMage();n++;}</p><p> head=head->getNext();</p><p><b> }</b></p><p><b> }</b></p><p> if(n==0)
89、 cout<<"該分段內(nèi)沒有您要找的學(xué)生信息"<<endl;</p><p><b> }</b></p><p><b> }</b></p><p> /*****************主菜單************************/</p>&
90、lt;p> void mainmenu(student *head)</p><p><b> {</b></p><p> char selet[10];</p><p><b> int n=1;</b></p><p> ofstream outfile ;</p>
91、<p> ifstream infile ;</p><p> student *p,*ptr ;</p><p> student *test=head,*mid ;</p><p> cout<<"*************************歡迎進(jìn)入學(xué)生信息管理系統(tǒng)***********************
92、**"<<endl;</p><p><b> do{</b></p><p> cout<<"**************************************************************************"<<endl;</p><p>
93、; cout<<"1 插入信息; 2 刪除信息; 3 修改信息; 4 查看信息; 5 保存 "<<endl;</p><p> cout<<"q鍵退出 "<<endl;</p><p> cout<<"****************************
94、**********************************************"<<endl;</p><p> cin>>selet;</p><p> if(((selet[0]<'1'||selet[0]>'6')&&selet[0]!='q')||strl
95、en(selet)>1)</p><p><b> {</b></p><p> system("cls");</p><p> cout<<"您的輸入有誤,請(qǐng)重新輸入!"<<endl;</p><p><b> break;<
96、/b></p><p><b> }</b></p><p> switch(selet[0])</p><p><b> {</b></p><p> case '1':output(head);break;</p><p> case
97、39;2': delete_list(head);break;</p><p> case '3': change_info(head);break;</p><p> case '4': construct_list(head);break;</p><p> case '5': outfile.op
98、en("students.txt", ios::out|ios::app);</p><p> for(p=head->getNext();p!='\0';p=p->getNext())</p><p><b> {</b></p><p> outfile<< p->st
99、u_name <<' ';</p><p> outfile<< p->stu_num <<' ';</p><p> outfile<< p->stu_score <<' ';</p><p> outfile<<endl;&l
100、t;/p><p><b> }</b></p><p> outfile.close();</p><p> system("cls");</p><p> cout<<"保存成功!"<<endl;</p><p><b&g
101、t; break;</b></p><p> case 'q': break;</p><p><b> }</b></p><p> }while(selet[0]!='q');</p><p><b> }</b></p>&l
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 眾賞文庫(kù)僅提供信息存儲(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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- c學(xué)生成績(jī)記錄簿課程設(shè)計(jì)
- c語言課程設(shè)計(jì)--學(xué)生成績(jī)記錄簿
- 成績(jī)記錄簿課程設(shè)計(jì)
- 課程設(shè)計(jì)--- 成績(jī)記錄簿
- 成績(jī)記錄簿課程設(shè)計(jì)報(bào)告
- 課程設(shè)計(jì)報(bào)告-成績(jī)記錄簿
- c語言課程設(shè)計(jì)報(bào)告--學(xué)生成績(jī)信息記錄簿的設(shè)計(jì)
- c語言課程設(shè)計(jì)成績(jī)記錄簿
- c語言課程設(shè)計(jì)成績(jī)記錄簿
- 學(xué)生籍貫信息記錄簿課程設(shè)計(jì)報(bào)告
- 課程設(shè)計(jì)報(bào)告---學(xué)生籍貫信息記錄簿
- c語言課程設(shè)計(jì)--學(xué)生籍貫信息記錄簿設(shè)計(jì)
- c語言課程設(shè)計(jì)實(shí)驗(yàn)報(bào)告成績(jī)記錄簿
- c語言課程設(shè)計(jì)實(shí)驗(yàn)報(bào)告成績(jī)記錄簿
- 成績(jī)記錄簿
- 學(xué)生籍貫信息記錄簿(c語言課程設(shè)計(jì)報(bào)告)
- c語言課程設(shè)計(jì)報(bào)告---學(xué)生籍貫信息記錄簿系統(tǒng)
- 學(xué)生籍貫信息記錄簿
- 學(xué)生成績(jī)管理---課程設(shè)計(jì)
- 學(xué)生成績(jī)課程設(shè)計(jì)報(bào)告
評(píng)論
0/150
提交評(píng)論