您的位置:首页 > 编程语言 > C语言/C++

C++PRIMER PLUS第六版课后编程答案 4.6-4.10

2014-03-27 16:02 447 查看
4.6

#include <iostream>
#include <string>
using namespace std;
struct CandyBar
{
string name;
double weight;
int kaluli;
};
void show(CandyBar &c);//按值传递和引用传递均可
void main46()
{
CandyBar cb[3]={{"one",1.8,10},{"two",2.9,30},{"three",5.0,60}};
for(int i=0;i<3;i++)
show(cb[i]);

}
void show(CandyBar &c)
{
cout<<"name="<<c.kaluli<<" ,weight="<<c.weight<<" ,kaluli="<<c.kaluli<<endl;

}



4.7

#include <iostream>
#include <string>
using namespace std;
struct Pizza
{
string name;
double d;
double w;
};
Pizza get(Pizza &p);
void show(const Pizza &p);

void main47()
{
Pizza p;
for(int i=0;i<3;i++)
{
get(p);
show(p);
}
}

Pizza get(Pizza &p) //若不使用引用变量,返回时返回的是一个未知的变量
{
cout<<"Enter the Pizza name:";
string name;
getline(cin,name);
p.name=name;
cout<<"\n Enter the d:";
double d;
cin>>d;
p.d=d;
cout<<endl<<"Enter the weight:";
double w;
cin>>w;
p.w=w;
return p;
}
void show(const Pizza &p)
{
cout<<"name="<<p.name<<" ,d="<<p.d<<" ,weight="<<p.w<<endl
;
cin.get();

}


4.8

#include <iostream>
#include <string>
using namespace std;
struct Pizza
{
string name;
double d;
double w;
};
Pizza *get(Pizza *p);
void show(const Pizza *p);

void main48()
{
Pizza *p;
p=new Pizza();
for(int i=0;i<3;i++)
{
get(p);
show(p);
//delete p;
}
delete p;
//delete p;

}

Pizza *get(Pizza *p) //若不使用引用变量,返回时返回的是一个未知的变量
{
//p=new Pizza();
cout<<"Enter the Pizza name:";
string name;
getline(cin,name);
p->name=name;
cout<<"\n Enter the d:";
double d;
cin>>d;
p->d=d;
cout<<endl<<"Enter the weight:";
double w;
cin>>w;
p->w=w;
return p;
}
void show(const Pizza *p)
{
cout<<"name="<<p->name<<" ,d="<<p->d<<" ,weight="<<p->w<<endl
;
cin.get();

}


4.9

#include <iostream>
#include <string>
using namespace std;
struct CandyBar
{
string name;
double weight;
int kaluli;
};
void show(const CandyBar *c);
void main49()
{
CandyBar *c=new CandyBar[3];//结构体数组定义方法
for(int i=0;i<3;i++,c++)
{
c->name="String"+i;
c->weight=i;
c->kaluli=i*10;
show(c);
}

delete []c;

}

void show(const CandyBar *c)
{
cout<<"name="<<c->kaluli<<" ,weight="<<c->weight<<" ,kaluli="<<c->kaluli<<endl;

}


4.10

#include <iostream>
#include <array>
using namespace std;
void main410()
{
array <int,3> arr;
int sum=0;
for(int i=0;i<3;i++)
{
cout<<"Enter the "<<i+1<<" time :";
cin>>arr[i];
sum+=arr[i];
}
double pinjun;
cout<<"平均成绩为:"<<sum*1.0/3<<endl;
cin.get();

}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: