2023年全國碩士研究生考試考研英語一試題真題(含答案詳解+作文范文)_第1頁
已閱讀1頁,還剩42頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

1、<p><b>  1 概 述 </b></p><p>  1.1 課程設(shè)計(jì)背景</p><p>  學(xué)生成績管理系統(tǒng)能有效地管理每個(gè)學(xué)生的各科成績,還可以管理學(xué)生的基本信息以及課程信息。該系統(tǒng)能簡便地實(shí)行相關(guān)記錄的查詢,添加,修改,刪除操作。</p><p>  目前,學(xué)校工作繁雜、資料重多,管理信息系統(tǒng)已進(jìn)入高校,但還未普

2、及,而對于學(xué)生成績管理來說,還沒有一套完整的、統(tǒng)一的系統(tǒng)。因此,開發(fā)一套適合大眾的、兼容性好的系統(tǒng)是很有必要的。根據(jù)開發(fā)要求,它主要應(yīng)用于教育系統(tǒng),完成對日常學(xué)生成績的錄入查詢和更新刪除等管理操作,實(shí)現(xiàn)學(xué)生成績管理的計(jì)算機(jī)化。開發(fā)學(xué)生成績管理系統(tǒng)可使學(xué)院教職員工減輕工作壓力,比較系統(tǒng)地對教務(wù)、教學(xué)上的各項(xiàng)服務(wù)和信息進(jìn)行管理,同時(shí),可以減少勞動(dòng)力的使用,加快查詢速度、加強(qiáng)管理。本文敘述了現(xiàn)在高校學(xué)生成績管理的現(xiàn)狀以及C++語言和一些開源框

3、架的概況。重點(diǎn)介紹了學(xué)生成績管理系統(tǒng)的實(shí)現(xiàn)過程:包括系統(tǒng)分析、 系統(tǒng)調(diào)查、 數(shù)據(jù)庫設(shè)計(jì)、功能設(shè)計(jì)、系統(tǒng)物理配置方案、 系統(tǒng)實(shí)現(xiàn)、系統(tǒng)測試以及系統(tǒng)功能簡介。</p><p>  1.2 課程設(shè)計(jì)目標(biāo)</p><p>  建立學(xué)生成績管理系統(tǒng),采用計(jì)算機(jī)對學(xué)生成績進(jìn)行管理,進(jìn)一步提高辦學(xué)效益和現(xiàn)代化水平。幫助廣大教師提高工作效率,實(shí)現(xiàn)學(xué)生成績維護(hù)工作流程的系統(tǒng)化、規(guī)范化和自動(dòng)化。為了使系統(tǒng)在學(xué)

4、院的管理中發(fā)揮更大的作用,實(shí)現(xiàn)工作過程的計(jì)算機(jī)化,提高工 作效率和工作質(zhì)量,現(xiàn)提出如下的系統(tǒng)開發(fā)目標(biāo):</p><p>  (1)提高學(xué)生管理次序,節(jié)約管理成績,增強(qiáng)學(xué)生管理的安全性。</p><p>  (2)系統(tǒng)應(yīng)具有實(shí)用性、可靠性和適用性,同時(shí)注意到先進(jìn)性。</p><p>  (3)對各個(gè)數(shù)據(jù)庫進(jìn)行動(dòng)態(tài)管理,防止混亂。</p><p>

5、;  (4)能夠?qū)Σ樵兘Y(jié)果進(jìn)行分類匯總,實(shí)現(xiàn)報(bào)表打印和下載。</p><p>  (5)方便用戶的操作,盡量減少用戶的操作。</p><p><b>  2 系統(tǒng)需求分析</b></p><p><b>  2.1 系統(tǒng)調(diào)查</b></p><p>  21世紀(jì)以來,人類經(jīng)濟(jì)高速發(fā)展,人們的生活發(fā)生

6、了日新月異的變化,特別是計(jì)算機(jī)的應(yīng)用及普及到經(jīng)濟(jì)和社會生活的各個(gè)領(lǐng)域,使原本的舊的管理方法越來越不適應(yīng)現(xiàn)在社會的發(fā)展,許多人還停留在以前的手工操作,這大大地阻礙了人類經(jīng)濟(jì)的發(fā)展。</p><p>  為了適應(yīng)現(xiàn)代社會人們高度強(qiáng)烈的時(shí)間觀念,我對陜西科技大學(xué)理學(xué)院的原有的學(xué)生成績管理系統(tǒng)進(jìn)行了調(diào)查研究,并對一些教師和學(xué)生進(jìn)行了調(diào)查,聽取他們對學(xué)生成績管理的一些建議和要求以及他們對這方面的一些需求,根據(jù)我所具有的知識

