《C++大学教程第五版》课后习题答案--(作者-DEITEL)(共52页)

上传人:29 文档编号:61543723 上传时间:2022-03-11 格式:DOC 页数:51 大小:249KB
收藏 版权申诉 举报 下载
《C++大学教程第五版》课后习题答案--(作者-DEITEL)(共52页)_第1页
第1页 / 共51页
《C++大学教程第五版》课后习题答案--(作者-DEITEL)(共52页)_第2页
第2页 / 共51页
《C++大学教程第五版》课后习题答案--(作者-DEITEL)(共52页)_第3页
第3页 / 共51页
资源描述:

《《C++大学教程第五版》课后习题答案--(作者-DEITEL)(共52页)》由会员分享,可在线阅读,更多相关《《C++大学教程第五版》课后习题答案--(作者-DEITEL)(共52页)(51页珍藏版)》请在装配图网上搜索。

1、精选优质文档-倾情为你奉上C+ 大学基础教程 课后答案(DEITEL)版3.11GradeBook类定义:#include / program uses C+ standard string classusing std:string;class GradeBookpublic: / constructor initializes course name and instructor name GradeBook( string, string ); void setCourseName( string ); / function to set the course name string g

2、etCourseName(); / function to retrieve the course name void setInstructorName( string ); / function to set instructor name string getInstructorName(); / function to retrieve instructor name void displayMessage(); / display welcome message and instructor nameprivate: string courseName; / course name

3、for this GradeBook string instructorName; / instructor name for this GradeBook; / end class GradeBook类成员函数:#include using std:cout;using std:endl;#include GradeBook.h/ constructor initializes courseName and instructorName / with strings supplied as argumentsGradeBook:GradeBook( string course, string

4、 instructor ) setCourseName( course ); / initializes courseName setInstructorName( instructor ); / initialiZes instructorName / end GradeBook constructor/ function to set the course namevoid GradeBook:setCourseName( string name ) courseName = name; / store the course name / end function setCourseNam

5、e/ function to retrieve the course namestring GradeBook:getCourseName() return courseName; / end function getCourseName/ function to set the instructor namevoid GradeBook:setInstructorName( string name ) instructorName = name; / store the instructor name / end function setInstructorName/ function to

6、 retrieve the instructor namestring GradeBook:getInstructorName() return instructorName; / end function getInstructorName/ display a welcome message and the instructors namevoid GradeBook:displayMessage() / display a welcome message containing the course name cout Welcome to the grade book forn getC

7、ourseName() ! endl; / display the instructors name cout This course is presented by: getInstructorName() endl; / end function displayMessage测试文件:#include using std:cout; using std:endl;/ include definition of class GradeBook from GradeBook.h#include GradeBook.h/ function main begins program executio

8、nint main() / create a GradeBook object; pass a course name and instructor name GradeBook gradeBook( CS101 Introduction to C+ Programming, Professor Smith ); / display initial value of instructorName of GradeBook object cout gradeBook instructor name is: gradeBook.getInstructorName() nn; / modify th

9、e instructorName using set function gradeBook.setInstructorName( Assistant Professor Bates ); / display new value of instructorName cout new gradeBook instructor name is: gradeBook.getInstructorName() nn; / display welcome message and instructors name gradeBook.displayMessage(); return 0; / indicate

10、 successful termination / end main3.12类定义:class Accountpublic: Account( int ); / constructor initializes balance void credit( int ); / add an amount to the account balance void debit( int ); / subtract an amount from the account balance int getBalance(); / return the account balanceprivate: int bala

11、nce; / data member that stores the balance; / end class Account类成员函数:#include using std:cout;using std:endl;#include Account.h / include definition of class Account/ Account constructor initializes data member balanceAccount:Account( int initialBalance ) balance = 0; / assume that the balance begins

12、 at 0 / if initialBalance is greater than 0, set this value as the / balance of the Account; otherwise, balance remains 0 if ( initialBalance 0 ) balance = initialBalance; / if initialBalance is negative, print error message if ( initialBalance 0 ) cout Error: Initial balance cannot be negative.n ba

