现在的位置: 首页 > 综合 > 正文

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

2014年10月15日 ⁄ 综合 ⁄ 共 2007字 ⁄ 字号 评论关闭

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();
 
 
 }

抱歉!评论已关闭.