7、,決定開發(fā)的這個(gè)系統(tǒng)采用當(dāng)前較為流行的編程軟件C++作為實(shí)現(xiàn)語言,以實(shí)現(xiàn)學(xué)生成績管理信息系統(tǒng)的設(shè)計(jì)與開發(fā)。</p><p><b>  2.2系統(tǒng)需求</b></p><p>  為了實(shí)現(xiàn)數(shù)據(jù)錄入、數(shù)據(jù)刪除、數(shù)據(jù)瀏覽以及數(shù)據(jù)查詢等功能,該學(xué)生成績管理系統(tǒng)主要?jiǎng)澐譃閷W(xué)生信息的載入、創(chuàng)建、查詢、修改、統(tǒng)計(jì)、顯示以及保存等內(nèi)容,這些管理職能統(tǒng)一由管理者負(fù)責(zé)。</p&g

8、t;<p>  在學(xué)生管理系統(tǒng)開發(fā)時(shí)應(yīng)該滿足以下具體的系統(tǒng)要求:</p><p>  學(xué)生成績管理系統(tǒng)中不同使用單位(用戶)的學(xué)生人數(shù)事先無法確定.</p><p>  (1)該學(xué)生成績管理系統(tǒng)要求有學(xué)生成績錄入,查詢,修改,刪除,保存文件.</p><p>  (2)系統(tǒng)使用文字菜單,用戶通過選擇菜單項(xiàng)的編號,實(shí)現(xiàn)系統(tǒng)對子模塊的調(diào)用.也可用windo

9、ws界面下的菜單欄、彈出式菜單、下拉菜單。</p><p>  (3)每個(gè)班級每門課程的成績可以從學(xué)生的成績總表提取出子表并存儲成一個(gè)文本文件,以便在windows的notebook或者M(jìn)icrosoft word下打印,規(guī)定該文本文件名由班級號和課程名拼音字符串構(gòu)成.輸入班級號和課程名字符串后自動(dòng)生成文件名.如1班,語文,則文件名為:c1yuwen.txt. </p><p>  (4)

10、每個(gè)學(xué)生學(xué)習(xí)的課程有語文,英語,數(shù)學(xué),物理,化學(xué),生物.</p><p>  (5)學(xué)生的成績總表結(jié)構(gòu)約定為(學(xué)號,姓名,課程名,平時(shí)成績,期末成績,總評成績).總評成績由程序自動(dòng)計(jì)算,總評成績=平時(shí)成績﹡30%+期末成績﹡70%.</p><p>  (6)學(xué)號是一個(gè)9位整數(shù)構(gòu)成的字符串, 學(xué)號的編碼規(guī)則:入學(xué)年份+在讀年級+在讀班級+班內(nèi)編號;入學(xué)年份用4位整數(shù)構(gòu)成字符串,如2003年

11、入學(xué)則表示為:”2003”;在讀年級用1位整數(shù)構(gòu)成字符串,如正在1年級讀書則表示為:”1”;在讀班級用2位整數(shù)構(gòu)成字符串,如正在1班讀書則表示為:”01”;班內(nèi)編號用2位整數(shù)構(gòu)成字符串,如在班內(nèi)編號為23號則表示為:”23”.</p><p><b>  2.3 功能需求</b></p><p>  基于系統(tǒng)需求分析,該系統(tǒng)需要實(shí)現(xiàn)以下基本功能:</p>

12、<p>  (1)查詢所有學(xué)生的所有成績(包括各科成績,平時(shí)成績以及總評成績);</p><p>  (2)查詢所有學(xué)生某一單科的成績;</p><p>  (3)修改學(xué)生的成績;</p><p>  (4)刪除學(xué)生的成績;</p><p>  (5)對學(xué)生的成績進(jìn)行保存,并可以在windows的notebook或者M(jìn)icroso

13、ft word下打印。</p><p><b>  2.4 開發(fā)環(huán)境</b></p><p>  軟件環(huán)境:windows98/windowsXP/windows2000,Visual C++</p><p>  硬件環(huán)境:計(jì)算機(jī)(Pen4CPU, 256MRAM,60G以上硬盤,輸入輸出設(shè)備)</p><p><

14、b>  3系統(tǒng)概要設(shè)計(jì)</b></p><p>  3.1 系統(tǒng)的功能模塊劃分</p><p>  “學(xué)生成績管理信息系統(tǒng)”包括九個(gè)模塊:信息載入,信息創(chuàng)建,信息查詢,信息修改,信息統(tǒng)計(jì),信息顯示,保存信息,感謝使用以及退出程序。這九個(gè)模塊既相互聯(lián)系又相互獨(dú)立,其中信息查詢,信息修改,信息統(tǒng)計(jì),信息顯示,保存信息這五個(gè)模塊必須以信息載入或信息創(chuàng)建為基礎(chǔ)。</p>

15、;<p>  (1)信息載入模塊:主要是將已有的學(xué)生成績總表提入到系統(tǒng),以此為基礎(chǔ),再進(jìn)行必要的操作;</p><p>  (2)信息創(chuàng)建模塊:對學(xué)生的成績進(jìn)行錄入,然后通過其他的操作,保存為所需的文件;</p><p>  (3)信息查詢:在信息載入和信息創(chuàng)建的基礎(chǔ)上,對學(xué)生的成績進(jìn)行查詢;</p><p>  (4)信息修改:在信息載入和信息創(chuàng)建的