13、lance ) / debit amount exceeds balance cout Debit amount exceeded account balance.n endl; if ( amount = balance ) / debit amount does not exceed balance balance = balance - amount; / end function debit/ return the account balanceint Account:getBalance() return balance; / gives the value of balance t

14、o the calling function / end function getBalance测试函数:#include using std:cout;using std:cin;using std:endl;/ include definition of class Account from Account.h#include Account.h/ function main begins program executionint main() Account account1( 50 ); / create Account object Account account2( 25 ); /

15、 create Account object / display initial balance of each object cout account1 balance: $ account1.getBalance() endl; cout account2 balance: $ account2.getBalance() endl; int withdrawalAmount; / stores withdrawal amount read from user cout withdrawalAmount; / obtain user input cout nattempting to sub

16、tract withdrawalAmount from account1 balancenn; account1.debit( withdrawalAmount ); / try to subtract from account1 / display balances cout account1 balance: $ account1.getBalance() endl; cout account2 balance: $ account2.getBalance() endl; cout withdrawalAmount; / obtain user input cout nattempting

17、 to subtract withdrawalAmount from account2 balancenn; account2.debit( withdrawalAmount ); / try to subtract from account2 / display balances cout account1 balance: $ account1.getBalance() endl; cout account2 balance: $ account2.getBalance() endl; return 0; / indicate successful termination / end ma

18、in3.13类定义:#include / program uses C+ standard string classusing std:string;/ Invoice class definitionclass Invoicepublic: / constructor initializes the four data members Invoice( string, string, int, int ); / set and get functions for the four data members void setPartNumber( string ); / part number

19、 string getPartNumber(); void setPartDescription( string ); / part description string getPartDescription(); void setQuantity( int ); / quantity int getQuantity(); void setPricePerItem( int ); / price per item int getPricePerItem(); / calculates invoice amount by multiplying quantity x price per item

20、 int getInvoiceAmount(); private: string partNumber; / the number of the part being sold string partDescription; / description of the part being sold int quantity; / how many of the items are being sold int pricePerItem; / price per item; / end class Invoice类成员函数:#include using std:cout;using std:en

21、dl;/ include definition of class Invoice from Invoice.h#include Invoice.h/ Invoice constructor initializes the classs four data membersInvoice:Invoice( string number, string description, int count, int price ) setPartNumber( number ); / store partNumber setPartDescription( description ); / store par

22、tDescription setQuantity( count ); / validate and store quantity setPricePerItem( price ); / validate and store pricePerItem / end Invoice constructor/ set part numbervoid Invoice:setPartNumber( string number ) partNumber = number; / no validation needed / end function setPartNumber/ get part number

23、string Invoice:getPartNumber() return partNumber; / end function getPartNumber/ set part descriptionvoid Invoice:setPartDescription( string description ) partDescription = description; / no validation needed / end function setPartDescription/ get part descriptionstring Invoice:getPartDescription() r

24、eturn partDescription; / end function getPartDescription/ set quantity; if not positive, set to 0void Invoice:setQuantity( int count ) if ( count 0 ) / if quantity is positive quantity = count; / set quantity to count if ( count = 0 ) / if quantity is not positive quantity = 0; / set quantity to 0 c

25、out 0 ) / if price is positive pricePerItem = price; / set pricePerItem to price if ( price = 0 ) / if price is not positive pricePerItem = 0; / set pricePerItem to 0 cout npricePerItem cannot be negative. pricePerItem set to 0.n; / end if / end function setPricePerItem/ get price per itemint Invoic

26、e:getPricePerItem() return pricePerItem; / end function getPricePerItem/ calulates invoice amount by multiplying quantity x price per itemint Invoice:getInvoiceAmount() return getQuantity() * getPricePerItem(); / end function getInvoiceAmount测试函数:#include using std:cout;using std:cin;using std:endl;

27、/ include definition of class Invoice from Invoice.h#include Invoice.h/ function main begins program executionint main() / create an Invoice object Invoice invoice( 12345, Hammer, 100, 5 ); / display the invoice data members and calculate the amount cout Part number: invoice.getPartNumber() endl; co

28、ut Part description: invoice.getPartDescription() endl; cout Quantity: invoice.getQuantity() endl; cout Price per item: $ invoice.getPricePerItem() endl; cout Invoice amount: $ invoice.getInvoiceAmount() endl; / modify the invoice data members invoice.setPartNumber( ); invoice.setPartDescription( Sa

29、w ); invoice.setQuantity( -5 ); /negative quantity,so quantity set to 0 invoice.setPricePerItem( 10 ); cout nInvoice data members modified.nn; / display the modified invoice data members and calculate new amount cout Part number: invoice.getPartNumber() endl; cout Part description: invoice.getPartDe

30、scription() endl; cout Quantity: invoice.getQuantity() endl; cout Price per item: $ invoice.getPricePerItem() endl; cout Invoice amount: $ invoice.getInvoiceAmount() endl; return 0; / indicate successful termination / end main3.14类定义:#include / program uses C+ standard string classusing std:string;/

31、 Employee class definitionclass Employee public: Employee( string, string, int ); / constructor sets data members void setFirstName( string ); / set first name string getFirstName(); / return first name void setLastName( string ); / set last name string getLastName(); / return last name void setMont

32、hlySalary( int ); / set weekly salary int getMonthlySalary(); / return weekly salaryprivate: string firstName; / Employees first name string lastName; / Employees last name int monthlySalary; / Employees salary per month; / end class Employee类成员函数:#include using std:cout;#include Employee.h / Employ

33、ee class definition/ Employee constructor initializes the three data membersEmployee:Employee( string first, string last, int salary ) setFirstName( first ); / store first name setLastName( last ); / store last name setMonthlySalary( salary ); / validate and store monthly salary / end Employee const

34、ructor/ set first namevoid Employee:setFirstName( string name ) firstName = name; / no validation needed / end function setFirstName/ return first namestring Employee:getFirstName() return firstName; / end function getFirstName/ set last namevoid Employee:setLastName( string name ) lastName = name;

35、/ no validation needed / end function setLastName/ return last namestring Employee:getLastName() return lastName; / end function getLastName/ set monthly salary; if not positive, set to 0.0void Employee:setMonthlySalary( int salary ) if ( salary 0 ) / if salary is positive monthlySalary = salary; /

36、set monthlySalary to salary if ( salary = 0 ) / if salary is not positive monthlySalary = 0; / set monthlySalary to 0.0 / end function setMonthlySalary/ return monthly salaryint Employee:getMonthlySalary() return monthlySalary; / end function getMonthlySalary测试函数:#include using std:cout;using std:en

37、dl;#include Employee.h / include definition of class Employee/ function main begins program executionint main() / create two Employee objects Employee employee1( Lisa, Roberts, 4500 ); Employee employee2( Mark, Stein, 4000 ); / display each Employees yearly salary cout Employees yearly salaries: end

38、l; / retrieve and display employee1s monthly salary multiplied by 12 int monthlySalary1 = employee1.getMonthlySalary(); cout employee1.getFirstName() employee1.getLastName() : $ monthlySalary1 * 12 endl; / retrieve and display employee2s monthly salary multiplied by 12 int monthlySalary2 = employee2

39、.getMonthlySalary(); cout employee2.getFirstName() employee2.getLastName() : $ monthlySalary2 * 12 endl; / give each Employee a 10% raise employee1.setMonthlySalary( monthlySalary1 * 1.1 ); employee2.setMonthlySalary( monthlySalary2 * 1.1 ); / display each Employees yearly salary again cout nEmploye

40、es yearly salaries after 10% raise: endl; / retrieve and display employee1s monthly salary multiplied by 12 monthlySalary1 = employee1.getMonthlySalary(); cout employee1.getFirstName() employee1.getLastName() : $ monthlySalary1 * 12 endl; monthlySalary2 = employee2.getMonthlySalary(); cout employee2

41、.getFirstName() employee2.getLastName() : $ monthlySalary2 * 12 endl; return 0; / indicate successful termination / end main3.15类定义:class Date public: Date( int, int, int ); / constructor initializes data members void setMonth( int ); / set month int getMonth(); / return month void setDay( int ); /

