《C++大学教程第五版》课后习题答案.docx

上传人:b****1 文档编号:1758479 上传时间:2023-05-01 格式:DOCX 页数:82 大小:34.55KB
下载 相关 举报
《C++大学教程第五版》课后习题答案.docx_第1页
第1页 / 共82页
《C++大学教程第五版》课后习题答案.docx_第2页
第2页 / 共82页
《C++大学教程第五版》课后习题答案.docx_第3页
第3页 / 共82页
《C++大学教程第五版》课后习题答案.docx_第4页
第4页 / 共82页
《C++大学教程第五版》课后习题答案.docx_第5页
第5页 / 共82页
《C++大学教程第五版》课后习题答案.docx_第6页
第6页 / 共82页
《C++大学教程第五版》课后习题答案.docx_第7页
第7页 / 共82页
《C++大学教程第五版》课后习题答案.docx_第8页
第8页 / 共82页
《C++大学教程第五版》课后习题答案.docx_第9页
第9页 / 共82页
《C++大学教程第五版》课后习题答案.docx_第10页
第10页 / 共82页
《C++大学教程第五版》课后习题答案.docx_第11页
第11页 / 共82页
《C++大学教程第五版》课后习题答案.docx_第12页
第12页 / 共82页
《C++大学教程第五版》课后习题答案.docx_第13页
第13页 / 共82页
《C++大学教程第五版》课后习题答案.docx_第14页
第14页 / 共82页
《C++大学教程第五版》课后习题答案.docx_第15页
第15页 / 共82页
《C++大学教程第五版》课后习题答案.docx_第16页
第16页 / 共82页
《C++大学教程第五版》课后习题答案.docx_第17页
第17页 / 共82页
《C++大学教程第五版》课后习题答案.docx_第18页
第18页 / 共82页
《C++大学教程第五版》课后习题答案.docx_第19页
第19页 / 共82页
《C++大学教程第五版》课后习题答案.docx_第20页
第20页 / 共82页
亲,该文档总共82页,到这儿已超出免费预览范围,如果喜欢就下载吧!
下载资源
资源描述

《C++大学教程第五版》课后习题答案.docx

《《C++大学教程第五版》课后习题答案.docx》由会员分享,可在线阅读,更多相关《《C++大学教程第五版》课后习题答案.docx(82页珍藏版)》请在冰点文库上搜索。

《C++大学教程第五版》课后习题答案.docx

《C++大学教程第五版》课后习题答案

C++大学基础教程课后答案(DEITEL)版

3.11

GradeBook类定义:

#include//programusesC++standardstringclass

usingstd:

:

string;

classGradeBook

{

public:

//constructorinitializescoursenameandinstructorname

GradeBook(string,string);

voidsetCourseName(string);//functiontosetthecoursename

stringgetCourseName();//functiontoretrievethecoursename

voidsetInstructorName(string);//functiontosetinstructorname

stringgetInstructorName();//functiontoretrieveinstructorname

voiddisplayMessage();//displaywelcomemessageandinstructorname

private:

stringcourseName;//coursenameforthisGradeBook

stringinstructorName;//instructornameforthisGradeBook

};//endclassGradeBook

类成员函数:

#include

usingstd:

:

cout;

usingstd:

:

endl;

#include"GradeBook.h"

//constructorinitializescourseNameandinstructorName

//withstringssuppliedasarguments

GradeBook:

:

GradeBook(stringcourse,stringinstructor)

{

setCourseName(course);//initializescourseName

setInstructorName(instructor);//initialiZesinstructorName

}//endGradeBookconstructor

//functiontosetthecoursename

voidGradeBook:

:

setCourseName(stringname)

{

courseName=name;//storethecoursename

}//endfunctionsetCourseName

//functiontoretrievethecoursename

stringGradeBook:

:

getCourseName()

{

returncourseName;

}//endfunctiongetCourseName

//functiontosettheinstructorname

voidGradeBook:

:

setInstructorName(stringname)

{

instructorName=name;//storetheinstructorname

}//endfunctionsetInstructorName

//functiontoretrievetheinstructorname

stringGradeBook:

:

getInstructorName()

{

returninstructorName;

}//endfunctiongetInstructorName

//displayawelcomemessageandtheinstructor'sname

voidGradeBook:

:

displayMessage()

{

//displayawelcomemessagecontainingthecoursename

cout<<"Welcometothegradebookfor\n"<

"

<

//displaytheinstructor'sname

cout<<"Thiscourseispresentedby:

"<

}//endfunctiondisplayMessage

测试文件:

#include

usingstd:

:

cout;

usingstd:

:

endl;

//includedefinitionofclassGradeBookfromGradeBook.h

#include"GradeBook.h"

//functionmainbeginsprogramexecution

intmain()

{

//createaGradeBookobject;passacoursenameandinstructorname

GradeBookgradeBook(

"CS101IntroductiontoC++Programming","ProfessorSmith");

//displayinitialvalueofinstructorNameofGradeBookobject

cout<<"gradeBookinstructornameis:

"

<

//modifytheinstructorNameusingsetfunction

gradeBook.setInstructorName("AssistantProfessorBates");

//displaynewvalueofinstructorName

cout<<"newgradeBookinstructornameis:

"

<

//displaywelcomemessageandinstructor'sname

gradeBook.displayMessage();

return0;//indicatesuccessfultermination

}//endmain

3.12

类定义:

classAccount

{

public:

Account(int);//constructorinitializesbalance

voidcredit(int);//addanamounttotheaccountbalance

voiddebit(int);//subtractanamountfromtheaccountbalance

intgetBalance();//returntheaccountbalance

private:

intbalance;//datamemberthatstoresthebalance

};//endclassAccount

类成员函数:

#include

usingstd:

:

cout;

usingstd:

:

endl;

#include"Account.h"//includedefinitionofclassAccount

//Accountconstructorinitializesdatamemberbalance

Account:

:

Account(intinitialBalance)

{

balance=0;//assumethatthebalancebeginsat0

//ifinitialBalanceisgreaterthan0,setthisvalueasthe

//balanceoftheAccount;otherwise,balanceremains0

if(initialBalance>0)

balance=initialBalance;

//ifinitialBalanceisnegative,printerrormessage

if(initialBalance<0)

cout<<"Error:

Initialbalancecannotbenegative.\n"<

}//endAccountconstructor

//credit(add)anamounttotheaccountbalance

voidAccount:

:

credit(intamount)

{

balance=balance+amount;//addamounttobalance

}//endfunctioncredit

//debit(subtract)anamountfromtheaccountbalance

voidAccount:

:

debit(intamount)

{

if(amount>balance)//debitamountexceedsbalance

cout<<"Debitamountexceededaccountbalance.\n"<

if(amount<=balance)//debitamountdoesnotexceedbalance

balance=balance-amount;

}//endfunctiondebit

//returntheaccountbalance

intAccount:

:

getBalance()

{

returnbalance;//givesthevalueofbalancetothecallingfunction

}//endfunctiongetBalance

测试函数:

#include

usingstd:

:

cout;

usingstd:

:

cin;

usingstd:

:

endl;

//includedefinitionofclassAccountfromAccount.h

#include"Account.h"

//functionmainbeginsprogramexecution

intmain()

{

Accountaccount1(50);//createAccountobject

Accountaccount2(25);//createAccountobject

//displayinitialbalanceofeachobject

cout<<"account1balance:

$"<

cout<<"account2balance:

$"<

intwithdrawalAmount;//storeswithdrawalamountreadfromuser

cout<<"\nEnterwithdrawalamountforaccount1:

";//prompt

cin>>withdrawalAmount;//obtainuserinput

cout<<"\nattemptingtosubtract"<

<<"fromaccount1balance\n\n";

account1.debit(withdrawalAmount);//trytosubtractfromaccount1

//displaybalances

cout<<"account1balance:

$"<

cout<<"account2balance:

$"<

cout<<"\nEnterwithdrawalamountforaccount2:

";//prompt

cin>>withdrawalAmount;//obtainuserinput

cout<<"\nattemptingtosubtract"<

<<"fromaccount2balance\n\n";

account2.debit(withdrawalAmount);//trytosubtractfromaccount2

//displaybalances

cout<<"account1balance:

$"<

cout<<"account2balance:

$"<

return0;//indicatesuccessfultermination

}//endmain

