c++課程設計任務書152181-3 - 下載本文

《面向對象程序設計課程設計》任務書

一、課程設計的目的與要求

1、教學目的

綜合運用所學過的知識進行實際程序設計。 2、教學要求

從課程設計的目的出發,用C++編寫簡單的的程序,程序要求如下: (1)算法正確,容錯性能好;

(2)完成從用戶需求分析、到上機編程、調試和應用等全過程。

二、課程設計的題目、內容及要求 Part 1: 小程序練習(必須全部完成)

1 函數重載

定義重載函數max3用于計算三個數的最大值(參數類型分別為int和double)。 2 類的組合 定義point類,數據成員包括x,y,成員函數包括構造函數,拷貝構造函數和析構函數,以及setx,getx,sety,gety四個屬性函數。定義line類,端點由兩個point類的對象組成,包括構造函數,析構函數以及計算線段長度的函數getlength。在main函數中,定義line的對象,并輸出其長度。 3 對象數組和函數

定義student類,數據成員包括姓名name和成績score,成員函數包括構造函數,拷貝構造函數和析構函數。定義函數void highestscore(student s[]),輸出分數最高的學生姓名和分數。在main函數中定義student s[N],調用highestscore函數,輸出分數最高的學生姓名和分數。 4 靜態數據成員

設計一個書類,能夠保存書名、定價,所有書的本數和總價。(將書名和定價設計為普通數據成員;將書的本數和總價設計為靜態數據成員) 5 動態內存分配 定義point類,數據成員包括x,y,成員函數包括構造函數,拷貝構造函數和析構函數,以及setx,getx,sety,gety四個屬性函數。在main函數中,用new和delete分配和釋放N個point的數組。(N是const常量,N=10) 6 類的繼承

定義一個point類,包含私有數據成員x,y,成員函數包括無參構造函數,帶參構造函數,set和get屬性函數。定義circle類,從point類公有派生,增加數據成員半徑r,成員函數包括無參構造函數,帶參構造函數,計算面積函數getarea。在main函數中定義一個circle的對象,并計算其面積。 7 虛基類

定義vehicle類,數據成員包括私有的weight,公有的構造函數,析構函數和輸出函數dispaly;從vehicle類公有派生car類,增加數據成員載人數personnum,公有的構造函數,析構函數和輸出display;從vehicle類公有派生truck類,增加數據成員載貨量laod,公有的構造函數,析構函數和輸出函數display;從car類和truck類共同公有派生出pickup類,包括公有的構造函數和輸出函數。在main函數中,定義pickup類對象,并輸出其基本信息。 8 運算符重載,友元函數和this指針

定義一個計數器類counter,具備自增,自減功能(前后綴);輸入輸出>>,<<功能。在main函數里測試該類。

9 虛函數和抽象類

定義一個抽象類shape,包括公有的計算面積area函數,計算體積volume函數,輸出基本信息函數printinfo(三個函數均為純虛函數)。從shape公有派生point類,增加私有數據成員x,y坐標,以及構造函數,析構函數。從point公有派生circle類,增加私有數據成員半徑r,以及構造函數,析構函數。從circle公有派生cylinder類,增加私有數據成員高度h,以及構造函數,析構函數。(在定義三個派生類的過程中,自己考慮需要重定義哪個虛函數)。在main函數中,定義shape類的指針,指向派

1

生類的對象,輸出三類對象的基本信息,面積,體積;(將shape指針改為引用再嘗試)。 10 模板

設計一個堆棧的類模板Stack,在模板中用類型參數T表示棧中存放的數據,用非類型參數MAXSIZE代表棧的大小。 11 文件讀寫

定義學生類數組,有N個人(N=5),包括姓名和語數外三名課的成績,通過重載<<和>>運算符實現學生數組的文件讀寫。(姓名用string name;)

Part 2: 小型軟件的開發(選做一題,且由個人獨立開發完成)

1通信錄的設計

基本要求:

定義人員(person)類,其中至少包括姓名、性別、電話、地址、郵政編碼、郵箱、QQ號和類別(例如:同學、朋友等)。

功能要求:

1、設計菜單實現功能選擇;

2、輸入功能:輸入人員信息,并保存到文件中; 3、查詢功能:

1)能夠根據姓名、電話精確查詢人員信息; 2)能夠根據地址進行模糊查詢人員信息;

3)根據人員類別查詢人員信息 4、根據姓名對人員信息排序輸出 5、能根據姓名、電話修改人員信息 6、能根據姓名、電話刪除人員信息 2職工工資管理

基本要求:

定義職工(employee )類,其中至少包括姓名、性別、工號、電話、所在科室和工資。 功能要求:

1、設計菜單實現功能選擇;

2、輸入功能:輸入職工信息,并保存到文件中; 3、查詢功能:

1)能夠根據工號精確查詢職工信息; 2)能夠根據姓名、科室查詢職工信息

3)分科室進行工資統計,計算各科室的平均工資 4、根據職工的工資排序輸出 5、根據工號修改職工信息 6、根據工號刪除職工信息 3公司員工管理系統

基本要求:

設計一個虛基類Staff(員工),包括編號、姓名和年齡保護數據成員以及相關的成員函數;由Staff派生出工程師類Engineer包含專業和職稱保護數據成員以及相關的成員函數,再由Staff派生出領導類Leader,包括職務和部門保護數據成員以及相關的成員函數;然后由Engineer和Leader類派生出主任工程師類Chairman。

2

功能要求:

1、增加員工數據信息 2、更新員工數據信息 3、查詢員工數據信息 4、刪除員工數據信息

5、良好的人際交互界面、方便操作 4三角形的種類與面積

基本要求:

定義點(point)類,包含點的坐標x和y;通過繼承點類派生出線段(line)類;通過線段(line)類的組合定義三角形(triangle )類。

功能要求:

1、設計菜單實現功能選擇; 2、輸入三角形的三個頂點坐標;

3、判斷三角形的種類(一般三角形、等腰三角形、等邊三角形、直角三角形和不能構成三角形);

4、計算并輸出三角形的面積 。 5字符串類的設計

基本要求:

定義點字符串(string)類,包含存放字符串的字符數組和字符串中字符的個數。 功能要求:

1、設計菜單實現功能選擇; 2、字符串的輸入與賦值; 3、字符串的運算,包括:

1)連接 2)復制 3)查找 4)交換 5)求子串 6)比較 4、字符串的輸出 6學生成績管理

基本要求:

定義學生(student)類,其中至少包括姓名、性別、學號、班級和四門功課的成績。 功能要求:

1、設計菜單實現功能選擇;

2、輸入功能:輸入學生信息,并保存到文件中; 3、計算每個學生的總分與平均分并排序 4、能根據學號修改學生信息 5、能根據學號刪除學生信息 6、查詢功能:

1)能夠根據學號查詢學生信息; 2)能夠根據姓名、班級查詢學生信息

3)統計學生成績,按照班級和科目計算平均分。

7幾何體的表面積與體積

基本要求:

3

定義一個抽象類形狀(shape),包含輸入基本圖形的信息函數input()、顯示基本圖形信息函數disp()、計算表面積的函數area()、計算體積的函數volume(),它們均為純虛函數。通過繼承形狀類派生出球體類、正方體類、長方體類、圓柱體類。

功能要求:

1、設計菜單實現功能選擇; 2、輸入各種形狀信息; 3、顯示各種形狀信息; 4、計算各種形狀的表面積; 5、計算各種形狀的體積; 8學生信息管理

基本要求:

定義學生(student)類,其中至少包括姓名、性別、學號、班級和聯系電話。 功能要求:

1、設計菜單實現功能選擇;

2、輸入功能:輸入學生信息,并保存到文件中; 3、能按照學生的學號排序 4、能根據學號修改學生信息 5、能根據學號刪除學生信息 6、查詢功能:

1)能夠根據學號查詢學生信息;

2)能夠根據姓名、學號、班級等查詢學生信息

3)按照班級統計學生人數。

9教職工信息管理

基本要求:

定義職工(employee )類,其中至少包括姓名、性別、工號、電話、所在系部和職稱。 功能要求:

1、設計菜單實現功能選擇;

2、輸入功能:輸入職工信息,并保存到文件中; 3、查詢功能:

1)能夠根據工號精確查詢職工信息; 2)能夠根據姓名、科室查詢職工信息

3)分系部進行職稱統計,計算各職稱的人數 4、根據職工的職稱排序輸出 5、根據工號修改職工信息 6、根據工號刪除職工信息 10復數計算器

基本要求:

定義復數(complex )類,其中至少包括實部和虛部,對復數類實現盡可能豐富的運算。 功能要求: 1)建立復數類 2)復數信息的初始化

4

3)復數信息的輸出 4)將復數信息保存為文件 5)求復數的絕對值

6)實現復數的加、減、乘、除、乘方、自加、自減等運算

三、源程序清單和執行結果:源程序清單中應有足夠的注釋。 四、課程設計完成時間:二周。 五、課程設計的成績評定

1、 程序設計結果(30%) 2、 課程設計報告(40%) 3、 平時表現 (30%)

附:課程設計實習報告的書寫格式

一、 設計題目

二、 運行環境(軟、硬件環境) 三、 算法設計的思想 四、 算法的流程圖 五、 算法設計分析 六、 源代碼

七、 運行結果分析 八、 收獲及體會

六、上機時間安排表

課程設計的時間及教師安排

專業 班級 上機時間 指導老師 16周:周二(1,2,3,4,5,6) 周五(3,4) 第16-18周 核工樓308 18周:周三(9,10,11,12) 魏振華 周四(1,2,3,4,9,10,11,12) 周五(1-12) 周次 機房安排 軟件工程 152181-3

5





天津时时彩开奖号码表 浙江11选5开奖技巧 青海11选5中奖查询 澳洲幸运10官方开奖网站 青鹏棋牌游戏大厅 什么软件可以玩极速快3 赚钱游戏日赚一万qq群 黑龙江11选5遗漏号 双色球合买软件推荐 财经新闻股票行情查询上证指数大北农走势 波克城市官方正版下载 4码买组三 陕西11选5任5最大遗漏 手机赚钱平台电脑版 辽宁十一选五走势图基本走势图 vv直播赚钱 极速快3是真的假的