16、基礎(chǔ)上,對所需學(xué)生的成績進(jìn)行修改;</p><p>  (5)信息統(tǒng)計(jì):在信息載入和信息創(chuàng)建的基礎(chǔ)上,對學(xué)生的相關(guān)成績進(jìn)行統(tǒng)計(jì),輸出平均分及排名;</p><p>  (6)信息顯示:在信息載入和信息創(chuàng)建的基礎(chǔ)上,顯示出系統(tǒng)所有學(xué)生的成績;</p><p>  (7)保存信息:在信息載入和信息創(chuàng)建的基礎(chǔ)上,對學(xué)生的成績進(jìn)行必要的編輯后,保存所需的文件;</p&

17、gt;<p>  (8)感謝使用:顯示系統(tǒng)的創(chuàng)建者,并提示在退出程序前是否進(jìn)行相關(guān)的操作;</p><p>  (9)退出程序:退出該程序。</p><p><b>  3.2 系統(tǒng)結(jié)構(gòu)圖</b></p><p> ?。?)學(xué)生成績管理信息系統(tǒng)主模塊如圖 3-1所示</p><p>  圖3-1 學(xué)生成績管

18、理信息系統(tǒng)主模塊</p><p> ?。?)學(xué)生信息查詢模塊如圖3-2所示</p><p>  圖3-2 學(xué)生信息查詢模塊</p><p> ?。?)學(xué)生信息修改模塊如圖3-3所示</p><p>  圖3-3 學(xué)生信息修改模塊</p><p> ?。?)學(xué)生信息統(tǒng)計(jì)模塊如圖3-4所示</p><

19、p>  圖3-4 學(xué)生信息統(tǒng)計(jì)模塊</p><p><b>  4系統(tǒng)詳細(xì)設(shè)計(jì)</b></p><p>  4.1 系統(tǒng)登錄模塊設(shè)計(jì)</p><p>  學(xué)生成績管理信息系統(tǒng)可以分為九個(gè)模塊:</p><p><b>  (1)學(xué)生信息載入</b></p><p>&l

20、t;b> ?。?)學(xué)生信息創(chuàng)建</b></p><p><b> ?。?)學(xué)生信息查詢</b></p><p><b> ?。?)學(xué)生信息修改</b></p><p><b>  (5)學(xué)生信息統(tǒng)計(jì)</b></p><p><b> ?。?)學(xué)生信息

21、顯示</b></p><p><b>  (7)學(xué)生信息保存</b></p><p><b> ?。?)鳴謝</b></p><p><b> ?。?)退出程序</b></p><p>  系統(tǒng)業(yè)務(wù)處理結(jié)構(gòu)如圖4-1所示</p><p>  

22、4.2 系統(tǒng)主界面設(shè)計(jì)</p><p>  系統(tǒng)主界面設(shè)計(jì)如圖4-2所示</p><p>  4.3 學(xué)生信息管理模塊設(shè)計(jì)</p><p> ?。?)學(xué)生信息載入模塊如圖4-3所示</p><p> ?。?)學(xué)生信息創(chuàng)建模塊如圖4-4所示</p><p>  4.4學(xué)生信息查詢模塊設(shè)計(jì)</p><p

23、> ?。?)按姓名查找模塊如圖4-5所示</p><p> ?。?)按學(xué)號查找模塊如圖4-6所示</p><p> ?。?) 按課程查找模塊如圖4-7所示</p><p>  4.5學(xué)生信息修改模塊設(shè)計(jì)</p><p> ?。?)添加學(xué)生信息模塊如圖4-8所示</p><p> ?。?)修改學(xué)生信息模塊如圖4-9

24、所示</p><p> ?。?)刪除學(xué)生信息模塊如圖4-10所示</p><p>  (4)顯示學(xué)生信息模塊如圖4-11所示</p><p>  4.6學(xué)生信息統(tǒng)計(jì)模塊設(shè)計(jì)</p><p> ?。?)查找學(xué)生平均成績?nèi)鐖D4-12所示</p><p>  圖4-12 查找學(xué)生平均成績</p><p&g

25、t; ?。?)查找單科平均成績?nèi)鐖D4-13所示</p><p>  4.7退出系統(tǒng)模塊設(shè)計(jì)</p><p> ?。?)感謝使用模塊如圖4-14所示(顯示系統(tǒng)的設(shè)計(jì)者)</p><p> ?。?)退出程序模塊如圖4-15所示</p><p><b>  5 測試</b></p><p><b&

26、gt;  5.1 測試目的</b></p><p>  測試是為了發(fā)現(xiàn)程序中的錯(cuò)誤而執(zhí)行程序的過程,測試的目的就是在軟件投入生產(chǎn)運(yùn)行之前,盡可能的發(fā)現(xiàn)軟件中的錯(cuò)誤。成功的測試是發(fā)現(xiàn)了至今為止尚未發(fā)現(xiàn)的錯(cuò)誤的測試。</p><p><b>  5.2 測試方案</b></p><p>  為了提高測試效率,降低測試成本,本測試方案采用

27、黑盒法設(shè)計(jì)基本的測試方案,再用白盒法補(bǔ)充一些方案。在黑盒法測試方案中,采用等價(jià)劃分技術(shù),把所有可能的數(shù)據(jù)劃分成幾個(gè)等價(jià)類。</p><p><b>  5.3 測試項(xiàng)目</b></p><p><b>  (1)登錄測試</b></p><p> ?。?)學(xué)生信息載入測試</p><p> ?。?)

28、學(xué)生信息創(chuàng)建測試</p><p>  (4)學(xué)生信息查詢測試</p><p> ?。?)學(xué)生信息修改測試</p><p> ?。?)學(xué)生信息統(tǒng)計(jì)測試</p><p><b>  5.4 測試結(jié)果</b></p><p>  經(jīng)過以上測試,可知各模塊的測試過程都沒有出現(xiàn)異常情況,程序在系統(tǒng)的要求下,

29、能夠?qū)崿F(xiàn)所要求的各種功能。</p><p>  6.設(shè)計(jì)體會及今后的改進(jìn)意見</p><p>  C++是一門魅力四射的課程,而編程實(shí)踐更是檢驗(yàn)自己學(xué)習(xí)成果的必修課,經(jīng)過一個(gè)多月的努力,我終于完成了這次學(xué)生成績管理系統(tǒng)的設(shè)計(jì)與開發(fā)。剛開始拿到這個(gè)題目確實(shí)讓我感覺無從下手,之后在網(wǎng)上參考了一下其他人的設(shè)計(jì)流程,然后慢慢一步步的自己開始著手做,在設(shè)計(jì)的過程中,我遇到了很多的問題,起初是程序的設(shè)

30、計(jì),自己經(jīng)過一個(gè)學(xué)期的C++的學(xué)習(xí),獨(dú)立編寫的C++程序的總行數(shù)不過兩百多行,而這次一下子要編寫一個(gè)幾百多行的程序,實(shí)在是一個(gè)巨大的挑戰(zhàn)。就這方面來說,這是此次課程帶給我的最大的收獲,它讓我明白了自身的不足之處,讓我懂得在學(xué)習(xí)的過程更加虛心,認(rèn)真,努力。</p><p>  另外此次課程設(shè)計(jì)增加了自己編程的能力,將自己所學(xué)的理論知識與實(shí)踐結(jié)合在一塊,提高了自己對這門課程的興趣。</p><p&

31、gt;  經(jīng)過一番努力,終于初步編寫出了程序,但是它的功能還不是很完善,有些地方自己還沒有徹底搞明白,以后必定要加強(qiáng)對程序設(shè)計(jì)的學(xué)習(xí),不斷完善自己的編程能力。</p><p><b>  參 考 文 獻(xiàn)</b></p><p>  [1] 譚浩強(qiáng).C++程序設(shè)計(jì)[M].北京:清華大學(xué)出版社.2005.10</p><p>  [2] 譚浩強(qiáng).C

32、++程序設(shè)計(jì)題解與上機(jī)指導(dǎo)(第三版)[M].北京:清華大學(xué)出版社.2005.06</p><p>  [3] 朱站立.數(shù)據(jù)結(jié)構(gòu)[M].西安:交通大學(xué)出版社.2004.05</p><p>  [4] 羅斌.Visual C++編程技巧[M].北京:中國水利水電出版社.2005.08</p><p><b>  附 錄</b></p&

33、gt;<p>  附錄1.1 源程序清單</p><p>  void Sort()</p><p><b>  {</b></p><p>  struct STUDENT * headsa=NULL;</p><p>  struct STUDENT *current;</p><p

34、>  struct STUDENT *p1,*p2,*p3,*max;</p><p>  p1=p2=(struct STUDENT *)malloc(LEN);</p><p>  max=(struct STUDENT *)malloc(LEN);</p><p>  max->average =1000;</p><p>

35、<b>  while(1){</b></p><p>  p1->average=0.078;</p><p>  current=head;</p><p>  while(current!=NULL){</p><p>  current->average =(current->chineseRe

36、cord +current->englishRecord +current->mathematicsRecord +current->physicalRecord +current->chemistryRecord +current->biologicalRecord )/6;</p><p>  if(p1->average <=current->average

37、 && current->average <=max->average && current!=max ){</p><p>  p1=current;</p><p>  current=current->next;</p><p><b>  }</b></p><

38、p><b>  else</b></p><p>  current=current->next;</p><p><b>  }</b></p><p><b>  max=p1;</b></p><p>  if(headsa==NULL){</p>

39、<p>  p2->number=p1->number;strcpy(p2->name,p1->name);strcpy(p2->sex,p1->sex); </p><p>  p2->age=p1->age;p2->chineseRecord=p1->chineseRecord;</p><

40、p>  p2->englishRecord=p1->englishRecord;p2->mathematicsRecord=p1->mathematicsRecord;</p><p>  p2->physicalRecord=p1->physicalRecord;p2->chemistryRecord =p1->chemistryRecord ;

41、</p><p>  p2->biologicalRecord=p1->biologicalRecord;</p><p>  headsa=p2;</p><p><b>  }</b></p><p><b>  else{</b></p><p>  p2-

42、>number=p1->number;strcpy(p2->name,p1->name);strcpy(p2->sex,p1->sex); </p><p>  p2->age=p1->age;p2->chineseRecord=p1->chineseRecord;</p><p>  p2->en

43、glishRecord=p1->englishRecord;p2->mathematicsRecord=p1->mathematicsRecord;</p><p>  p2->physicalRecord=p1->physicalRecord;p2->chemistryRecord =p1->chemistryRecord ;</p><

44、p>  p2->biologicalRecord=p1->biologicalRecord;</p><p><b>  }</b></p><p>  if(p1->average ==0.078){</p><p>  p3->next =NULL;</p><p><b>

45、  break;</b></p><p><b>  }</b></p><p>  p1=(struct STUDENT *)malloc(LEN);</p><p>  p2->next =p1;</p><p><b>  p3=p2;</b></p><

46、p><b>  p2=p1;</b></p><p><b>  }</b></p><p>  struct STUDENT *q;</p><p>  cout<<"\n排序所有學(xué)生的成績:"<<endl;</p><p><b>  

47、q=headsa;</b></p><p>  if(headsa!=NULL){</p><p>  cout << setw(0) << "學(xué)號" << setw(8) << "姓名" << setw(8)<<"性別"<<setw(

48、8)<<"年齡"</p><p>  << setw(8) << "語文" << setw(8) << "英語" << setw(8) << "數(shù)學(xué)" </p><p>  << setw(8) << &

49、quot;物理" <<setw(8)<<"化學(xué)" <<setw(8)<<"生物"<<setw(12)<<"平均分"<<endl;</p><p><b>  do{</b></p><p>  cout<<

50、; setw(0) << q->number << setw(8) << q->name << setw(8)<<q->sex<<setw(8)<<q->age</p><p>  << setw(8) << q->chineseRecord << setw(8)

51、 << q->englishRecord << setw(8) </p><p>  << q->mathematicsRecord << setw(8) << q->physicalRecord <<setw(8)<<q->chemistryRecord </p><p>  &l

52、t;<setw(8)<<q->biologicalRecord<<setw(12)<<q->average<<endl;</p><p>  q=q->next;</p><p>  }while(q != NULL);</p><p><b>  }</b></p&

53、gt;<p><b>  else</b></p><p>  cout<<"\n學(xué)生成績?yōu)榭?,請確認(rèn)。"<<endl;</p><p>  char filename[20];</p><p>  cout<<"請輸入保存的文件名: "; </p&

54、gt;<p>  cin>>filename; </p><p>  ofstream fout(filename,ios::app); </p><p><b>  if(!fout)</b></p><p>  cout<<"文件不能打開!"<<endl; </p&

55、gt;<p><b>  else </b></p><p><b>  { </b></p><p>  struct STUDENT *p;</p><p><b>  p=headsa;</b></p><p>  fout << setw(0)

56、 <<"學(xué)號"<< setw(8) <<"姓名"<< setw(8)<<"性別"<<setw(8)<<"年齡"</p><p>  << setw(8) << "語文"<< setw(8) <

57、;<"英語"<< setw(8) </p><p>  <<"數(shù)學(xué)"<< setw(8) <<"物理"<<setw(8)<<"化學(xué)" </p><p>  <<setw(8)<<"生物"&l

58、t;<endl;</p><p><b>  do{</b></p><p>  fout << setw(0) << p->number << setw(8) << p->name << setw(8)<<p->sex<<setw(8)<<p-&g

59、t;age</p><p>  << setw(8) << p->chineseRecord << setw(8) << p->englishRecord << setw(8) </p><p>  << p->mathematicsRecord << setw(8) <<

60、p->physicalRecord <<setw(8)<<p->chemistryRecord </p><p>  <<setw(8)<<p->biologicalRecord<<endl;</p><p>  p=p->next;</p><p>  }while(p != NU

61、LL);</p><p><b>  }</b></p><p>  cout<<"保存成功!"<<endl;</p><p>  fout.close();</p><p>  cout<<"現(xiàn)在返回上一級。"<<endl;<

62、/p><p><b>  }</b></p><p>  void FindStudentAverage()</p><p><b>  {</b></p><p>  long num; </p><p>  struct STUDENT * p;</p><

63、;p>  char flag='y';</p><p><b>  do{</b></p><p>  cout<<" 輸入你要查找的學(xué)號: "; </p><p><b>  cin>>num;</b></p><p><b

64、>  p=head;</b></p><p>  while(p!=NULL){</p><p>  if(p->number==num){</p><p>  cout<<num<<"學(xué)號同學(xué)的平均分為:";</p><p>  p->average =(p->

65、chineseRecord +p->englishRecord +p->mathematicsRecord +p->physicalRecord +p->chemistryRecord +p->biologicalRecord )/6;</p><p>  cout<<p->average<<endl;</p><p><

66、b>  break;</b></p><p><b>  }</b></p><p><b>  else</b></p><p>  p=p->next;</p><p><b>  }</b></p><p>  if(p==

67、NULL)</p><p>  cout<<"沒有該學(xué)號同學(xué)的信息,請確認(rèn)。"<<endl; </p><p>  cout<<" 要繼續(xù)查找嗎(y/n)";</p><p>  cin>>flag;</p><p>  while(flag != &#

68、39;y' && flag != 'n'){</p><p>  cout<<"輸入錯(cuò)誤,請輸入(y/n)"<<endl;</p><p>  cin>>flag;</p><p><b>  }</b></p><p>  

69、if(flag=='n')</p><p><b>  break;</b></p><p>  }while(flag=='y');</p><p>  cout<<"現(xiàn)在返回上一級。"<<endl;</p><p><b>  }&

70、lt;/b></p><p>  void FindClassAverage()</p><p><b>  {</b></p><p>  struct STUDENT * p;</p><p>  char flag='y';</p><p><b>  cha

71、r it;</b></p><p><b>  do{</b></p><p>  double sum=0;</p><p>  double average=0;</p><p><b>  p=head;</b></p><p>  cout<<

72、"請輸入要查找科目所對應(yīng)的序號:"<<endl;</p><p>  cout<<"1--語文"<<setw(12)<<"2--英語"<<setw(12)<<"3--數(shù)學(xué)"<<setw(12)<<"4--物理"<&

73、lt;setw(12)<<"5--化學(xué)"<<setw(12)<<"6--生物"<<endl;</p><p><b>  cin>>it;</b></p><p><b>  cout<<it;</b></p><p

74、><b>  int n=0;</b></p><p>  switch(it) {</p><p><b>  case '1':</b></p><p>  while (p!=NULL){</p><p>  sum=sum+p->chineseRecord;<

75、;/p><p><b>  n++;</b></p><p>  p=p->next;</p><p><b>  }</b></p><p>  average = sum/n;</p><p>  cout << "語文平均成績:"

76、<< average << endl;</p><p><b>  break;</b></p><p><b>  case '2':</b></p><p>  while (p!=NULL){</p><p>  sum=sum+p->englis

77、hRecord;</p><p><b>  n++;</b></p><p>  p=p->next;</p><p><b>  } </b></p><p>  average = sum/n;</p><p>  cout << "英語

78、平均成績:" << average << endl;</p><p><b>  break;</b></p><p><b>  case '3':</b></p><p>  while (p!=NULL){</p><p>  sum=sum+

79、p->mathematicsRecord;</p><p><b>  n++;</b></p><p>  p=p->next;</p><p><b>  }</b></p><p>  average = sum/n;</p><p>  cout &l

80、t;< "數(shù)學(xué)平均成績:" << average << endl;</p><p><b>  break;</b></p><p><b>  case '4':</b></p><p>  while (p!=NULL){</p><

81、p>  sum=sum+p->physicalRecord;</p><p><b>  n++;</b></p><p>  p=p->next;</p><p><b>  }</b></p><p>  average = sum/n;</p><p&

82、gt;  cout << "物理平均成績:" << average << endl;</p><p><b>  break;</b></p><p><b>  case '5':</b></p><p>  while (p!=NULL){<

83、/p><p>  sum=sum+p->chemistryRecord;</p><p><b>  n++;</b></p><p>  p=p->next;</p><p><b>  }</b></p><p>  average = sum/n;</

84、p><p>  cout << "化學(xué)平均成績:" << average << endl;</p><p><b>  break;</b></p><p><b>  case '6':</b></p><p>  while (

85、p!=NULL){</p><p>  sum=sum+p->biologicalRecord;</p><p><b>  n++;</b></p><p>  p=p->next;</p><p><b>  }</b></p><p>  average

86、= sum/n;</p><p>  cout << "生物平均成績:" << average << endl;</p><p>  default:</p><p>  cout<<"選擇錯(cuò)誤,請選擇1 - 6 號"<<endl;</p><

87、;p><b>  }</b></p><p>  cout<<" 要繼續(xù)查找嗎(y/n)";</p><p>  cin>>flag;</p><p>  while(flag != 'y' && flag != 'n'){</p>

88、<p>  cout<<"輸入錯(cuò)誤,請輸入(y/n)"<<endl;</p><p>  cin>>flag;</p><p><b>  }</b></p><p>  if(flag=='n')</p><p><b>  b

89、reak;</b></p><p>  }while(flag=='y');</p><p>  cout<<"現(xiàn)在返回上一級。"<<endl;</p><p><b>  }</b></p><p>  void AboutMe()</p

90、><p><b>  {</b></p><p>  cout<<"***************************************************"<<endl;</p><p>  cout<<"** 感謝使用本程序

91、 **"<<endl;</p><p>  cout<<"** 陜西科技大學(xué) **"<<endl;</p><p>  cout<<"** 理學(xué)院信息專業(yè)102班 *

92、*"<<endl;</p><p>  cout<<"** 感謝幫助調(diào)試本程序的人 **"<<endl;</p><p>  cout<<"** 現(xiàn)在返回上一級 **"<<e

93、ndl;</p><p>  cout<<"***************************************************"<<endl;</p><p><b>  }</b></p><p>  void main(){</p><p><b&

94、gt;  int q=1;</b></p><p><b>  char k;</b></p><p><b>  while (q)</b></p><p><b>  {</b></p><p>  system("cls");</p&

95、gt;<p>  cout << "----------------------------------\n";</p><p>  cout << " 學(xué)生成績管理 \n";</p><p>  cout << "------------------

96、----------------\n";</p><p>  cout << " 1 學(xué)生信息載入 \n";</p><p>  cout << " 2 學(xué)生信息創(chuàng)建 \n";</p><p>  cout <&l

97、t; " 3 學(xué)生信息查詢 \n";</p><p>  cout << " 4 學(xué)生信息修改 \n";</p><p>  cout << " 5 學(xué)生信息統(tǒng)計(jì) \n";</p>&l

98、t;p>  cout << " 6 學(xué)生信息顯示 \n";</p><p>  cout << " 7 學(xué)生信息保存 \n";</p><p>  cout << " 8 鳴謝

99、 \n";</p><p>  cout << " 0 退出程序 \n";</p><p>  cout << "----------------------------------\n";</p><p>  cout << "

100、;\n";</p><p>  cout << "\n 請輸入選擇的功能序號: \n";</p><p><b>  cin>> k;</b></p><p>  while(k !='1' && k!='2' && k!=&#

101、39;3' && k!='4'&& k!='5'&& k!='6'&& k!='7' && k!='8' && k!='0'){</p><p>  cout<<"輸入錯(cuò)誤,請重新輸入"

102、;<<endl;</p><p><b>  cin>>k;</b></p><p><b>  }</b></p><p><b>  char x;</b></p><p>  if(k=='0'){</p><p

103、>  cout<<"退出前請確定沒有忘記保存數(shù)據(jù)。"<<endl;</p><p>  cout<<"確定退出 按y ,取消退出按n"<<endl;</p><p><b>  cin>>x;</b></p><p>  while(x !

104、='y' && x !='n' ){</p><p>  cout<<"輸入錯(cuò)誤,請重新輸入"<<endl;</p><p><b>  cin>>x;</b></p><p><b>  }</b></p>

105、;<p><b>  }</b></p><p>  if(x=='n')</p><p><b>  continue;</b></p><p><b>  switch(k)</b></p><p><b>  {</b>

106、</p><p><b>  case '1':</b></p><p>  system("cls");</p><p>  LoadData();</p><p><b>  Show();</b></p><p>  getchar(

107、);</p><p><b>  break;</b></p><p><b>  case '2':</b></p><p>  system("cls");</p><p><b>  Input();</b></p>&l

108、t;p>  getchar();</p><p><b>  break;</b></p><p><b>  case '3':</b></p><p><b>  while(q){</b></p><p>  system("cls&qu

109、ot;);</p><p>  cout << "----------------------------------\n";</p><p>  cout << " 1 按姓名查找 \n";</p><p>  cout << "

110、 2 按學(xué)號查找 \n";</p><p>  cout << " 3 按課程查找 \n";</p><p>  cout << " 0 返回上一級 \n";</p><p>  co

111、ut << "----------------------------------\n";</p><p>  cout << "\n 請輸入選擇的功能序號: \n";</p><p><b>  cin>>k;</b></p><p>  while(k!='

112、1' && k!='2' && k!='3'&& k!='0'){</p><p>  cout<<"輸入錯(cuò)誤,請重新輸入"<<endl;</p><p><b>  cin>>k;</b></p>

113、<p><b>  }</b></p><p>  switch(k){</p><p><b>  case '1':</b></p><p>  FindName();</p><p>  getchar();</p><p><b&g

114、t;  break;</b></p><p><b>  case '2':</b></p><p>  FindNumber();</p><p>  getchar();</p><p><b>  break;</b></p><p><

115、;b>  case '3':</b></p><p>  FindClass(); </p><p>  getchar();</p><p><b>  break;</b></p><p><b>  case '0':</b></p>

116、;<p><b>  q=0;</b></p><p><b>  break;</b></p><p><b>  }</b></p><p><b>  }</b></p><p><b>  q=1;</b><

117、;/p><p><b>  break;</b></p><p><b>  case '4':</b></p><p><b>  while(q){</b></p><p>  system("cls");</p><p&

118、gt;  cout << "------------------------------------\n";</p><p>  cout << " 1 添加學(xué)生信息 \n";</p><p>  cout << " 2 修改學(xué)生信息

119、 \n";</p><p>  cout << " 3 刪除學(xué)生信息 \n";</p><p>  cout << " 4 顯示學(xué)生信息 \n";</p><p>  cout << "

120、; 0 返回上一級 \n";</p><p>  cout << "------------------------------------\n";</p><p>  cout << "\n 請輸入選擇的功能序號: \n";</p><p><

121、;b>  cin>>k;</b></p><p>  while(k!='1' && k!='2' && k!='3' && k!='4'&&k!='0'){</p><p>  cout<<"輸

122、入錯(cuò)誤,請重新輸入"<<endl;</p><p><b>  cin>>k;</b></p><p><b>  }</b></p><p>  switch(k){</p><p><b>  case '1':</b>&l

123、t;/p><p><b>  Add();</b></p><p>  getchar();</p><p><b>  break;</b></p><p><b>  case '2':</b></p><p><b>  Mo

124、dify();</b></p><p>  getchar();</p><p><b>  break;</b></p><p><b>  case '3':</b></p><p><b>  Del();</b></p><

125、;p>  getchar();</p><p><b>  break;</b></p><p><b>  case '4':</b></p><p><b>  Show();</b></p><p>  getchar();</p>&

126、lt;p><b>  break;</b></p><p><b>  case '0':</b></p><p><b>  q=0;</b></p><p><b>  break;</b></p><p><b>  

127、}</b></p><p><b>  }</b></p><p><b>  q=1;</b></p><p><b>  break;</b></p><p><b>  case '5':</b></p>&

128、lt;p><b>  while(q){</b></p><p>  system("cls");</p><p>  cout << "------------------------------------\n";</p><p>  cout << "

129、 1 查找學(xué)生平均成績 \n";</p><p>  cout << " 2 查找單科平均成績 \n";</p><p>  cout << " 3 排序?qū)W生信息 \n";</p><p>  co

130、ut << " 0 返回上一級 \n";</p><p>  cout << "------------------------------------\n";</p><p>  cout << "\n 請輸入選擇的功能序號: \n";</p&

131、gt;<p><b>  cin>>k;</b></p><p>  while(k!='1' && k!='2' && k!='3' && k!='0'){</p><p>  cout<<"輸入錯(cuò)誤,請重新

132、輸入"<<endl;</p><p><b>  cin>>k;</b></p><p><b>  }</b></p><p>  switch(k){</p><p><b>  case '1':</b></p>

133、;<p>  FindStudentAverage();</p><p>  getchar();</p><p><b>  break;</b></p><p><b>  case '2':</b></p><p>  FindClassAverage();<

134、;/p><p>  getchar();</p><p><b>  break;</b></p><p><b>  case '3':</b></p><p><b>  Sort();</b></p><p>  getchar();&

135、lt;/p><p><b>  break;</b></p><p><b>  case '0':</b></p><p><b>  q=0;</b></p><p><b>  break;</b></p><p>

136、;<b>  }</b></p><p><b>  }</b></p><p><b>  q=1;</b></p><p><b>  break;</b></p><p><b>  case '6':</b>&

137、lt;/p><p>  system("cls");</p><p><b>  Show();</b></p><p>  getchar();</p><p><b>  break;</b></p><p><b>  case '7&

138、#39;:</b></p><p>  system("cls");</p><p>  SaveData();</p><p>  getchar();</p><p><b>  break;</b></p><p><b>  case '8

139、':</b></p><p>  system("cls");</p><p>  AboutMe();</p><p>  getchar();</p><p><b>  break;</b></p><p><b>  case '0

140、':</b></p><p><b>  q=0;</b></p><p><b>  break;</b></p><p><b>  }</b></p><p><b>  }</b></p><p>

141、<b>  }</b></p><p>  附錄1.2 學(xué)生信息管理模塊源程序</p><p>  #include "iostream.h"</p><p>  #include "string.h"</p><p>  #include "malloc.h"

142、</p><p>  #include "stdlib.h"</p><p>  #include "fstream.h"</p><p>  #include "stdio.h"</p><p>  #include "iomanip.h" </p>

143、;<p>  #include "conio.h"</p><p>  #define NULL 0</p><p>  #define LEN sizeof(struct STUDENT)</p><p>  struct STUDENT</p><p><b>  {</b><

144、/p><p>  long number;</p><p>  char name[20];</p><p>  char sex[10];</p><p><b>  int age;</b></p><p>  int chineseRecord;</p><p>  in

145、t mathematicsRecord;</p><p>  int englishRecord;</p><p>  int physicalRecord;</p><p>  int chemistryRecord;</p><p>  int biologicalRecord;</p><p>  double

146、average;</p><p>  struct STUDENT *next;</p><p><b>  };</b></p><p>  struct STUDENT * head=NULL;</p><p>  void LoadData();</p><p>  void SaveDat

147、a();</p><p>  void Add();</p><p>  void Input();</p><p>  void Show();</p><p>  void FindName();</p><p>  void FindNumber();</p><p>  void Fin

148、dClass();</p><p>  void Modify();</p><p>  void Del();</p><p>  void Sort();</p><p>  void FindStudentAverage();</p><p>  void FindClassAverage();</p>

149、;<p>  void AboutMe();</p><p>  void LoadData()</p><p><b>  {</b></p><p>  char filename[20]; </p><p>  cout<<"請輸入文件編號: "; </p>

150、<p>  cin>>filename; </p><p>  ifstream fin(filename,ios::in); </p><p><b>  if(!fin)</b></p><p>  cout<<"文件打不開 !"<<endl; </p>&

151、lt;p><b>  else { </b></p><p>  struct STUDENT *p1,*p2;</p><p>  p1=p2=(struct STUDENT *)malloc(LEN);</p><p>  fin>>p1->number>>p1->name>>p1-&g

溫馨提示

  • 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. 眾賞文庫僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論