《C++大学教程第五版》课后习题答案.docx
- 文档编号:7160915
- 上传时间:2023-01-21
- 格式:DOCX
- 页数:70
- 大小:34.59KB
《C++大学教程第五版》课后习题答案.docx
《《C++大学教程第五版》课后习题答案.docx》由会员分享,可在线阅读,更多相关《《C++大学教程第五版》课后习题答案.docx(70页珍藏版)》请在冰豆网上搜索。
《C++大学教程第五版》课后习题答案
C++大学基础教程课后答案(DEITEL)版
3.11
GradeBook类定义:
#include
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 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<<"Qua
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- C+大学教程第五版 C+ 大学 教程 第五 课后 习题 答案