p296.3

 #include<iostream>
#include<cstdlib>
#include<string>
#include<cstring>
#include<new>
using namespace std;
struct chaff
{
char dross[];
int slag;
};
void setarray(chaff *pt);
void showarray(chaff *pt); int main(){
char buffer[];
chaff ar[], *pt;
pt = new(buffer)chaff[];
setarray(pt);
showarray(pt);
system("pause");
return ;
} void setarray(chaff *pt){
int i;
char adross[], pdross[], ch;
cout << "enter a line\n";
cin.get(adross, );
while (cin){
cin.get(ch);
while (ch != '\n')
cin.get(ch);
break;
}
strcpy(pt->dross, adross);
cout << "enter another line\n";
cin.get(pdross, );
while (cin){
cin.get(ch);
while (ch != '\n')
cin.get(ch);
break;
}
strcpy((pt + )->dross, pdross);
cout << "enter two integer\n";
cin >> pt->slag;
cin >> (pt + )->slag;
cin.get();
} void showarray(chaff *pt){
cout << pt->dross << " " <<
pt->slag << endl <<
(pt + )->dross << " " <<
(pt + )->slag << endl;
}

p296.4

 sales.cpp

 #include<iostream>
#include"sales.h"
using namespace std; void SALES::setsales(Sales &s, const double ar[], int n){
int num, i, sum=;
if (n <= QUARTERS)
num = n;
else num = QUARTERS;
for (i = ; i < num; i++){
s.sales[i] = ar[i];
sum += s.sales[i];
}
s.average = sum / num;
s.max = s.sales[];
s.min = s.sales[];
for (i = ; i < num; i++){
if (s.max < s.sales[i])
s.max = s.sales[i];
if (s.min>s.sales[i])
s.min = s.sales[i];
}
} void SALES::setsales(Sales &s){
cout << "enter double into an array\n";
int i;
double sum = ;
for (i = ; i < QUARTERS; i++){
cin >> s.sales[i];
sum += s.sales[i];
}
s.average = sum / QUARTERS;
s.max = s.sales[];
s.min = s.sales[];
for (i = ; i < QUARTERS; i++){
if (s.max < s.sales[i])
s.max = s.sales[i];
if (s.min>s.sales[i])
s.min = s.sales[i];
}
} void SALES::showsales(const Sales & s){
for (int i = ; i < QUARTERS; i++)
cout << s.sales[i] << " ";
cout << "average is " << s.average << endl <<
"max is " << s.max << endl <<
"min is " << s.min << endl;
} 驱动程序 #include<iostream>
#include<cstdlib>
#include<string>
#include<cstring>
#include"sales.h"
using namespace std; int main(){
cout << "enter a number you want to fill the array\n";
int n, i;
cin >> n;
double *ar = new double[n+];
cout << "enter an double array\n";
for (i = ; i < n; i++)
cin >> ar[i];
SALES::Sales ex1, ex2;
SALES::setsales(ex1, ar, n);
SALES::setsales(ex2);
SALES::showsales(ex1);
SALES::showsales(ex2);
delete[]ar;
system("pause");
return ;
} 头文件 namespace SALES
{
const int QUARTERS = ;
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);
}

p332.1

 #include<iostream>
#include<cstdlib>
#include<cstring>
using namespace std; class Bankacount{
char name[];
char num[];
double deposit;
public:
Bankacount(char *pt="nobody", char *ar="", double balance=0.0);
~Bankacount();
void storage(double ct);
void withdraw(double ct);
void show()const;
}; Bankacount::Bankacount(char *pt, char *ar, double balance)
{
strncpy(name, pt, );
name[] = '\0';
strncpy(num, ar, );
num[] = '\0';
deposit = balance;
} Bankacount::~Bankacount(){ } void Bankacount::storage(double ct){
if (ct < )
cout << "the deposit must be positive\n";
else deposit += ct;
} void Bankacount::withdraw(double ct){
if (ct<)
cout << "the deposit must be positive\n";
else deposit -= ct;
} void Bankacount::show()const{
cout << "name is " << name << endl
<< "number is " << num << endl
<< "deposit now is " << deposit << endl;
} int main(){
Bankacount acount1("GE", "asdf", 0.0);
Bankacount acount2;
Bankacount acount3 = Bankacount("DELL", "34WE", 2.3);
acount1.show();
acount2.show();
acount3.show();
acount1.storage(4.5);
acount2.withdraw(2.7);
acount1.show();
acount2.show(); system("pause");
return ;
}

c++ primer plus 习题答案(3)的更多相关文章

  1. c++ primer plus 习题答案(1)

    c++ primer plus 习题答案用的是第五版,IDE仍然是vs2013.我只标注了题号,具体的题目找下书上对应内容吧. p110.8 #include<iostream> #inc ...

  2. c++ primer plus 习题答案(8)

    p475.2 //头文件: class Cd{ private: char *performers; char *label; int selections; double playtime; pub ...

  3. c++ primer plus 习题答案(7)

    p427.4 //头文件: #include<iostream> #ifndef STACK_H_ #define STACK_H_ typedef unsigned long Item; ...

  4. c++ primer plus 习题答案(6)

    p425.1 #include<iostream> #include<cstring> #include<cstdlib> using namespace std; ...

  5. c++ primer plus 习题答案(5)

    p333.7 #include<iostream> #include<cstring> #include<cstdlib> using namespace std; ...

  6. c++ primer plus 习题答案(4)

    p333.3 #include<iostream> #include<cstdlib> #include<cstring> #include<string&g ...

  7. c++ primer plus 习题答案(2)

    p221.8 #include<iostream> #include<cstdlib> #include<cstring> using namespace std; ...

  8. C++Primer第五版——习题答案目录

    目前正在刷<C++Primer>这本书,会在博客上记录课后习题答案,答案仅供参考. 因为水平有限,如有有误之处,希望大家不吝指教,谢谢! 目录地址 使用的系统为:win 10,编译器:VS ...

  9. 《C++Primer》第五版习题答案--第五章【学习笔记】

    <C++Primer>第五版习题答案--第五章[学习笔记] ps:答案是个人在学习过程中书写,可能存在错漏之处,仅作参考. 作者:cosefy Date: 2020/1/15 第五章:语句 ...

随机推荐

  1. ProcessBuilder 和 Runtime(转)

    ProcessBuilder.start() 和 Runtime.exec() 方法都被用来创建一个操作系统进程(执行命令行操作),并返回 Process 子类的一个实例,该实例可用来控制进程状态并获 ...

  2. Unix/Linux环境C编程入门教程(16) LinuxMint CCPP开发环境搭建

    1. Linux Mint由Linux Mint Team团队于2006年开始发行,是一份基于 这个时候linuxmint安装完成,C/C++开发环境也配置完成,希望大家认真实践!

  3. kvm中运行kvm

    如何在 KVM 虚拟机上运行 KVM 上次讨论了如何在 VMware ESXi 虚拟机上运行 KVM 问题,前不久有读者想 “在 kvm 上面创建个虚拟机安装 rackspace 的 openstac ...

  4. 音乐ID3 中 专辑封面解析(APIC帧)

    ID3V2 中 APIC 帧标识 专辑封面.前几天 百度 谷歌 都没有找到具体的说明.有点小伤人. 最好参考  Android 中的 id3.cpp 以及一个java 开源 id3 库.找到这里的规格 ...

  5. oracle rac 安装脚本

    1. 配置/etc/hosts 网络 192.168.1.111 rac1 rac1.oracle.com192.168.1.182 rac1-vip 192.168.1.222 rac2 rac2. ...

  6. 在Java SE中使用Hibernate处理数据

    如今,Hibernate正在迅速成为非常流行的(如果不是最流行的)J2EE O/R映射程序/数据集成框架.它为开发人员提供了处理企业中的关系数据库的整洁.简明且强大的工具.但如果外部需要访问这些已被包 ...

  7. GUI练习——列出指定目录内容

    需求: 一个窗体里.在文本框输入路径后,摁回车键或者点击"转到"按钮后: 若路径合法,程序会自动在文本域里显示该路径下的文件目录:若路径非法,则弹出对话框,告之你路径非法.点击&q ...

  8. Android 开发之Matrix图片处理类的使用

    在Android中,对图片的处理需要使用到Matrix类,Matrix是一个3 x 3的矩阵,他对图片的处理分为四个基本类型: 1.Translate————平移变换 2.Scale————缩放变换 ...

  9. RecyclerView 小记

    RecyclerView,是在v7包加入的,一个灵活的view可以展示巨大的数据集,类似于listview的viewholder复用已经优化好了. 语言是苍白的,代码是最生动的叙说: 布局: < ...

  10. 如何重启MySQL服务,正确重启mysql

    RedHat Linux (Fedora Core/Cent OS) 1.启动:/etc/init.d/mysqld start 2.停止:/etc/init.d/mysqld stop 3.重启:/ ...