C課程方案設計書(學生管理系統(tǒng))_第1頁
C課程方案設計書(學生管理系統(tǒng))_第2頁
免費預覽已結束,剩余14頁可下載查看

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

1、封面作者:PanHongliang僅供個人學習課程設計目的 熟悉程序設計的基本流程,掌握程序設計基本方法,基本技巧、并能綜合運 用,提高程序設計能力。通過實踐,熟悉掌握C+語言中面向過程部分的內容,能夠運用C+語言解決一個實際問題。設計環(huán)境及語言VC集成開發(fā)環(huán)境(IDE)Microsoft visual C+ 6.0語言。課題設計步驟1.需求分析從軟件使用者處獲得用戶需求,確定課題開發(fā)應具備的功能;2.系統(tǒng)結構設計 將整個系統(tǒng)功能分塊,考慮各個功能模塊應具備的功能,模 塊間的聯(lián)系,劃分不同的子系統(tǒng)進行設計;3.數據設計設計系統(tǒng)中新的數據類型、存儲類型;4.代碼設計 在以上階段的基礎上編寫代碼;

2、5.軟件測試使用實現(xiàn)設計好的測試用例、測試次數對編制的程序進行測試,發(fā)現(xiàn)存在錯誤(包括潛在的問題),加以修改,完善。課程設計內容:1學生個人信息管理系統(tǒng)。 本課程設計通過建立、修改、查詢、顯示、排序等顯示學生個人信息等功能, 具體的技術有:(1)結構、枚舉類型的定義與使用;(2)數組的定義使用;(3)程序的三種基本控制流程的綜合、靈活運用;(4)普通指針和數組指針的定義和使用;(5)各類函數的定義和調用;(6)文件的輸入/輸出(7)程序的調試。2具備的功能有:(1)新增學生數據的添加:姓名,成績。(2)修改學生信息: 輸入姓名, 根據姓名, 修改該學生的三項學生信息數據并顯 示;(3)刪除一個

3、學生信息:輸入姓名,根據學生姓名刪除該生信息;(4)根據學生姓名查詢:輸入姓名,查找該學生并顯示學生個人信息;(5)顯示全部學生信息;(6)根據學生姓名首字母先后排序學生個人信息;3設計要求(1)在Visual C+控制臺應用程序方式下設計課題。(2)設計的程序完成該課程規(guī)定的功能。(3)程序具有一定的健壯性。4設計部分#include#include#includeclass stu /定義一個stu類char name20。double math,chinese,english,average,sum。public:stu()stu(char n20,double ma,double ch

4、in,double eng)strcpy(name,n)。math=ma。chinese=chin。english=eng。double getsum()sum=chinese+english+math。return sum。double getaver()average=getsum()/3。return average。friend void main()。void main()cout請選擇您需要的操作!endl。cout操作:endl。cout(0)數據錄入endl。cout(1)增加人員endl。cout(2)刪除人員endl。cout(3)修改數據endl。cout查詢:endl。

5、cout(4)按總成績查詢endl。cout(5)按姓名查詢endl。cout(6)輸出所有學生的數據endl。cout成績名詞endl。cout(7)按總分查詢排名endl。cout(8)按語文查詢排名endl。cout(9)按數學查詢排名endl。cout(y)按英語查詢排名endl。cout選擇相關操作請輸入相對的括號里的阿拉伯數字!char p。char w。p。if(p=0&p=10)flag2=1。elsecout指令錯誤!請重新輸入:endl。while(flag2=0)。doswitch(p)case 0:char c。char name20。double math,c

6、hinese,english。docout請輸入姓名name。cout請輸入數學成績:math。cout請輸入語文成績:chinese。cout請輸入外語成績:english。filej=new ofstream(d:document,ios:ate)。*filejvv姓名name數學成績math語文成績chinese外語 成績englishendl。j+。si=new stu(name, math, chinese, english)。i+。cout數據錄入成功,想繼續(xù)錄入嗎(y/n)c。flag2=0。doif(c!=y&c!=n)cout指令錯誤!請重新輸入!c。elseflag

7、2=1。while(flag2=0)。while(c=y)。break。case 4:double t。char c。doint flag1=0。cout請輸入你要查詢學生的總成績t。for(int q=0。qgetsum()=t)flag1=1。cout您要查詢的學生是:(*sq).nameendl。if(flag1=0)cout對不起!您要查詢的學生不存在!endl。cout您想繼續(xù)查詢嗎?(y/n)c。if(c!=y&c!=n)cout指令錯誤!請重新輸入!c。while(c=y)。break。case 5:char j=0。char c。doint flag=0

8、。cout請輸入你要查詢的學生姓名n。for(int j=0。ji。j+)if(strcmp(n,(*sj).name)=0)flag=1。cout您要查詢的學生是:(*sj).nameendl。cout(*sj).name的總成績成績是(*sj).getsum()endl績是:(*sj).getaver()endl。if(flag=0)cout對不起!您要查詢的學生不存在!endl。cout您想繼續(xù)查詢嗎?(y/n)c。if(c!=y&c!=n)cout指令錯誤!請重新輸入!c。while(c=y)。break。case 1:char name20。double math,chine

9、se,english。char c。docout請輸入您要增加的學生的姓名:name。cout請輸入數學成績:math。平均成cout請輸入語文成績:chinese。cout請輸入外語成績:english。filej=new ofstream(d:document,ios:ate)。*filej姓名name數學成績math語文成績chinese外語成績englishendl。j+。si=new stu(name, math, chinese, english)。i+。cout數據錄入成功,想繼續(xù)錄入嗎(y/n)c。if(c!=y&c!=n)cout指令錯誤!請重新輸入!c。while(

10、c=y)。break。case 2:char name20。bool flag3=0。char c。docout請輸入您要刪除的學生姓名:name。for(int h=0。hname)=0)flag3=1。i-。dosh=sh+1。h+。while(h=i)。if(flag3=0)cout您要求刪除的對象本來就不存在!請檢查輸入的正確性!cout要繼續(xù)刪除嗎?(y/n)c。if(c!=y&c!=n)cout指令錯誤!請重新輸入!c。while(c=y)。break。case 3:char name20。double mat,chin,eng。flag2=0。char c。docout請

11、輸入您要修改的學生的姓名:name。for(int h=0。hname)=0)flag2=1。cout請輸入新的數學成績:mat。cout請輸入新的語文成績:chin。cout請輸入新的外語成績:eng。sh-chinese=chin。sh-math=mat。sh-english=eng。cout數據修改成功!。if(flag2=0)cout您要修改的學生本來就不存在!請檢查重新輸入!cout想繼續(xù)修改嗎(y/n)c。endlif(c!=y&c!=n)cout指令錯誤!請重新輸入!c。while(c=y)。break。case 6:cout本系統(tǒng)所有學生數據如下:endl。if(i=0

12、)cout管理系統(tǒng)中沒有錄入數據或者數據已經被刪除!endl。for(int k=0。ki。k+)coutk+1 姓名: name語文: chinese數學: math外語: english總分: (*sk).getsum() 平均分:(*sk).getaver()endl。break。case 7:int t。stu b。cout本系統(tǒng)所以學生排名如下:endl。for(int x=0。xi-1。x+)t=x。for(int y=x+1。ygetsum()getsum()t=y。if(t!=x)b=*sx。*sx=*st。*st=b。if(i=0)cout管理系統(tǒng)中沒有錄入數據或者數據已經被

13、刪除!。for(int k=0。ki。k+)coutk+1 姓名: name語文: chinese數學: math外語: english總分: getsum()平均分: getaver()endl。break。case 8:int t。stu b。cout本系統(tǒng)所以學生語文排名如下:endl。for(int x=0。xi-1。x+)t=x。for(int y=x+1。ychinese)chinese)t=y。if(t!=x)b=*st。*st=*sx。*sx=b。if(i=0)cout管理系統(tǒng)中沒有錄入數據或者數據已經被刪除!。for(int k=0。ki。k+)coutk+1 姓名: nam

14、e語文: chinese數學: math外語: english總分: getsum()平均分: getaver()endl。break。case 9:int t。stu b。cout本系統(tǒng)所以學生數學排名如下:endl。for(int x=0。xi-1。x+)t=x。for(int y=x+1。ymath)math)t=y。if(t!=x)b=*st。*st=*sx。*sx=b。if(i=0)cout管理系統(tǒng)中沒有錄入數據或者數據已經被刪除!。for(int k=0。ki。k+)coutk+1 姓名: name語文: chinese數學: math外語: english總分: getsum()

15、 平均分:getaver()endl。break。case y:int t。stu b。cout本系統(tǒng)所以學生英語排名如下:endl。for(int x=0。xi-1。x+)t=x。for(int y=x+1。yenglish)english)t=y。if(t!=x)b=*st。*st=*sx。*sx=b。if(i=0)cout管理系統(tǒng)中沒有錄入數據或者數據已經被刪除!。for(int k=0。ki。k+)coutk+1 姓名: name 語文: chinese數學: math外語: english總分: getsum()平均分: getaver()endl。break。cout您想繼續(xù)進行其

16、他操作嗎?(y/n)w。if(w!=y&w!=n)cout指令錯誤!請重新輸入!endl。elseflag4=1。while(flag4=0)。if(w=y)cout請輸入操作代碼(0錄入/4按總分查詢/5按姓名查詢/1增加人員/2刪除人員/3修改數據/6顯示所有成員數據/7按總分排名/8按語文排名/9按 數學排名/y按英語排名)p。while(w=y)。for(int x=0。xi。x+)delete sx。coutdelete all members!endl。程序運行結果圖示:圖一 程序運行后的菜單顯示圖二“(1):增加學生”界面圖四“ (3) :刪除學生信息”界面圖三2):修改

17、學生信息”界面冬五“(4):查詢學生信息”界面圖六“5:顯示所有學生信息”界面圖七“(6):按總分排序”界面版權申明本文部分內容,包括文字、圖片、以及設計等在網上搜集整 理。版權為潘宏亮個人所有This article in eludes some parts, in cludi ng text,pictures, and desig n. Copyright is Pan Hon glia ngs pers onal ownership.用戶可將本文的內容或服務用于個人學習、研究或欣賞,以及 其他非商業(yè)性或非盈利性用途,但同時應遵守著作權法及其他相關 法律的規(guī)定,不得侵犯本網站及相關權利人的

18、合法權利。除此以 外,將本文任何內容或服務用于其他用途時,須征得本人及相關權 利人的書面許可,并支付報酬。Users may use the contents or services of thisarticle for pers onal study, research or appreciati on, and othernon-commercial or non-profit purposes, but at the same time, they shallabide by the provisions of copyright law and other releva nt laws, andshall not infringe upon the legitimate rights of this w

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論