好文档 - 专业文书写作范文服务资料分享网站

《C++大学教程第五版》课后习题答案(第3、9章) 

天下 分享 时间: 加入收藏 我要投稿 点赞

month = 1;

if ( month > 12 ) month = 1;

} // end function setMonth // return month

int Date::getMonth() {

return month;

} // end function getMonth // set day

void Date::setDay( int d ) {

day = d;

} // end function setDay // return day

int Date::getDay() {

return day;

} // end function getDay // set year

void Date::setYear( int y ) {

year = y;

} // end function setYear // return year

int Date::getYear() {

return year;

} // end function getYear

// print Date in the format mm/dd/yyyy void Date::displayDate() {

cout << month << '/' << day << '/' << year << endl; } // end function displayDate 测试函数:

#include using std::cout; using std::endl;

#include \ // include definition of class Date from Date.h // function main begins program execution int main() {

Date date( 5, 6, 1981 ); // create a Date object for May 6, 1981 // display the values of the three Date data members

cout << \ << date.getMonth() << endl; cout << \ << date.getDay() << endl; cout << \ << date.getYear() << endl; cout << \ << 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 << \ << endl;

date.displayDate(); // output the modified date (1/1/2005) return 0; // indicate successful termination } // end main 9.05 类定义:

#ifndef COMPLEX_H #define COMPLEX_H class 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 number format

void setComplexNumber( double, double ); // set complex number private:

double realPart;

double imaginaryPart; }; // end class Complex #endif

类成员函数:

#include using std::cout; #include \

Complex::Complex( double real, double imaginary ) {

setComplexNumber( real, imaginary ); } // end Complex constructor

Complex Complex::add( const Complex &right ) {

return Complex(

realPart + right.realPart, imaginaryPart + right.imaginaryPart ); } // end function add

Complex Complex::subtract( const Complex &right ) {

return Complex(

realPart - right.realPart, imaginaryPart - right.imaginaryPart ); } // end function subtract void Complex::printComplex() {

cout << '(' << realPart << \ << imaginaryPart << ')'; } // end function printComplex

void Complex::setComplexNumber( double rp, double ip ) {

realPart = rp;

imaginaryPart = ip;

} // end function setComplexNumber 测试函数:

#include using std::cout; using std::endl; #include \int main() {

Complex a( 1, 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.setComplexNumber( 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 main 9.06 类定义:

#ifndef RATIONAL_H #define RATIONAL_H

class 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 division void printRational (); // print rational format

void printRationalAsDouble(); // print rational as double format private:

int numerator; // integer numerator int denominator; // integer denominator void reduction(); // utility function }; // end class Rational #endif

类成员函数:

#include using std::cout;

#include \ // include definition of class Rational Rational::Rational( int n, int d ) {

numerator = n; // sets numerator

denominator = d; // sets denominator

reduction(); // store the fraction in reduced form } // end Rational constructor

Rational Rational::addition( const Rational &a ) {

Rational t; // creates Rational object t.numerator = a.numerator * denominator; t.numerator += a.denominator * numerator; t.denominator = a.denominator * denominator;

t.reduction(); // store the fraction in reduced form return t;

} // end function addition

Rational Rational::subtraction( const Rational &s ) {

Rational t; // creates Rational object t.numerator = s.denominator * numerator; t.numerator -= denominator * s.numerator; t.denominator = s.denominator * denominator;

t.reduction(); // store the fraction in reduced form return t;

} // end function subtraction

Rational Rational::multiplication( const Rational &m ) {

Rational t; // creates Rational object t.numerator = m.numerator * numerator;

t.denominator = m.denominator * denominator;

t.reduction(); // store the fraction in reduced form return t;

} // end function multiplication

Rational Rational::division( const Rational &v ) {

Rational t; // creates Rational object t.numerator = v.denominator * numerator; t.denominator = denominator * v.numerator;

t.reduction(); // store the fraction in reduced form return t;

} // end function division

void Rational::printRational () {

if ( denominator == 0 ) // validates denominator cout << \ << '\\n'; else if ( numerator == 0 ) // validates numerator cout << 0; else

cout << numerator << '/' << denominator; } // end function printRational

void Rational::printRationalAsDouble() {

cout << static_cast< double >( numerator ) / denominator; } // end function printRationalAsDouble void Rational::reduction() {

int largest;

largest = numerator > denominator ? numerator : denominator; int gcd = 0; // greatest common divisor

for ( int loop = 2; loop <= largest; loop++ )

if ( numerator % loop == 0 && denominator % loop == 0 ) gcd = loop; if (gcd != 0) {

numerator /= gcd; denominator /= gcd; } // end if

《C++大学教程第五版》课后习题答案(第3、9章) 

month=1;if(month>12)month=1;}//endfunctionsetMonth//returnmonthintDate::getMonth(){returnmonth;}//endfunctiongetMon
推荐度:
点击下载文档文档为doc格式
3pb4894ier553973044s2xc786b4a900yvw
领取福利

微信扫码领取福利

微信扫码分享