




版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
實驗一 考試成績信息系統(tǒng)華北電力大學計算機系一、實驗目的 通過用C++編寫一個學生考試成績信息系統(tǒng),強化面向對象程序設計思想,使學生能夠將C++程序設計中的面向對象、重載、模板、文件等各種概念,靈活的運用到實際的程序設計中去。華北電力大學計算機系二、實驗要求1〕錄入課程和選課學生的信息;2〕錄入成績3〕學生信息和成績的修改;4〕統(tǒng)計學生成績;5〕成績排序;按成績排序6〕統(tǒng)計成績分布功能:即各成績段學生的數(shù)量:“優(yōu)〞:90~100;“良〞:80~90;“中〞:70~80;“及格〞:60~70;“不及格〞60。并輸出統(tǒng)計分布結果;7〕查找:能夠查找指定學生的各門成績和平均分及其名次;華北電力大學計算機系三、實驗原理 實驗使用面向對象的設計思想,在學生成績考試系統(tǒng)中,主要涉及的是學生和課程,對于所有的學生,都具有共性,因此可以抽象為一個學生類,同理可以得到課程類。華北電力大學計算機系華北電力大學計算機系2.類模板和函數(shù)模板的設計:〔1〕數(shù)組類模板的設計:對于某一門課,選課的學生很多,可定義一個數(shù)組模板,并將數(shù)組模板實例化為學生對象數(shù)組。〔2〕無論對什么數(shù)據(jù)類型的排序,使用的排序算法都是一樣的,因此需要定義一個函數(shù)模板,用學生類實例化,實現(xiàn)學生的成績排序,排序算法可選用插入排序、冒泡排序或者選擇排序等。華北電力大學計算機系3.運算符重載的設計 (1〕學生的信息和成績以及選課信息要求寫入文件并在需要時從文件中讀出,需要重載插入、提取運算符“<<、>>〞。 (2)學生成績排序要對學生對象進行比較、賦值等操作,而類實際上是一種復雜數(shù)據(jù)類型,因此上述這些操作要通過運算符重載〔==、<、>〕來實現(xiàn)。華北電力大學計算機系四、實驗所需儀器、設備、材料〔試劑〕 本實驗基于window平臺,使用VC++為開發(fā)工具。五、實驗預習要求、實驗條件、方法及步驟 1.理解C++面向對象編程的根本概念,包括類和對象、模板、運算符重載等。 2.根據(jù)實驗要求,畫出相應的類圖。 3.按照類圖,編程并實現(xiàn)。華北電力大學計算機系實驗二 公司計薪系統(tǒng)華北電力大學計算機系一、實驗目的 類的封裝、派生和繼承、多態(tài)性是C++面向對象程序設計三大特征,本實驗通過編寫一個簡單的公司計薪系統(tǒng),使學生能夠將上述三大特征靈活的運用到實際的編程當中去,提高程序的復用性。華北電力大學計算機系二、實驗要求1.問題描述某公司,員工的薪水每月發(fā)一次,每月1日,上報上月個人工作信息。這些信息由會計將信息輸入計薪系統(tǒng)。對于該系統(tǒng)要求如下:(1〕公司主要分為三種員工:經(jīng)理、時薪人員、銷售人員。(2〕對于任何一位員工,計薪系統(tǒng)都能夠: (a〕計算工資 (b〕打印該員工的工資單 (c〕員工也可以查詢自己的工資。(3)三種員工的薪金計算方式不同(a)經(jīng)理:固定月薪(b)時薪人員:時薪×每月工時(c)銷售人員:時薪×每月工時+傭金×銷售額(4)總經(jīng)理擁有特殊權利,可以更改某人時薪和傭金。華北電力大學計算機系2.研究計薪系統(tǒng)的問題域,根據(jù)研究對象的共性抽取出類,并抽象出各個類之間的派生關系,并畫出類圖。3.確定哪些類為基類,哪些為派生類,并分別確定基類和派生類的成員屬性和操作。華北電力大學計算機系雇員Employee經(jīng)理Manager時薪人員Wage銷售人員Sales圖計薪系統(tǒng)的類繼承關系華北電力大學計算機系classEmployee{private: charm_name[30];public: Employee(); Employee(constchar*nm);};Employee::Employee(){ m_name[0]=‘\0’;}Employee::Employee(constchar*nm){ strcpy(m_name,nm);}華北電力大學計算機系classManager:publicEmployee{private: floatm_salary;public: Manager(constchar*nm); voidsetSalary(); floatcomputePay();}Manager::Manager(constchar*nm):Employee(nm){ m_salary=15000.0;}voidManager::setSalary(floatsalary){ m_salary=salary;}floatManager::computePay(){ returnm_salary;}華北電力大學計算機系classWage:publicEmployee{private: floatm_wage; floatm_hours;public: Wage(constchar*nm); voidsetWage(floatwg); voidsetHours(floathrs); floatcomputePay();}Wage::Wage(constchar*nm):Employee(nm){ m_wage=250.0; m_hours=40.0;}voidWage::setWage(floatwg){ m_wage=wg;}voidWage::setHours(floathrs){ m_hours=hrs;}floatWage::computePay(){ returnm_wage*m_hours;}華北電力大學計算機系classSales:publicWage{private: floatm_comm; floatm_sales;public: Sales(constchar*nm); voidsetCommission(floatcomm); voidsetSales(floatsale); floatcomputePay();}Sales::Sales(constchar*nm):Wage(nm){ m_comm=m_sale=0.0;}voidSales::setCommission(floatcomm){ m_comm=comm;}voidSales::setSales(floatsale){ m_sales=sale;}floatSales::computePay(){ Wage::computePay()+ m_comm*m_sales;}華北電力大學計算機系考察Sales類具有的成員charm_name[30];floatm_wage;floatm_hours;floatm_comm;floatm_sales;voidsetWage(floatwg);voidsetHours(floathrs);voidsetCommission(floatcomm);voidsetSales(floatsale);voidcomputePay();華北電力大學計算機系2.多態(tài)的使用我們會想以一個通用指針表示所有可能的職員類型Employee*pEmployee;WageaWager(“陳大〞);SalesaSales(“陳二〞);ManageraManager(“陳三〞);pEmployee=&aWager;......可以把職員指針指向任何一種職員。好處:程序設計的巨大彈性。譬如:設計一個職員鏈表[職員指針數(shù)組],各個元素都是職員,我們會想以一個循環(huán)處理所有職員的computePay。華北電力大學計算機系虛擬函數(shù)與一般化可以體會,上述的while循環(huán)其實就是把操作一般化。一般化之所以重要,在于它可以把現(xiàn)在的、未來的情況統(tǒng)統(tǒng)納入考慮。將來即使有另一種名曰“參謀〞的成員,上述計薪循環(huán)仍然能夠正常。我們需要的是什么呢?依舊以Employee指針代表每一種職員,而又能夠在實際指向不同種類之職員調用到不同版本之computePay的能力華北電力大學計算機系修改:利用多態(tài)性,將computePay函數(shù)提到基類Employee中,并在前面加上virtual使之成為虛擬函數(shù),然后Employee的派生類中根據(jù)各個具體的雇員類型重新定義computePay函數(shù)。這樣,定義一個Employee類型的指針代表每一種雇員,通過動態(tài)聯(lián)編,能夠在程序運行時,根據(jù)實際指向
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 線下活動總結報告
- 銷售主管上半年工作匯報
- 人類干細胞研究中的倫理
- 物資管理月度匯報
- 亞洲地形河流特征與分布
- 通訊電路板講解
- 南華大學附屬第一醫(yī)院
- 鞍山市重點中學2026屆化學高三第一學期期中質量檢測試題含解析
- 2026屆云南省宣威市六中化學高二第一學期期末教學質量檢測試題含答案
- 神經(jīng)系統(tǒng)腫瘤
- 2025年燃氣經(jīng)營企業(yè)從業(yè)人員專業(yè)考試歷年參考題庫含答案詳解(5套)
- 2025年食品安全法試題帶答案
- 2025年濟南市中考英語試題含答案
- 食品委托加工協(xié)議書范文6篇
- 院感知識競賽備考試題庫(附答案)
- 六安2024九中小升初數(shù)學試卷
- 人社法律法規(guī)知識競賽考試題及答案
- 電工基礎知識試題及答案
- 2025云南溫泉山谷康養(yǎng)度假運營開發(fā)(集團)有限公司社會招聘19人筆試參考題庫附帶答案詳解
- 2025年中國教育時政試題及答案
- NB/T 11636-2024煤礦用芳綸織物芯阻燃輸送帶
評論
0/150
提交評論