3.13

类定义:

#include//programusesC++standardstringclass

usingstd:

:

string;

//Invoiceclassdefinition

classInvoice

{

public:

//constructorinitializesthefourdatamembers

Invoice(string,string,int,int);

//setandgetfunctionsforthefourdatamembers

voidsetPartNumber(string);//partnumber

stringgetPartNumber();

voidsetPartDescription(string);//partdescription

stringgetPartDescription();

voidsetQuantity(int);//quantity

intgetQuantity();

voidsetPricePerItem(int);//priceperitem

intgetPricePerItem();

//calculatesinvoiceamountbymultiplyingquantityxpriceperitem

intgetInvoiceAmount();

private:

stringpartNumber;//thenumberofthepartbeingsold

stringpartDescription;//descriptionofthepartbeingsold

intquantity;//howmanyoftheitemsarebeingsold

intpricePerItem;//priceperitem

};//endclassInvoice

类成员函数:

#include

usingstd:

:

cout;

usingstd:

:

endl;

//includedefinitionofclassInvoicefromInvoice.h

#include"Invoice.h"

//Invoiceconstructorinitializestheclass'sfourdatamembers

Invoice:

:

Invoice(stringnumber,stringdescription,intcount,

intprice)

{

setPartNumber(number);//storepartNumber

setPartDescription(description);//storepartDescription

setQuantity(count);//validateandstorequantity

setPricePerItem(price);//validateandstorepricePerItem

}//endInvoiceconstructor

//setpartnumber

voidInvoice:

:

setPartNumber(stringnumber)

{

partNumber=number;//novalidationneeded

}//endfunctionsetPartNumber

//getpartnumber

stringInvoice:

:

getPartNumber()

{

returnpartNumber;

}//endfunctiongetPartNumber

//setpartdescription

voidInvoice:

:

setPartDescription(stringdescription)

{

partDescription=description;//novalidationneeded

}//endfunctionsetPartDescription

//getpartdescription

stringInvoice:

:

getPartDescription()

{

returnpartDescription;

}//endfunctiongetPartDescription

//setquantity;ifnotpositive,setto0

voidInvoice:

:

setQuantity(intcount)

{

if(count>0)//ifquantityispositive

quantity=count;//setquantitytocount

if(count<=0)//ifquantityisnotpositive

{

quantity=0;//setquantityto0

cout<<"\nquantitycannotbenegative.quantitysetto0.\n";

}//endif

}//endfunctionsetQuantity

//getquantity

intInvoice:

:

getQuantity()

{

returnquantity;

}//endfunctiongetQuantity

//setpriceperitem;ifnotpositive,setto0

voidInvoice:

:

setPricePerItem(intprice)

{

if(price>0)//ifpriceispositive

pricePerItem=price;//setpricePerItemtoprice

if(price<=0)//ifpriceisnotpositive

{

pricePerItem=0;//setpricePerItemto0

cout<<"\npricePerItemcannotbenegative."

<<"pricePerItemsetto0.\n";

}//endif

}//endfunctionsetPricePerItem

//getpriceperitem

intInvoice:

:

getPricePerItem()

{

returnpricePerItem;

}//endfunctiongetPricePerItem

//calulatesinvoiceamountbymultiplyingquantityxpriceperitem

intInvoice:

:

getInvoiceAmount()

{

returngetQuantity()*getPricePerItem();

}//endfunctiongetInvoiceAmount

测试函数:

#include

usingstd:

:

cout;

usingstd:

:

cin;

usingstd:

:

endl;

//includedefinitionofclassInvoicefromInvoice.h

#include"Invoice.h"

//functionmainbeginsprogramexecution

intmain()

{

//createanInvoiceobject

Invoiceinvoice("12345","Hammer",100,5);

//displaytheinvoicedatamembersandcalculatetheamount

cout<<"Partnumber:

"<

cout<<"Partdescription:

"<

cout<<"Quanti

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 初中教育 > 语文

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2