《《C++面向對象程序設計》課程設計_任務書》由會員分享,可在線閱讀,更多相關《《C++面向對象程序設計》課程設計_任務書(5頁珍藏版)》請在裝配圖網(wǎng)上搜索。
1、C++ 面向對象程序設計》課程設計任務書
學年學期: 2013-2014 學年第三學期
專業(yè)班級: 13 計算機物聯(lián)網(wǎng)工程 指導教師:陳培芝
設計時間: 2014/06/08 ~ 2014/07/04 學時周數(shù):共 2.0 周.
一、設計目的
課程設計是學習 C++程序設計的一個重要環(huán)節(jié)。通過課程設計的綜合訓練,可以使學生 在學習理論知識并在實驗中進行了一系列基本訓練的基礎上, 進一步加強學生對實際問題分 析、編程和動手能力的提高,強化綜合應用能力,擴充知識,開闊視野。學生在熟練運用 Visual C++ 6.0 以后,通過使用 Visual C++ 6.0 的訓練,擴展程序設計的知
2、識面,提高綜 合應用C++知識能力的要求。
二、設計任務及要求 任務一:學校人員信息管理系統(tǒng) 設計任務:設計一個學校人員信息管理系統(tǒng),可以實現(xiàn)對學校人事的信息管理。 基本功能要求:
(1)建立人員信息數(shù)據(jù)
包括學號(教工號) 、姓名、性別、專業(yè)(工作系別部門) 、出生時間、年齡。其中, <1> 對學生,還包括 3門課的成績 (Chinese, English, Mathematics) 。三門課的
成績?yōu)?int 型數(shù)據(jù)。
<2> 對教師,還包括職稱(如教授 / 副教授 /講師),工資(如 1432.50 )。工資為 double 型數(shù)據(jù)。
【英語命名提示】 :
姓名: name
3、; 性別: sex; 專業(yè): major; 工作系別: department
教授: professor; 副教授: Associate Professor; 講師: Lecturer
工資: salary
(2)使用繼承的方法構造 3 個類,對相應的對象放置 10 個學生(教師) 信息。
? People 類——虛基類
Student 類——派生類
? Teacher 類——派生類
3)數(shù)據(jù)基本功能:
? 增加數(shù)據(jù):
AddData() 函數(shù)。
? 刪除數(shù)據(jù):
DeleteData() 函數(shù)。根據(jù)學號(教工號) ,刪除該人員的記錄。
? 修改數(shù)據(jù) : UpdateDa
4、ta() 函數(shù)。對學生,根據(jù)學號,能夠修改 3 門課的成績; 對教師,根據(jù)教工號,能夠修改“職稱”和“工資” 。
? 查找功能:
1)SearchData() 函數(shù)。要求能夠根據(jù)“學號(教工號) ”、“姓名”、“性別”三 項實現(xiàn)查詢,并能在屏幕上顯示滿足條件的數(shù)據(jù)記錄。
2) FindMaxData() 函數(shù)。對學生,查找“ English ”課程成績最高的學生記錄 并打印;對教師, 查找“工資”最高的教師記錄并打印。 要求:采用函數(shù)模板實現(xiàn)。
? 顯示功能: DisplayData() 函數(shù)。在屏幕上打印所有的數(shù)據(jù)記錄;打印時,先 打印學生的記錄, 后打印教師的記錄。 并且按學生(教
5、工號) 升序打?。ㄟx擇)。
(4)重載功能:
? 要求對“VV”和“>>”運算符進行重載??紤]到輸人學生(教工)姓名時, 名字中可能引入空格,所以重載“>>”運算符時,需要滿足這個要求。
(5)異常處理功能:
? 設置異常處理,對教師工資為負數(shù)的情況給出提示。
( 6)文件的輸入輸出功能(選擇) :
? 能夠從文件中讀入數(shù)據(jù)。外部文件為 Student_ext.dat, Teacher_ext.dat 。
? 能夠將數(shù)據(jù)保存到相應目錄的文件中。保存數(shù)據(jù)時,分兩個文件分別保存 Student.dat, Teacher.dat 。
( 7)參考系統(tǒng)界面如示:
參考系統(tǒng)界面如下:
6、
1- 增加一位人員(教師、學生)記錄
2- 刪除一個人員記錄
3- 修改一個人員記錄
4- 根據(jù)“學號(教工號) ”、“姓名”、“性別”查找記錄
5- 根據(jù)人員類別(學生、教師)查找“ English ”課程成績最高的學生,或最
高工資的教師
6- 顯示全部人員記錄
7- 從外部文件追加數(shù)據(jù)
8- 將所有數(shù)據(jù)保存到磁盤文件
9- 退出系統(tǒng)。
如下例題所示:
* * 二 **★
A事 囲理唸
A$
HI/-:- ☆A* *life*l
12 2 4 5 6 7
*字★ Wa-.LT 7 卜 :<" ;7ri先冷
☆*擊
自■
*
☆
*
IAfc★f
7、e★fc*fe★☆*責*
★
☆
★
*
*
☆
★
A
任務二:運算符的重載
(1) 編寫程序,用于進行集合的并、差和交運算。例如輸入整數(shù)集合 {9 5 4 3 6 7}和{2 4 6
9},計算出它們進行集合的并、差和交運算后的結果。
用以下表達式實現(xiàn)整數(shù)集合的運算:
S1+S2兩個整數(shù)集合的并運算
S1-S2兩個整數(shù)集合的差運算
s1*s2兩個整數(shù)集合的交運算
(2) 1、下面給出的程序是用于打印九九乘法表,但程序有錯誤,請調試,使得程序運行 后,能夠輸出如下顯示的九九乘法表
#in clude using n
8、 amespace std; int mai n()
int i,j;
cout<<"*"; for(i=1;i<=9;i++) cout<
9、信息管理系統(tǒng)》的設計,或者經(jīng)過指導老師冋意后, 自選課程設計題。
6月24日
一?學生自主設計,老師輔導。
二?檢查學生的程序框架、類的主要框架描述完成情況。 三?完成“數(shù)據(jù)基本功能”,老師檢查完成情況; 四?完成“系統(tǒng)界面”設計,老師檢查完成情況;
6月30日
一?學生自主設計,老師輔導,并進行抽查。
二?完成“重載功能”,老師檢查完成情況; 三?完成“異常處理功能”,老師檢查完成情況; 四?整個系統(tǒng)的功能代碼完成,老師進行抽查。
7月4日
一. 撰寫測試用例,對系統(tǒng)功能、性能進行測試;
二. 老師抽查,對學生提交系統(tǒng)的代碼可讀性、可維護性進行講解并分析; 三?再次強調課程
10、設計報告本要求,設計報告格式要求。
四?要求學生按要求提交電子資料、課程設計報告紙制版。
四、成績考核
與任課教師針對課程設計的具體問題,進行提問與論述,然后打分
五、報告書寫格式
參考:《C++面向對象程序設計》課程設計報告
六、參考資料
[1] C++ 面向對象程序設計教程(第 3 版),陳維興,林小茶,清華大學出版社, 2009。
[2] 《C++程序設計》(第2版),吳乃陵,況迎輝,高等教育出版社, 2006。
[3] 《C++程序設計實踐教程》(第2版),吳乃陵,況迎輝,高等教育出版社, 2006。
[4] 《C++面向對象程序設計教程(第 3版)習題解答與上機指導》,清華大學出版社,陳維 興,陳昕,林小茶, 2009。
指導教師(簽名):
年 月 日