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