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