c++primer plus第四版答案第十章

主函数代码

#include<iostream>
#include"lis.h"
#include<cctype>
using namespace std;
//using namespace SALE;




/*void main1()
{
	bank kk("wolf","jike",2300);
	kk.show();
	kk.add(45000);
	kk.show();
	kk.pop(55555);
	kk.show();

}
void main2()
{
	regolf gg[4]={gg[0].re};
	char *ap;
	cin>>ap
		gg[0].regolf();

	while()
	for(int i=0;i<4;i++)
	{
	gg[i].show();
	}
}
void main3()
{
	
	sale sa(32.4,343.45,454.3,344.675);
	sa.show();
	sale sa1;
	sa1.show();
}
void main4()
{
	movee mv1(6);
	mv1.showmove();
	movee mv2(3,4);
	
	mv2.showmove();
	
	mv2.add(mv1);
	mv2.showmove();
	 mv2.reset(5,45);
	 mv2.showmove();
}
int numb1;
char *p;
int cnt=0;
void main4()
{

	modee test;
	customer onee={"jike",34};
	cout<<"please you need a or p"<<endl;
	char c;
	
	while(cin>>c&&toupper(c) !='Q')
	{
	cin.sync();
		
	
	cout<<"heolee im here"<<endl;
	switch(c)
	{
	case 'A':
	case 'a':
		cout<<"please enter name and number"<<endl;

		cin>>onee.fullname;
		cin>>onee.payment;

		if(test.isfull())
			cout<<"stack is full l"<<endl;
		else
			test.push(onee);
		break;

	case 'p':
	case 'P':
		if(test.isempty())
		{
		
		cout<<"stack is empty"<<endl;

		}
		else
		{
		test.pop(onee);
		cout<<"p0p #"<<onee.fullname<<endl;
		cnt=cnt+onee.payment;
		cout<<cnt<<endl;
		break;
		}
	cout<<"please enter a or p"<<endl;
	
	
	}

}
	
}
void main6()
{

	plo pp;
	pp.show();
	pp.set(1024);

	pp.show();
	
}*/
listt ll;
void visit(int (*pf)(int n))
{
	int cnt;
	cnt=pf(5);
	ll.push(cnt);
}
int test(int n)
{
	return n;

}
void main7()
{
	//listt ll;
	visit(test);
	ll.show();

}
void main()
{	
	main7();
	char ch;
	cin>>ch;
	system("spause");
}

每小题头文件代码

#ifndef BANK_H_
#define BANK_H_
class bank
{
	public:
		bank(char *name,char*acc,int money);
		void show();
		void add(int money);
		void pop(int money);
		

		
		
private:
	char m_name[30];
	char m_acc[30];
	int m_money;


};


#ifndef REGOLF_H_
#define REGOLF_H_
class regolf
{
	public:
		regolf(char*nmae,int hd);
		regolf(char *ch);
		void show();

private:
	char m_name[30];
	int m_hd;
};


#endif

#ifndef SALE_H_
#define SALE_H_
namespace sname
{
	const int quart=4;
	struct sa{
	double sales[quart];
	double average;
	double max;
	double min;
	};
	void setsales(sa &s,const double ar[],int n);
	void setsales(sa &s);
	void showsales(const sa &s);
}
#endif
#ifndef MOVE_H_
#define MOVE_H_
class movee
{
private:
	double x;
	double y;
public:
	movee(double a=0,double b=0);
	void showmove() const;
	void add(const movee &m);
	void reset(double a=0,double b=0);

};

每小题头文件函数

#include<iostream>
#include"lis.h"
using namespace std;
bool listt::is_full()
{
	return top==len;

}
	 bool listt::is_empty()
	 {
	 return top==0;
	 
	 }
	 bool listt::push(int m)
	 {
	if(top<len)
		 {
			 num[top++]=m;
	 return true;
	 
	 }
	else 
		return false;
	 }

	 void listt::show()
	 {
	 cout<<num<<endl;
	 
	 }

#include<iostream>
#include"regolf.h"
#include<string>
using namespace std;
regolf::regolf(char*name,int hd)
{
strcpy(m_name,name);
m_hd=hd;

}
regolf::regolf(char *ch)
{
	
	cin>>ch;
	strcpy(m_name,ch);
	
}
		void regolf::show()
		{
		cout<<m_name<<"  ";
		cout<<m_hd<<endl;
		}

#include<iostream>
#include"sale.h"
using namespace sname;
void sname::setsales(sa &s,const double ar[],int n)
{	if(n>5)
	n=5;
	for(int i=0;i<n;i++)
	s.sales[i]=ar[i];
	double temp1=s.sales[0];
	double temp2=s.sales[0];
	double cnt=0;
	for(int i=0;i<n;i++)
	{
		if(temp1<s.sales[i])
			temp1=s.sales[i];
	}
	for(int i=0;i<n;i++)
	{
		if(temp2>s.sales[i])
			temp2=s.sales[i];
	}
	s.max=temp1;
	s.min=temp2;
	int i=0;
	while(i<n)
	{
		cnt=s.sales[i]+cnt;
		i++;
	
	}
	s.average=cnt/n;
}
	void sname::setsales(sa &s)
	{
		s.sales[0]=12.3;
		s.sales[1]=134.3;s.sales[2]=542.3;s.sales[03]=942.3;
		double temp1=s.sales[0];
	double temp2=s.sales[0];
	double cnt=0;
	for(int i=0;i<4;i++)
	{
		if(temp1<s.sales[i])
			temp1=s.sales[i];
	}
	for(int i=0;i<4;i++)
	{
		if(temp2>s.sales[i])
			temp2=s.sales[i];
	}
	s.max=temp1;
	s.min=temp2;
	int i=0;
	while(i<4)
	{
		cnt=s.sales[i]+cnt;
		i++;
	
	}
	s.average=cnt/4;
	
	}
	void sname::showsales(const sa &s)
	{
	using std ::cout;
	cout<<s.max<<"  ";
	cout<<s.min<<"  ";
	cout<<s.average<<std::endl;

	
	
	}

#include<iostream>
#include"move.h"
using namespace std;
movee::movee(double a,double b)
{
	x=a;
	y=b;
}
	void movee::showmove() const
	{
	cout<<x<<"  "<<y<<endl;
	}
	void movee::add(const movee &m) 
	{
	
		x=x+m.x;
		y=this->y+m.y;
	}
	void movee::reset(double a,double b)
	{
	x=a;
	y=b;
	
	}





#include<iostream>
#include<string>
#include"bank.h"
using namespace std;
bank::bank(char *name,char*acc,int money)
	{
		strcpy(m_name,name);
		strcpy(m_acc,acc);
		m_money=money;
	}
		void bank::show()
		{
		cout<<m_name<<endl;
		cout<<m_acc<<endl;
		cout<<m_money<<endl;
		}
		void  bank::add(int money)
		 {
		 m_money=m_money+money;
		 }
		void bank::pop(int money)
		{
		m_money=m_money-money;
		}



  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值