1、

watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvZ3V1Z2xlMjAxMA==/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center" alt="">

代码:
头文件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);
golf.cpp代码
#include<iostream>
#include<cstring>
#include "golf.h"
using namespace std;
void setgolf(golf & g, const char * name, int hc)
{
strcpy(g.fullname, name);
g.handicap = hc;
}
int setgolf(golf & g)
{
cout<< "请输入全名: ";
cin.getline(g.fullname, Len);
if (g.fullname[0] == '\0')
return 0;
cout << "Enter handicap value: ";
while (!(cin >> g.handicap))
{
cin.clear();
cout << "请输入整数:";
}
while (cin.get() != '\n')
continue;
return 1;
}
void handicap(golf & g, int hc)
{
g.handicap = hc;
}
void showgolf(const golf & g)
{
cout << "Golfer: " << g.fullname << "\n";
cout << "Handicap: " << g.handicap << "\n\n";
}
const int Mems = 5;
int main()
{
golf team[Mems];
cout << "输入 " << Mems << " 球队成员:\n";
int i;
for (i=0; i<Mems; i++)
if (setgolf(team[i]) == 0)
break;
for (int j=0; j<i; j++)
showgolf(team[j]);
setgolf(team[0], "Fred Norman", 5);
showgolf(team[0]);
handicap(team[0], 4);
showgolf(team[0]);
return 0;
}
执行结果:


2、改动程序清单9.8:用string对象取代字符数组.这样,该程序将不再须要检查输入的字符串是否过长,同一时候能够将输入字符串同字符串""进行比較,比推断是否为空行

代码:
#include<iostream>
#include<string>
using namespace std;
void strcount(const string &str);
int main()
{
string input;
cout << "Enter a line:\n";
getline(cin, input);
while ("" != input)
{
strcount(input);
cout << "Enter next line:";
getline(cin, input);
}
cout << "bey!\n";
}
void strcount(const string &str)
{
cout << "\"" << str << "\": ";
int count = str.length();
cout << count << " characters\n";
}
执行结果:

watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvZ3V1Z2xlMjAxMA==/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center" alt="">


3、

代码:
#include<iostream>
#include<cstring>
struct chaff
{
char dross[20];
int slag;
};
int main()
{
using std::cout;
using std::endl;
chaff *p1;
int i;
p1 = new chaff[2];
std::strcpy(p1[0].dross, "Tiffany Zhao");
p1[0].slag=13;
std::strcpy(p1[1].dross, "guugle");
p1[1].slag=-23;
for(i=0; i<2; i++)
cout << p1[i].dross << ": " << p1[i].slag <<endl;
delete [] p1;
return 0;
}
执行结果:

watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvZ3V1Z2xlMjAxMA==/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center" alt="">


版权声明:本文博主原创文章,博客,未经同意不得转载。

C++ Primer第九章课后编程问题的更多相关文章

  1. C++ Primer章课后编程问题

    watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvZ3V1Z2xlMjAxMA==/font/5a6L5L2T/fontsize/400/fill/I0JBQk ...

  2. 第九章伪代码编程过程 The PseudoCode Programming Process

    目录: 1.创建类和子程序的步骤概述 2.伪代码 3.通过伪代码编程过程创建子程序 4.伪代码编程过程的替代方案 一.创建类和子程序的步骤概述 (1)创建一个类的步骤 1.创建类的总体设计 2.创建类 ...

  3. C++ Primer : 第九章 : vector变长、string的其他操作以及容器适配器

    vector变长机制.string的其他构造方法,添加.替换和搜索操作,string比较和数值转换,最后是容器适配器. vector对象是如何增长的 vector和string类型提供了一些成员函数, ...

  4. java科学和艺术语言 第六章 课后编程

    家转载,为保留作者成果.转载请注明出处,http://blog.csdn.net/netluoriver,有些文件在资源中也能够下载!假设你没有积分,能够联系我索要. 1. package Sixth ...

  5. python3-cookbook笔记:第九章 元编程

    python3-cookbook中每个小节以问题.解决方案和讨论三个部分探讨了Python3在某类问题中的最优解决方式,或者说是探讨Python3本身的数据结构.函数.类等特性在某类问题上如何更好地使 ...

  6. C++ Primer 第九章 顺序容器

    由于书籍上写的已经很经典了,故大部分用图片的形式来阐述概念,代码纯手打进行验证. 1.顺序容器类型:vector.deque.list.forword_list.array.string. 2.顺序容 ...

  7. C++Primer 第九章

    //1.vector:可变大小数组.支持快速随机访问,在尾部之外的位置插入或删除元素可能很慢.注意点:不要在vector中存放bool类型,vector<bool>并不是一个容器,其实现方 ...

  8. C++ Primer : 第九章 : 顺序容器的操作以及迭代器失效问题

    顺序容器的添加.访问.删除操作以及forward_list的特殊操作,还有迭代器失效问题. 一.向容器添加元素 // array不支持这些操作 // forward_list有自己撰于的版本的inse ...

  9. C++ Primer : 第九章 : 顺序容器的定义、迭代器以及赋值与swap

    顺序容器属于C++ STL的一部分,也是非常重要的一部分. 顺序容器包括: std::vector,包含在头文件<vector>中 std::string, 包含在头文件<strin ...

随机推荐

  1. ASP.NET执行循序

    首先第一次运行一个应用程序(WebSite或者WebApplication都是Web应用程序)第一次请求 -> 1,IIS -> 2,aspnet_isapi(非托管dll) -> ...

  2. 最简单的视频编码器:基于libx265(编码YUV为H.265)

    ===================================================== 最简单的视频编码器系列文章列表: 最简单的视频编码器:编译 最简单的视频编码器:基于libx ...

  3. PHP如何添加内置的扩展

    什么时候server上PHP已安装.需要额外补充PHP如何扩展?你并不需要再次安装PHP.同phpize我们可以在原PHP安装扩展直接的基础上,. 这次编译只不过单独编译PHP的扩展库.接下来将编译好 ...

  4. [LeetCode55]Jump Game

    题目: Given an array of non-negative integers, you are initially positioned at the first index of the ...

  5. VS2015企业版本(安装包+key)

    VS2015中文企业版: http://pan.baidu.com/s/1eQtWvNs VS2015英文企业版: http://pan.baidu.com/s/1i3gZaVN —————————— ...

  6. 如何js编译的文件dll对于网页电话

    1. 加入一个项目的解决方案:JSControl 2. 在这个项目中加入js文件(JScript1.js) 脚本的内容: function showAlert(){ alert('Today is a ...

  7. 经常使用Log日志打印输出

    /** * log刊物 * @author Jenly * */ public class LogUtils { public static final String TAG = "Jenl ...

  8. LeetCode——Add Binary

    Given two binary strings, return their sum (also a binary string). For example, a = "11" b ...

  9. Cocos2d-x3.2游戏的核心循环在Application,怎样处理FPS不稳

    今天天气非常阴,立即要下雨了,陈吃早点功夫写点东西, 一场秋雨一场寒,十场秋雨要穿棉,各位从今往后多穿点 int Application::run() { if(!applicationDidFini ...

  10. apache本地多域配置(wampserver本地多域配置)

    当我们在当地发展.通常在浏览器中输入 http://localhost/项目目录名 测试Web文件,你有没有想过在本地浏览器中,输入自己设定的名字进入项目目录,名相关的问题. 比方我想配置一个主域名w ...