42、set day int getDay(); / return day void setYear( int ); / set year int getYear(); / return year void displayDate(); / displays date in mm/dd/yyyy formatprivate: int month; / the month of the date int day; / the day of the date int year; / the year of the date; / end class Date类成员函数:#include using st

43、d:cout;using std:endl;#include Date.h / include definition of class Date from Date.h/ Date constructor that initializes the three data members;/ assume values provided are correct (really should validate)Date:Date( int m, int d, int y ) setMonth( m ); setDay( d ); setYear( y ); / end Date constructo

44、r / set monthvoid Date:setMonth( int m ) month = m; if ( month 12 ) month = 1; / end function setMonth/ return monthint Date:getMonth() return month; / end function getMonth/ set dayvoid Date:setDay( int d ) day = d; / end function setDay/ return dayint Date:getDay() return day; / end function getDa

45、y/ set yearvoid Date:setYear( int y ) year = y; / end function setYear/ return yearint Date:getYear() return year; / end function getYear/ print Date in the format mm/dd/yyyyvoid Date:displayDate() cout month / day / year endl; / end function displayDate测试函数:#include using std:cout;using std:endl;#i

46、nclude Date.h / include definition of class Date from Date.h/ function main begins program executionint main() Date date( 5, 6, 1981 ); / create a Date object for May 6, 1981 / display the values of the three Date data members cout Month: date.getMonth() endl; cout Day: date.getDay() endl; cout Year

47、: date.getYear() endl; cout nOriginal date: endl; date.displayDate(); / output the Date as 5/6/1981 / modify the Date date.setMonth( 13 ); / invalid month date.setDay( 1 ); date.setYear( 2005 ); cout nNew date: endl; date.displayDate(); / output the modified date (1/1/2005) return 0; / indicate succ

48、essful termination / end main9.05类定义:#ifndef COMPLEX_H#define COMPLEX_Hclass Complex public: Complex( double = 0.0, double = 0.0 ); / default constructor Complex add( const Complex & ); / function add Complex subtract( const Complex & ); / function subtract void printComplex(); / print complex numbe

49、r format void setComplexNumber( double, double ); / set complex number private: double realPart; double imaginaryPart; / end class Complex #endif类成员函数:#include using std:cout; #include Complex.hComplex:Complex( double real, double imaginary ) setComplexNumber( real, imaginary ); / end Complex constr

50、uctorComplex Complex:add( const Complex &right ) return Complex( realPart + right.realPart, imaginaryPart + right.imaginaryPart ); / end function addComplex Complex:subtract( const Complex &right ) return Complex( realPart - right.realPart, imaginaryPart - right.imaginaryPart ); / end function subtr

51、actvoid Complex:printComplex() cout ( realPart , imaginaryPart ); / end function printComplexvoid Complex:setComplexNumber( double rp, double ip ) realPart = rp; imaginaryPart = ip; / end function setComplexNumber测试函数:#include using std:cout; using std:endl; #include Complex.hint main() Complex a( 1

52、, 7 ), b( 9, 2 ), c; / create three Complex objects a.printComplex(); / output object a cout + ; b.printComplex(); / output object b cout = ; c = a.add( b ); / invoke add function and assign to object c c.printComplex(); / output object c cout n; a.setComplexNumber( 10, 1 ); / reset realPart and b.s

53、etComplexNumber( 11, 5 ); / and imaginaryPart a.printComplex(); / output object a cout - ; b.printComplex(); / output object b cout = ; c = a.subtract( b ); / invoke add function and assign to object c c.printComplex(); / output object c cout endl; return 0; / end main9.06类定义:#ifndef RATIONAL_H#defi

54、ne RATIONAL_Hclass Rational public: Rational( int = 0, int = 1 ); / default constructor Rational addition( const Rational & ); / function addition Rational subtraction( const Rational & ); / function subtraction Rational multiplication( const Rational & ); / function multi. Rational division( const Rational & ); / function divi

展开阅读全文
温馨提示:
1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
2: 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
3.本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们

copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!