面向?qū)ο蟪绦蛟O(shè)計(jì)語(yǔ)言實(shí)訓(xùn)計(jì)劃書.doc
《面向?qū)ο蟪绦蛟O(shè)計(jì)語(yǔ)言實(shí)訓(xùn)計(jì)劃書.doc》由會(huì)員分享,可在線閱讀,更多相關(guān)《面向?qū)ο蟪绦蛟O(shè)計(jì)語(yǔ)言實(shí)訓(xùn)計(jì)劃書.doc(19頁(yè)珍藏版)》請(qǐng)?jiān)谘b配圖網(wǎng)上搜索。
南昌理工學(xué)院 Nanchang Institute of Technology 課程實(shí)訓(xùn)計(jì)劃書 系 部: 計(jì)算機(jī)信息工程 適應(yīng)專業(yè): 計(jì)算機(jī)科學(xué)與技術(shù)、軟件工程、網(wǎng)絡(luò)工程 適應(yīng)班級(jí): 12級(jí)軟件工程1、2班、 實(shí)訓(xùn)課程: 面向?qū)ο蟪绦蛟O(shè)計(jì)語(yǔ)言 計(jì)劃制定人:宋慶忠 實(shí)訓(xùn)地點(diǎn): 實(shí)驗(yàn)樓306 實(shí)訓(xùn)日期: 2013年12月9日~2013年12月20日 計(jì)算機(jī)信息工程學(xué)院 2013年12月 目 錄 一、課程實(shí)訓(xùn)目的 1 二、基本要求 1 三、指導(dǎo)教師安排 1 四、課程實(shí)訓(xùn)環(huán)節(jié)安排 1 五、課程實(shí)訓(xùn)任務(wù) 2 (一)課程實(shí)訓(xùn)要求及內(nèi)容 2 (二)課程實(shí)訓(xùn)考核指標(biāo)及方法 2 (三)課程實(shí)訓(xùn)題目 3 題目一:計(jì)算幾何圖形 3 題目二 :學(xué)生的各門成績(jī)和專業(yè)成績(jī) 4 題目三:用虛函數(shù)求幾何面積 4 題目四:郵寄物品費(fèi)用 5 題目五:繼承下的幾何面積 6 題目六:雇員工資 6 題目七:日期時(shí)間,時(shí)鐘類的編制 ( 電子鐘程序 ) 題目八:日期類的編制 (萬(wàn)年歷程序) 題目九:設(shè)計(jì)一個(gè)點(diǎn)類Point,實(shí)現(xiàn)點(diǎn)對(duì)象之間的各種運(yùn)算 ( 平面直角座標(biāo)系中點(diǎn)的運(yùn)算) 題目十:設(shè)計(jì)一個(gè)復(fù)數(shù)類complex,實(shí)現(xiàn)點(diǎn)復(fù)數(shù)對(duì)象之間的加、減、乘運(yùn)算 ( 復(fù)數(shù)的運(yùn)算 ) 題目十一:虛基類的使用:(職工管理系統(tǒng)中的類的模型) 題目十二:模板的使用: ( 通用排序程序的實(shí)現(xiàn) ) 題目十三:設(shè)計(jì)字符串類 MyString:(基本類型擴(kuò)展—字符串類) 題目十四:抽象類與純虛函數(shù)的使用:( 各種圖形的周長(zhǎng)及面積計(jì)算程序?qū)崿F(xiàn) ) 題目十五:隊(duì)列的實(shí)現(xiàn):(隊(duì)列的實(shí)現(xiàn)) 題目十六:學(xué)生成績(jī)管理系統(tǒng): 題目十七: 銀行賬戶管理系統(tǒng)(單個(gè)賬戶的處理): 題目十八:通信錄(最大記錄1000條): 題目十九:人員信息管理系統(tǒng): 題目二十:鏈表類的實(shí)現(xiàn): 題目二十一:棧類的實(shí)現(xiàn)(計(jì)算器程序): 《面向?qū)ο蟪绦蛟O(shè)計(jì)語(yǔ)言》課程實(shí)訓(xùn)計(jì)劃書 一、課程實(shí)訓(xùn)目的 根據(jù)所學(xué)C++ “基類”、“派生類”、“虛基類”、“多態(tài)繼承”、“虛函數(shù)”等面向?qū)ο蟪绦蛟O(shè)計(jì)的相關(guān)知識(shí)和多重繼承關(guān)系、繼承權(quán)限、賦值兼容的定義與使用規(guī)則,進(jìn)行相應(yīng)的程序設(shè)計(jì)訓(xùn)練,在實(shí)訓(xùn)編題過(guò)程中要盡量把已學(xué)的C++知識(shí)應(yīng)用到編程的實(shí)際使用中去,熟悉、掌握這些知識(shí)在程序中的運(yùn)行、調(diào)用機(jī)理和實(shí)現(xiàn)方法。通過(guò)訓(xùn)練對(duì)如何進(jìn)行面向?qū)ο蟪绦蛟O(shè)計(jì)的方式方法有一個(gè)更深入的理解和認(rèn)識(shí),進(jìn)一步鞏固C++程序設(shè)計(jì)的基本知識(shí)和實(shí)現(xiàn)方法。 二、基本要求 要求學(xué)生認(rèn)真對(duì)待本次課程實(shí)訓(xùn),積極利用機(jī)房、網(wǎng)絡(luò)資源,熟練掌握程序設(shè)計(jì)的方法和C++語(yǔ)言基本技能進(jìn)行實(shí)訓(xùn)操作,具備一定的程序設(shè)計(jì)能力。在課程實(shí)訓(xùn)中聽從指導(dǎo)教師的安排,認(rèn)真完成老師布置的各項(xiàng)任務(wù),并以小組為單位,上交課程實(shí)訓(xùn)報(bào)告。 三、指導(dǎo)教師安排 指導(dǎo)教師:宋慶忠 四、課程實(shí)訓(xùn)環(huán)節(jié)安排 班級(jí) 時(shí)間 指導(dǎo)教師 12軟件工程1班 第15周 宋慶忠 12軟件工程2班 第16周 宋慶忠 五、課程實(shí)訓(xùn)任務(wù) (一)課程實(shí)訓(xùn)要求及內(nèi)容 設(shè)計(jì)要求: 1、可自己選定一題目,可以自由搭配,最多4人一組。 2、模塊化程序設(shè)計(jì)。 3、鋸齒型書寫格式。 4、本次實(shí)訓(xùn)各題都有可能不同程度地使用到虛基類、虛函數(shù)、純虛函數(shù)和抽象類等相關(guān)技術(shù)。 5、每一種計(jì)算和輸出都應(yīng)分成兩個(gè)不同的函數(shù)進(jìn)行處理(不能因簡(jiǎn)單而合成一個(gè)函數(shù))。 6、每個(gè)題目在設(shè)計(jì)類的同時(shí),都要設(shè)計(jì)相應(yīng)的成員變量、函數(shù)、構(gòu)造函數(shù)、析構(gòu)函數(shù)(如有必要)。 7、必須上機(jī)調(diào)試通過(guò)。 報(bào)告要求: 1、選題要求與目的 2、算法分析、流程圖模塊功能說(shuō)明(如函數(shù)功能、入口及出口參數(shù)說(shuō)明,函數(shù)調(diào)用關(guān)系描述等) 3、源程序清單要包括相應(yīng)的注釋 4、調(diào)試結(jié)果與調(diào)試數(shù)據(jù) 5、程序中遇到的問(wèn)題及解決方案 (二) 課程實(shí)訓(xùn)時(shí)間安排 1.分析設(shè)計(jì)準(zhǔn)備階段 周一:上午:分組,分析題目,查閱資料;地點(diǎn):教室、圖書館、機(jī)房。 下午:需求分析:對(duì)給定的問(wèn)題提出解決的辦法和思路。運(yùn)用抽象的方法設(shè)計(jì)類及實(shí)現(xiàn)算法。地點(diǎn):機(jī)房。 周二:設(shè)計(jì)題目:畫出主要模塊流程圖,用UML圖確定類之間的聯(lián)系,用自頂向下的方法創(chuàng)建主程序和子程序,控制對(duì)象間的相互作用,編制源程序,形成分析報(bào)告。(指導(dǎo)教師將在第一次上機(jī)調(diào)試時(shí)抽查分析報(bào)告) (UML類圖的描述參照有關(guān)資料,用類圖描述程序中類與類之間的關(guān)系,模塊圖以傳統(tǒng)流程圖或NS流程圖形式均可,這是課程實(shí)訓(xùn)報(bào)告書中主要內(nèi)容之一) 2.編程調(diào)試階段 周三:上機(jī)調(diào)試程序,不斷完善程序及分析報(bào)告。 課程實(shí)訓(xùn)中,每位同學(xué)一臺(tái)微機(jī)進(jìn)行上機(jī)調(diào)試。 學(xué)生自備存儲(chǔ)設(shè)備 :存儲(chǔ)調(diào)試程序,最終調(diào)試程序及結(jié)果要求打印出來(lái),附在課程實(shí)訓(xùn)報(bào)告書相應(yīng)位置處。 3.總結(jié)報(bào)告和書寫說(shuō)明書階段 周四:編寫課程實(shí)訓(xùn)報(bào)告(電子文檔) 課程實(shí)訓(xùn)報(bào)告書中:課程實(shí)訓(xùn)總結(jié)、參考文獻(xiàn),要獨(dú)立一頁(yè)。 4.課程實(shí)訓(xùn)報(bào)告完成階段 周五:以組為單位上交課程實(shí)訓(xùn)報(bào)告,指導(dǎo)教師對(duì)每組課程實(shí)訓(xùn)報(bào)告給出評(píng)語(yǔ)及成績(jī) (三)課程實(shí)訓(xùn)考核指標(biāo)及方法 考核方法 1、 根據(jù)平時(shí)上機(jī)考勤;注重平時(shí)上機(jī)成績(jī),教師要不定期檢查學(xué)生進(jìn)度,學(xué)生不得以自己有私人電腦為借口而不來(lái)上機(jī)。 2、 根據(jù)程序設(shè)計(jì)界面和運(yùn)行結(jié)果。 3、 根據(jù)《C++語(yǔ)言課程實(shí)訓(xùn)報(bào)告》描述和書寫情況。 4、 根據(jù)指導(dǎo)老師的指導(dǎo)情況和意見。 以上四項(xiàng)缺一不可,否則不能到得相應(yīng)學(xué)分。 考核指標(biāo): 優(yōu)秀:嚴(yán)格遵守上機(jī)規(guī)則,獨(dú)立完成作業(yè);程序模塊完整,功能齊全,界面新穎獨(dú)特;回答問(wèn)題流利,有見解;上機(jī)報(bào)告認(rèn)真、規(guī)范;程序代碼要完整。 良好:遵守上機(jī)規(guī)則,獨(dú)立完成作業(yè);程序模塊完整,功能齊全;回答問(wèn)題流利;上機(jī)報(bào)告認(rèn)真、規(guī)范;程序代碼要完整。 中等:遵守上機(jī)規(guī)則,獨(dú)立完成作業(yè);程序模塊完整,運(yùn)行結(jié)果正確;回答問(wèn)題流利;上機(jī)報(bào)告認(rèn)真、規(guī)范;程序代碼要完整。 及格:遵守上機(jī)規(guī)則,獨(dú)立完成作業(yè);程序結(jié)果正確;答辯通過(guò);上機(jī)報(bào)告認(rèn)真規(guī)范。 不及格:上機(jī)不認(rèn)真;程序未調(diào)試完成或結(jié)果不正確;答辯未通過(guò);上機(jī)報(bào)告不認(rèn)真。 (四)課程實(shí)訓(xùn)題目 利用學(xué)到的編程知識(shí)和編程技巧,通過(guò)布置具有一定難度的程序設(shè)計(jì)題目,讓學(xué)生自己到圖書館查閱資料或網(wǎng)上咨詢獨(dú)立完成程序的編寫,并能運(yùn)用學(xué)過(guò)的技巧獨(dú)立上機(jī)調(diào)試完成。 設(shè)計(jì)題目一: Shape Circle Diamond Square Cylinder 設(shè)計(jì)一個(gè)基類Shape,派生出正方形Squar類,菱形Diamond類和圓形Circle類,再?gòu)膱A形派生出圓柱體Cylinder類。使用相關(guān)編程方法求出各幾何圖形的周長(zhǎng)、面積、體積。 題目二 : 設(shè)置一個(gè)學(xué)生成績(jī)的基類Scor,該類中有學(xué)生的學(xué)號(hào)num、姓名nam和基礎(chǔ)課數(shù)學(xué)math、語(yǔ)文chin成績(jī),并可算出基礎(chǔ)課的最高成績(jī)max_sco。 設(shè)置一個(gè)計(jì)算機(jī)專業(yè)的派生類Comp,該類中有學(xué)生專業(yè)課的程序設(shè)計(jì)prog、數(shù)據(jù)庫(kù)data成績(jī);設(shè)置一個(gè)建筑專業(yè)的派生類Buil,該類中有學(xué)生專業(yè)課的建筑設(shè)計(jì)desi、材料學(xué)mater成績(jī);上述兩個(gè)專業(yè)派生類都可算出各門專業(yè)課的成績(jī)排序。 設(shè)置一個(gè)教務(wù)派生類Acad,該類中有不少于5人計(jì)算機(jī)專業(yè)學(xué)生的成績(jī)和不少于5人建筑專業(yè)學(xué)生的成績(jī)。 Scor Comp Buil Acad 設(shè)置一個(gè)專門計(jì)算成績(jī)的類 要求:輸出每個(gè)學(xué)生的各門成績(jī),輸出兩個(gè)專業(yè)基礎(chǔ)課的最高成績(jī), 輸出兩個(gè)專業(yè)各門專業(yè)課的平均成績(jī)。 (提示:可用虛基類、友元成員函數(shù)) 題目三: Shape TwoShape ThreeShape Circle Rectangle Ball RecVolume 設(shè)計(jì)一個(gè)抽象圖形類Shape(基類),提供兩個(gè)純虛函數(shù); 由Shape類派生出TwoShape二維圖形類,增加了兩個(gè)數(shù)據(jù)成員(二維圖形設(shè)有體積); 再由Shape類派生出ThreeShape三維圖形類,增加了三個(gè)數(shù)據(jù)成員; TwoShape類派生出Circle圓類和Rectangle矩形類; ThreeShape類派生出Ball球類和RecVolume長(zhǎng)方體類。 分別求出以上個(gè)圖形的面積(或體積)。 題目四: Post Book Jour Auth Cul_pro 1、設(shè)置一個(gè)郵局的基類Post,該類中有計(jì)算所寄印刷品prin的份數(shù)numb和計(jì)算所寄印刷品的郵寄費(fèi)cost。 2、設(shè)置一個(gè)書籍派生類Book,該類中有書名titl和出版社press, 該類通過(guò)郵局寄出書籍2本,輸出郵寄費(fèi)cost; 同時(shí)再設(shè)置一個(gè)作者派生類Auth,該類中有姓名name和書號(hào)isbn,該類作為書籍派生類輔助類。 3、設(shè)置一個(gè)期刊派生類Jour,該類中有期刊名稱jou_na和期刊月份jou_mon, 該類通過(guò)郵局寄出期刊3本,輸出輸出郵寄費(fèi)cost。 4、設(shè)置一個(gè)文化品派生類Cul_pro,該類中要郵寄3本書和2本期刊, 在郵寄時(shí)要有寄出單位sen_un。 要求:輸出每本書的作者名、書名、書號(hào)和出版社信息,輸出每份期刊的名稱和期刊月份信息,輸出兩種印刷品的各自的份數(shù)和郵寄費(fèi),輸出兩種印刷品的的總份數(shù)和總郵寄費(fèi)。 題目五: Shape Circle Ball Taper Cylinder 設(shè)計(jì)一個(gè)基類Shape,派生出圓形Circle類,再分別派生出圓球類Ball,圓錐類Taper、圓柱類Cylinder使用相關(guān)編程方法求出圓的面積、其他幾何圖形的表面積和體積。 題目六: employee technician salesman manager salesmanager 設(shè)計(jì)一個(gè)雇員類emplyee(基類),由基類派生出兼職技工類technician,再由基類派生出部門經(jīng)理類manager、銷售人員類salesman,由后兩個(gè)類派生出銷售經(jīng)理salesmanager。 1、technician的工資=holy(工時(shí)費(fèi))woho(工時(shí)) 2、manager的工資=moly(月固定工資8000) 3、salesman的工資=sales(銷售總額)com(績(jī)效率0.04) 4、Salesmanager的工資=moly(5000)+salescom(0.005) 求出各名雇員的工資。 設(shè)計(jì)題目七: 日期時(shí)間,時(shí)鐘類的編制 ( 電子鐘程序 ) 設(shè)計(jì)技術(shù)參數(shù) 編寫一個(gè)有關(guān)日期(年、月、日)和時(shí)間(時(shí)、分、秒)的程序。該程序建立三個(gè)類,其中一個(gè)是日期的類Date,一個(gè)是時(shí)間的類Time,另一個(gè)是日期和時(shí)間類DateTime,它是前面兩個(gè) 類為基類的派生類。 對(duì)每個(gè)類要分別編寫默認(rèn)構(gòu)造函數(shù)與帶有參數(shù)的構(gòu)造函數(shù)以完成對(duì)象的初始化 設(shè)計(jì)好類中成員的訪問(wèn)控制屬性 應(yīng)提供相應(yīng)函數(shù)能對(duì)類中數(shù)據(jù)成員進(jìn)行設(shè)置與讀取 在描述類的派生過(guò)程中,注意繼承方式 以下為類的主要結(jié)構(gòu)(學(xué)生可以參考): (已知 typedef char string80[80];) Date類:包含數(shù)據(jù)成員 int Year,Month,Day; string80 Datestr ; // 利用年月日成員生成的字符串 函數(shù)成員 string80 & GetStringDate( ) // 取得一個(gè)字符串類型的日期 void SetDate(int y,int m,int d) //設(shè)置日期函數(shù) Time類:包含數(shù)據(jù)成員 int Hours,Minutes,Seconds; string80 Timestr; 函數(shù)成員 void SetTime(int h,int m,int s) // 設(shè)置當(dāng)前時(shí)間 string80 & GetStringTime() // 取得一個(gè)字符串類型的時(shí)間 日期和時(shí)間類DateTime string80 & GetStringDT() // 生成字符串 日期與時(shí)間 設(shè)計(jì)題目八: 日期類的編制 (萬(wàn)年歷程序) 設(shè)計(jì)技術(shù)參數(shù) 設(shè)計(jì)一個(gè)日期類Date,包括年、月、日等私有數(shù)據(jù)成員。要求實(shí)現(xiàn)日期的基本運(yùn)算,如一日期加上天數(shù)、一日期減去天數(shù)、兩日期相差的天數(shù)等(假定輸入日期數(shù)據(jù)是合法的,考慮閏年的情況)。 在Date類中設(shè)計(jì)如下重載運(yùn)算符函數(shù): Date operator+(int days); 返回一日期加一天數(shù)得到的日期 Date operator-(int days); 返回一日期減去天數(shù)得到的日期 int operator-(Date &b); 返回兩日期相差的天數(shù) 在實(shí)現(xiàn)這些重載運(yùn)算符函數(shù)調(diào)用以下私有成員函數(shù): leap(int); 判斷指定的年份是否為閏年 dton(Date &); 將指定日期轉(zhuǎn)換為從0年0月0日起的天數(shù) ntod(int); 將指定的0年0月0日起的天數(shù)轉(zhuǎn)換為對(duì)應(yīng)的日期 數(shù)據(jù)成員為:int year,month,day; 設(shè)計(jì)題目九: 設(shè)計(jì)一個(gè)點(diǎn)類Point,實(shí)現(xiàn)點(diǎn)對(duì)象之間的各種運(yùn)算 ( 平面直角座標(biāo)系中點(diǎn)的運(yùn)算) 設(shè)計(jì)技術(shù)參數(shù) :Point類提供了4個(gè)運(yùn)算符重載函數(shù),以實(shí)現(xiàn)相應(yīng)的運(yùn)算。 在Point類中設(shè)計(jì)如下重載運(yùn)算符函數(shù)及相應(yīng)成員函數(shù): void offset(int,int); // 提供對(duì)點(diǎn)的偏移 void offset(Point); // 重載,偏移量用Point類對(duì)象表示 bool operator==(Point); // 運(yùn)算符重載,判斷兩個(gè)對(duì)象是否相同 bool operator!=(Point); // 運(yùn)算符重載,判斷兩個(gè)對(duì)象是否不相同 void operator+=(Point); // 運(yùn)算符重載,將兩個(gè)點(diǎn)對(duì)象相加 void operator-=(Point); // 運(yùn)算符重載,將兩個(gè)點(diǎn)對(duì)象相減 int getx(){return x;} // 得到點(diǎn)座標(biāo)x int gety(){return y;} // 得到點(diǎn)座標(biāo)y void disp() // 顯示點(diǎn)座標(biāo) 設(shè)計(jì)題目十: 設(shè)計(jì)一個(gè)復(fù)數(shù)類complex,實(shí)現(xiàn)點(diǎn)復(fù)數(shù)對(duì)象之間的加、減、乘運(yùn)算 ( 復(fù)數(shù)的運(yùn)算 ) 設(shè)計(jì)技術(shù)參數(shù) :complex類提供了3個(gè)運(yùn)算符重載函數(shù),以實(shí)現(xiàn)相應(yīng)的運(yùn)算 u complex(double r=0.0,double i=0.0) //構(gòu)造函數(shù) u complex operator + (complex c2); //運(yùn)算符+重載成員函數(shù) u complex operator - (complex c2); //運(yùn)算符-重載成員函數(shù) u complex operator * (complex c2); //運(yùn)算符*重載成員函數(shù) u void display(); //輸出復(fù)數(shù) bool operator != (complex c2); //運(yùn)算符!=重載成員函數(shù) bool operator == (complex c2); //運(yùn)算符==重載成員函數(shù) 設(shè)計(jì)題目十一: 虛基類的使用:(職工管理系統(tǒng)中的類的模型) 設(shè)計(jì)技術(shù)參數(shù) 設(shè)計(jì)一個(gè)虛基類base,包含姓名和年齡私有數(shù)據(jù)成員以及相關(guān)的成員函數(shù),由它派生出領(lǐng)導(dǎo)類leader,包含職務(wù)和部門私有數(shù)據(jù)成員以及相關(guān)的成員函數(shù)。再由base派 生出工程師類engineer,包含職稱和專業(yè)私有數(shù)據(jù)成員以及相關(guān)的成員函數(shù)。然后由ledaer和engineer類派生出主任工程師類chairman。采用一些數(shù)據(jù)進(jìn)行測(cè)試。 由于chairman類從leader類和engineer類派生,而leader類和engineer類都是從base類派生的,所以為了使base只存一個(gè)副本,必須采用虛擬派生的方法。 設(shè)計(jì)好類中成員的訪問(wèn)控制屬性 應(yīng)提供相應(yīng)函數(shù)能對(duì)類中數(shù)據(jù)成員進(jìn)行設(shè)置與讀取 base 類結(jié)構(gòu) 數(shù)據(jù)成員:char* name;// 姓名 int age; // 年齡 函數(shù)成員:void setname(char na[ ] ) void setage(int a) char* getname( ) int getage() leader 類結(jié)構(gòu): 數(shù)據(jù)成員: char *job;//職務(wù) char *dep;//部門 函數(shù)成員: void setjob(char jb[ ]) void setdep(char dp[ ]) char *getjob( ) char *getdep( ) engineer 類 與chairman類 學(xué)生按要求聲明,類中應(yīng)有對(duì)應(yīng)成員函數(shù)對(duì)數(shù)據(jù)成員進(jìn)行處理。 設(shè)計(jì)題目十二: 模板的使用: ( 通用排序程序的實(shí)現(xiàn) ) 設(shè)計(jì)技術(shù)參數(shù) 設(shè)計(jì)一個(gè)類模板Sample,包含具有Max個(gè)元素的任意類型一維數(shù)組的一維數(shù)組A。 其數(shù)據(jù)成員:T A[Max]; int n; // 數(shù)組A中現(xiàn)有n個(gè)元素已有值 設(shè)計(jì)如下成員函數(shù)完成特定功能 Sample() // 構(gòu)造函數(shù) ,初始化A數(shù)組元素個(gè)數(shù)為0 void disp( ) ; // 輸出A數(shù)組各元素的值 void SelectionSort ( ) ; // 選擇排序算法對(duì)A數(shù)組進(jìn)行降序排序 void InsertionSort() ; // 插入排序算法對(duì)A數(shù)組進(jìn)行升序排序 void getdata( ) ; // 用戶輸入數(shù)組A元素個(gè)數(shù),并對(duì)各元素初始化 設(shè)計(jì)題目十三: 設(shè)計(jì)字符串類 MyString:(基本類型擴(kuò)展—字符串類) 設(shè)計(jì)技術(shù)參數(shù) 具有構(gòu)造函數(shù)、析構(gòu)函數(shù)、拷貝構(gòu)造函數(shù)。重載運(yùn)算符+、=、[ ]、+=,盡可能地完善它,使之能滿足各種需要 設(shè)計(jì)題目十四: 抽象類與純虛函數(shù)的使用:( 各種圖形的周長(zhǎng)及面積計(jì)算程序?qū)崿F(xiàn) ) 設(shè)計(jì)技術(shù)參數(shù) shape 為抽象類函數(shù)。 其數(shù)據(jù)成員:double r; 設(shè)計(jì)如下成員函數(shù)完成特定功能 shape(double x) ; // 構(gòu)造函數(shù) virtual void area()=0; //純虛函數(shù) ,面積計(jì)算函數(shù) virtual void peri()=0;//純虛函數(shù) ,周長(zhǎng)計(jì)算函數(shù) 要求:由類shape 派生出如下類 circle //聲明一個(gè)圓派生類 square //聲明一個(gè)正方形派生類 ex_square //聲明一個(gè)圓外切正方形派生類 重新定義虛函數(shù)peri( )、area( )在上述三個(gè)類的版本,以實(shí)現(xiàn)在不同類中計(jì)算對(duì)應(yīng)形狀的周長(zhǎng)與面積 設(shè)計(jì)題目十五: 隊(duì)列的實(shí)現(xiàn):(隊(duì)列的實(shí)現(xiàn)) 設(shè)計(jì)技術(shù)參數(shù) queue 為隊(duì)列類模板。 其數(shù)據(jù)成員: Type size; Type start; Type end; Type *data; 設(shè)計(jì)如下成員函數(shù)完成特定功能 queue( ); queue(Type n); // 構(gòu)造函數(shù) ,完成隊(duì)列最大長(zhǎng)度,初始隊(duì)尾與隊(duì)首指針,創(chuàng)建隊(duì)列的操作 ~queue( ) // 析構(gòu)函數(shù),完成隊(duì)列的清理工作,清理由堆內(nèi)存分配的數(shù)據(jù) void put(Type value); // 往隊(duì)尾加入數(shù)據(jù) Type get( ) ; // 從隊(duì)首彈出數(shù)據(jù) void clear(); // 清空隊(duì)列 void ShowQueue(); // 顯示隊(duì)列中所有數(shù)據(jù) 主函數(shù)的要以菜單形式,完成隊(duì)列的各種操作 設(shè)計(jì)題目十六: 學(xué)生成績(jī)管理系統(tǒng): 設(shè)計(jì)一個(gè)學(xué)生類,完成n個(gè)學(xué)生三門課成績(jī)的錄入,求平均分,及按平均分排序工作 設(shè)計(jì)技術(shù)參數(shù) struct stud // 用于三門課的結(jié)構(gòu)體 { int english ; int computer; int Chinese ; } ; Student 類: 數(shù)據(jù)成員 : stud cj; char name[10]; // 姓名 double average; // 平均分 static int count ; // 用于動(dòng)態(tài)建立數(shù)組時(shí),標(biāo)志數(shù)組中元素個(gè)數(shù) 函數(shù)成員 : void getdata() ; // 用于當(dāng)前對(duì)象的數(shù)據(jù)信息錄入,并計(jì)算平均值 void disp() ; // 用于當(dāng)前對(duì)象數(shù)據(jù)的顯示 static void setcount(int x) { count=x ;} friend void sort( student a[ ]) ; //對(duì)于對(duì)象數(shù)組進(jìn)行排序 設(shè)計(jì)題目十七: 銀行賬戶管理系統(tǒng)(單個(gè)賬戶的處理): 設(shè)計(jì)一個(gè)賬戶類,能完成對(duì)單個(gè)賬戶的管理,包括存入,支取,顯示歷史交易記錄(最多100條) 設(shè)計(jì)技術(shù)參數(shù) 類 Bank 數(shù)據(jù)成員 : int top; // 最后交易記錄指針 char date[Max][13]; // 交易日期 double money[Max]; // 交易金額 double rest[Max]; // 本次交易余額 static double sum; // 最后余額 函數(shù)成員: Bank() // 初始化個(gè)人賬戶記錄 top=0 void bankin(char d[],double m) // 對(duì)應(yīng)日期 存入金額 void bankout(char d[],double m) // 對(duì)應(yīng)日期 支取金額 void disp() // 個(gè)人賬戶歷史交易記錄 主函數(shù)應(yīng)以菜單形式完成對(duì)一個(gè)賬戶的不同操作. 設(shè)計(jì)題目十八: 通信錄(最大記錄1000條): 設(shè)計(jì)技術(shù)參數(shù) 類 txl 數(shù)據(jù)成員 : int id; // 記錄號(hào) char name[11]; // 姓名 char address[50]; // 住址 char tel[13]; // 電話 char mail[15];// 郵箱 char qq[12] ; // qq 號(hào) 函數(shù)成員: txl( ) // 構(gòu)造函數(shù),初始化各項(xiàng)參數(shù) // 設(shè)置各項(xiàng)數(shù)據(jù) void setid( int id1) { id=id1 ;} void setadd( char *add ) {strcpy(address,add) ;} void setname(char *na ) { strcpy (name,na);} void settel(char *tele) {strcpy(tel,tele);} void setmail(char * maill) {strcpy(mail,maill);} void setqqid(char *qqid) { strcpy(qq,qqid);} // 讀取各項(xiàng)數(shù)據(jù) int getid() {return id ;} char * getname( ) {return name ;} char * getaddr( ) { return address ;} char * gettel () { return tel ;} char * getmail() { return mail ; } char * getqq() { return qq ;} int static gettop() { return top ;} // 數(shù)據(jù)輸入函數(shù) friend void input(txl &p) ; // 用于本對(duì)象數(shù)據(jù)的輸入 friend void disp(txl &p) ; // 用于本對(duì)象數(shù)據(jù)的顯示 主函數(shù)應(yīng)以菜單形式完成對(duì)通信錄的錄入及顯示操作,有能力的同學(xué)完善刪除操作,本程序是用對(duì)象數(shù)組完成的,所以數(shù)據(jù)不能保存到下一次(如加上文件操作更好,從文件中讀入數(shù)據(jù)至數(shù)組,將數(shù)組中數(shù)據(jù)寫入文件最好) 設(shè)計(jì)題目十九: 人員信息管理系統(tǒng): 設(shè)計(jì)技術(shù)參數(shù) 設(shè)計(jì)一個(gè)職員類 ,技術(shù)人員類,推銷員類、經(jīng)理類、銷售經(jīng)理類。 仔細(xì)設(shè)計(jì)各類之間繼承與派生的關(guān)系,設(shè)計(jì)各自的成員函數(shù),注意虛函數(shù)的使用及類多態(tài)性。 設(shè)計(jì)題目二十: 鏈表類的實(shí)現(xiàn): 設(shè)計(jì)技術(shù)參數(shù) 從鍵盤輸入10個(gè)整形數(shù)據(jù),用這些數(shù)據(jù)作為結(jié)點(diǎn)數(shù)據(jù),生成鏈表,按照順序生成鏈表。然后從鍵盤輸入一個(gè)待查詢的值,如找到則刪除該整數(shù)所在的結(jié)點(diǎn)(如果出現(xiàn)多次,全部刪除),然后輸出刪除后的鏈表的值。 (注:抽到本題目的學(xué)生,結(jié)合數(shù)據(jù)結(jié)構(gòu)中關(guān)于鏈表的相關(guān)知識(shí)點(diǎn),用c++模板建立鏈表類,來(lái)完成對(duì)鏈表的各種操作,主要工作在于分析程序,了解程序每一部分的含義) 設(shè)計(jì)題目二十一: 棧類的實(shí)現(xiàn)(計(jì)算器程序): 設(shè)計(jì)技術(shù)參數(shù) 實(shí)現(xiàn)一個(gè)簡(jiǎn)單的計(jì)算器,能夠進(jìn)行加、減、乘、除及乘方運(yùn)算。 詳細(xì)說(shuō)明 (注:抽到本題目的學(xué)生,結(jié)合數(shù)據(jù)結(jié)構(gòu)與C++中關(guān)于棧的相關(guān)知識(shí)點(diǎn),用c++模板建立棧類,來(lái)完成對(duì)棧的各種操作,主要工作在于分析程序,了解程序每一部分的含義)- 1.請(qǐng)仔細(xì)閱讀文檔,確保文檔完整性,對(duì)于不預(yù)覽、不比對(duì)內(nèi)容而直接下載帶來(lái)的問(wèn)題本站不予受理。
- 2.下載的文檔,不會(huì)出現(xiàn)我們的網(wǎng)址水印。
- 3、該文檔所得收入(下載+內(nèi)容+預(yù)覽)歸上傳者、原創(chuàng)作者;如果您是本文檔原作者,請(qǐng)點(diǎn)此認(rèn)領(lǐng)!既往收益都?xì)w您。
下載文檔到電腦,查找使用更方便
9.9 積分
下載 |
- 配套講稿:
如PPT文件的首頁(yè)顯示word圖標(biāo),表示該P(yáng)PT已包含配套word講稿。雙擊word圖標(biāo)可打開word文檔。
- 特殊限制:
部分文檔作品中含有的國(guó)旗、國(guó)徽等圖片,僅作為作品整體效果示例展示,禁止商用。設(shè)計(jì)者僅對(duì)作品中獨(dú)創(chuàng)性部分享有著作權(quán)。
- 關(guān) 鍵 詞:
- 面向 對(duì)象 程序設(shè)計(jì)語(yǔ)言 計(jì)劃書
鏈接地址:http://www.820124.com/p-8812657.html