C++面向对象程序设计习题集(4)

2019-04-14 13:58

cout<

void Set::reverse() {

int n=num/2;

for(int i=0;i

int temp; temp=data[i];

data[i]=data[num-i-1]; data[num-i-1]=temp; } }

void main() {

Set A;

cout<<\是否为空:\

cout<<(A.issetempty()?\空\非空\ cout<<\:\ Set B;

for(int i=1;i<=8;i++) B.add(i);

cout<<\:\

cout<<\是否在B中:\ B.setempty();

for(int j=11; j<20;j++) B.add(j); Set C(B);

cout<<\:\ C.reverse();

cout<<\逆置\ cout<<\:\}

11.

设计一个职工类Person,一个系有若干个职工,按职务分为系主任、室主任和职工,给出他们之间的领导关系。 【知识点】:2.2 【参考分】:25分 【难易度】:C

【答案】:类Person有姓名、职务和指向领导的指针等私有数据,以及两个构造函数和以下成员函数:setleader()设置当前职工的领导;getname()获取职工姓名;getleader()获取领导者对象指针:disp()输出姓名和职务。程序如下:

#include #include #include

12.

需要求3个长方柱的体积,请编一个基于对象的程序。数据成员包括length(长)、width(宽)、height(高)。要求用成员函数实现以下功能: (1)由键盘分别输入3个长方柱的长、宽、高;

class Person {

char name[10]; char prof[10]; Person *1eader; public:

Person(){strcpy(name,\ Person(char n[],char P[]) {

strcpy(name,n); strcpy(prof,P);

leader=new Person; }

void setleader(Person &p){leader=&p;} //对象引用作为参数 char *getname(){return name;) Person *getleader() {

return leader; }

void disp() {

cout<

void main() {

Person P[ ]={Person(\王华\室主任\李明\职工\ Person(\陈强\系主任\章城\职工\ Person(\张伟\室主任\许源\职工\P[0].setleader(P[2]); P[1].setleader(P[0]); P[3].setleader(P[4]); P[4].setleader(P[2]); P[5].setleader(P[4]);

cout<<” 姓名 职务 领导姓名”<

P[i].disp();

cout<getname()<

(2)计算长方柱的体积; (3)输出3个长方柱的体积。 【知识点】:2.2 2.3 【参考分】:20分 【难易度】:C 【答案】:

#include using namespace std; class Box {public:

void get_value(); float volume(); void display(); public:

float lengh; float width; float height; };

void Box::get_value()

{ cout<<\ cin>>lengh; cin>>width; cin>>height; }

float Box::volume()

{ return(lengh*width*height);}

void Box::display()

{ cout<

int main()

{Box box1,box2,box3; box1.get_value();

cout<<\ box1.display(); box2.get_value();

cout<<\ box2.display(); box3.get_value();

cout<<\ box3.display();

return 0; }

13.

建立一个对象数组,内放5个学生的数据(学号、成绩),用指针指向数组首元素,输出第1、3、5个学生的数据。 【知识点】:3.2 【参考分】:20分 【难易度】:C 【答案】:

#include using namespace std; class Student {public:

Student(int n,float s):num(n),score(s){} void display(); private: int num; float score; };

void Student::display()

{cout<

int main()

{Student stud[5]={

Student(101,78.5),Student(102,85.5),Student(103,98.5), Student(104,100.0),Student(105,95.5)}; Student *p=stud;

for(int i=0;i<=2;p=p+2,i++) p->display(); return 0; }

14.

建立一个对象数组,内放5个学生的数据(学号、成绩),设立一个函数max,用指向对象的指针作函数参数,在max函数中找出5个学生中成绩最高者,并输出其学号。 【知识点】:3.2 【参考分】:20分 【难易度】:C 【答案】:

#include using namespace std; class Student {public:

Student(int n,float s):num(n),score(s){}

int num; float score; };

void main()

{Student stud[5]={

Student(101,78.5),Student(102,85.5),Student(103,98.5), Student(104,100.0),Student(105,95.5)}; void max(Student* ); Student *p=&stud[0]; max(p); }

void max(Student *arr)

{float max_score=arr[0].score; int k=0;

for(int i=1;i<5;i++)

if(arr[i].score>max_score) {max_score=arr[i].score;k=i;} cout<

15.

商店销售某一商品,商店每天公布统一的折扣(discount)。同时允许销售人员在销售时灵活掌握售价(price),在此基础上,对一次购10件以上者,还可以享受9.8折优惠。现已知当天3个销货员的销售数量情况为:

销货员号(num) 销货件数(quantity) 销货单价(price) 101 5 23.5 102 12 24.56 103 100 21.5

请编程序,计算出当天此商品的总销售款sum以及每件商品的平均售价。要求用静态数据成员和静态成员函数。 【知识点】:2.2 3.5 【参考分】:30分 【难易度】:B 【答案】:

#include using namespace std; class Product {public:

Product(int n,int q,float p):num(n),quantity(q),price(p){}; void total();

static float average(); static void display();

private: int num; int quantity;


C++面向对象程序设计习题集(4).doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:小学生作业鼓励性评语作业评语

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: