IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> C++知识库 -> C++ Primer Plus(第6版)---编程作业完成(第九章) -> 正文阅读

[C++知识库]C++ Primer Plus(第6版)---编程作业完成(第九章)

charpter09_homework.cpp

#include <iostream>
#include <string>
#include <cstring>
#include "golf.h"
#include "sales.h"
using namespace std;
using namespace SALES;
//函数原型
void p9_1(void);
void p9_2(void);
void p9_3(void);
void p9_4(void);
//主函数
int main()
{
	//p9_1();
	//p9_2();
	//p9_3();
	p9_4();
	return 0;
}


//-----------作业一--------------
void p9_1(void)
{
	golf arr[3];
	int i;
	int num=0;
	for(i=0;i<3;i++)
		num=setgolf(arr[i]);
	handicap(arr[0],20);
	for(i=0;i<num;i++)
		showgolf(arr[i]);
	return;
}

//------------作业二---------------
const int ArSize=10;
void strcount(const string str)
{
	static int total=0;
	int count=str.length();
	total+=count;
	cout<<str<<endl;
	cout<<"count= "<<count<<endl;
	cout<<"total= "<<total<<endl;
}
void p9_2(void)
{
	string str;
	cout<<"Enter a line: ";
	getline(cin,str);
	while(str!="")
	{
		strcount(str);
		cout<<"Enter the next line: ";
		getline(cin,str);
	}
}

//-----------作业三--------------
struct chaff
{
	char dross[20];
	int slag;
};
void fill_chaff(chaff& chaff)
{
	cout<<"Enter the dross: ";
	char temp[20];
	cin.get(temp,20);
	strcpy(chaff.dross,temp);
	cout<<"Enter the slag: ";
	cin>>chaff.slag;
	while(cin.get()!='\n')
		cin.get();
}
void show_chaff(const chaff& chaff)
{
	cout<<chaff.dross<<endl;
	cout<<chaff.slag<<endl;
}
void p9_3(void)
{
	const int BUF=512;
	char buffer[BUF];//静态存储区,不需要delete也不能
	chaff* ps=new (buffer)chaff[2];//定位New
	int i=0;
	for(i=0;i<2;i++)
		fill_chaff(ps[i]);
	for(i=0;i<2;i++)
		show_chaff(ps[i]);
	return;
}


//---------------作业四----------------
void p9_4(void)
{
	Sales s1,s2;
	setSales(s1);//交互版本
	showSales(s1);
	double arr[4]={1.0,2.0,3.0,4.0};
	setSales(s2,arr,QUARTERS);
	showSales(s2);
}

sales.cpp

#include<iostream>
#include"sales.h"
using namespace std;
using namespace SALES;

namespace SALES
{
	void setSales(Sales& s,const double arr[],int n)
	{
		int num=4;
		if(n<4)
			num=n;
		double max=arr[0];
		double min=arr[0];
		double sum=0;
		for(int i=0;i<num;i++)
		{
			s.sales[i]=arr[i];
			if(max<arr[i])
				max=arr[i];
			if(min>arr[i])
				min=arr[i];
			sum+=arr[i];
		}
		s.average=sum/n;
		s.max=max;
		s.min=min;
	}

	void setSales(Sales& s)
	{
		cout<<"Enter the sales: ";
		double temp[QUARTERS];
		for(int i=0;i<QUARTERS;i++)
		{
			cout<<"# "<<i+1<<" : ";
			cin>>temp[i];
		}
		s.max=temp[0];
		s.min=temp[1];
		double sum=0;
		for(int i=0;i<QUARTERS;i++)
		{
			s.sales[i]=temp[i];
			sum+=temp[i];
			if(s.max<temp[i])
				s.max=temp[i];
			if(s.min>temp[i])
				s.min=temp[i];
		}
		s.average=sum/QUARTERS;
	}

	void showSales(const Sales& s)
	{
		cout<<"sales: ";
		for(int i=0;i<QUARTERS;i++)
			cout<<s.sales[i]<<" ";
		cout<<endl;
		cout<<"average: "<<s.average<<endl;
		cout<<"max: "<<s.max<<endl;
		cout<<"min: "<<s.min<<endl;
	}
}

sales.h

#ifndef SALES_H_
#define SALES_H_

namespace SALES
{
	const int QUARTERS=4;
	struct Sales
	{
		double sales[QUARTERS];
		double average;
		double max;
		double min;
	};
	void setSales(Sales& s,const double ar[],int n);
	void setSales(Sales& s);
	void showSales(const Sales& s);
}

#endif

golf.cpp

#include<iostream>
#include<cstring>
#include"golf.h"
using namespace std;

void setgolf(golf& g,const char* name,int hc)
{
	//g.fullname[Len]=*name;
	strcpy(g.fullname,name);//字符串复制
	g.handicap=hc;
}
int setgolf(golf& g)
{
	static int count=0;
	cout<<"Enter the name: ";
	char name[Len];
	cin.get(name,Len);
	if(strcmp(name,"")==0)
		return count;
	cout<<"Enter the handicap: ";
	int handi;
	cin>>handi;
	while(cin.get()!='\n')//读取掉回车符
		cin.get();
	setgolf(g,name,handi);
	count++;
	return count;
}
void handicap(golf& g,int hc)
{
	g.handicap=hc;
}
void showgolf(const golf& g)
{
	cout<<g.fullname<<endl;
	cout<<g.handicap<<endl;
}

golf.h

#ifndef GOLF_H_
#define GOLF_H_

const int Len=40;
struct golf
{
	char fullname[Len];
	int handicap;
};

void setgolf(golf& g,const char* name,int hc);
int setgolf(golf& g);
void handicap(golf& g,int hc);
void showgolf(const golf& g);

#endif

如有错误,欢迎指正!?

  C++知识库 最新文章
【C++】友元、嵌套类、异常、RTTI、类型转换
通讯录的思路与实现(C语言)
C++PrimerPlus 第七章 函数-C++的编程模块(
Problem C: 算法9-9~9-12:平衡二叉树的基本
MSVC C++ UTF-8编程
C++进阶 多态原理
简单string类c++实现
我的年度总结
【C语言】以深厚地基筑伟岸高楼-基础篇(六
c语言常见错误合集
上一篇文章      下一篇文章      查看所有文章
加:2022-02-05 21:32:58  更:2022-02-05 21:34:38 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/24 9:31:34-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码