C++primer第五版 从cin读入一组词并把它们存入一个vector对象,然后设法把所有词都改写为大写形式。输出改变后的结果,每个词占一行

本文主要是介绍C++primer第五版 从cin读入一组词并把它们存入一个vector对象,然后设法把所有词都改写为大写形式。输出改变后的结果,每个词占一行,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

这里要用到 标准库类型vector 和 处理string对象中的字符 这两个知识点。

标准类型vector表示对象的集合,其中所有对象的类型都相同,vector也常被称作容器。要想使用vector,必须包含适当的头文件,即 #include <vector>。向vector对象中添加元素需要用到push_back函数,它负责把一个值当成vector对象的尾元素“压到(push)”vector对象的“尾端(back)”。vector如何初始化以及它支持的一些操作,有兴趣的可以自行学习。

改为大写字母的函数可以直接使用cctype头文件中的函数 toupper(c),需要注意的是,toupper()中的参数是字符而不是字符串,因此不能直接将字符串放入其中进行大写转换,需要遍历字符串中的每个字符来单独操作。

最后,cin和while的配合也是一个易错点,初学时经常不清楚cin读入读取数据,跳不出循环,这也需要慢慢积累经验。

最后的最后,附上代码

#include "stdafx.h"
#include <iostream>
#include <string>
#include <cctype>
#include <vector>
using namespace std;
int main()
{string str; //定义一个字符串变量,用于接收单词vector<string> vec; //定义一个vector对象,用于存放单词cout << "input the words: ('q' to over)" << endl;  //提示输入语,在末尾添加一个q以示输入完成cin >> str; //读入第一个单词while(str!="q")  //如果未结束{for(int i=0;i<str.size();i++) //遍历一个单词的每个字母str[i]=toupper(str[i]);  //转换成大写字母vec.push_back(str);	 //将处理后的单词添加进vec容器cin >> str; //继续读入单词}for(int j=0;j<vec.size();j++)  //所有单词处理完成后cout << vec[j] << endl; //依次打印处理结果system("pause");return 0;
}

效果如下 

这篇关于C++primer第五版 从cin读入一组词并把它们存入一个vector对象,然后设法把所有词都改写为大写形式。输出改变后的结果,每个词占一行的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/786662

相关文章

在java中如何将inputStream对象转换为File对象(不生成本地文件)

《在java中如何将inputStream对象转换为File对象(不生成本地文件)》:本文主要介绍在java中如何将inputStream对象转换为File对象(不生成本地文件),具有很好的参考价... 目录需求说明问题解决总结需求说明在后端中通过POI生成Excel文件流,将输出流(outputStre

C++ 中的 if-constexpr语法和作用

《C++中的if-constexpr语法和作用》if-constexpr语法是C++17引入的新语法特性,也被称为常量if表达式或静态if(staticif),:本文主要介绍C++中的if-c... 目录1 if-constexpr 语法1.1 基本语法1.2 扩展说明1.2.1 条件表达式1.2.2 fa

Python实现将MySQL中所有表的数据都导出为CSV文件并压缩

《Python实现将MySQL中所有表的数据都导出为CSV文件并压缩》这篇文章主要为大家详细介绍了如何使用Python将MySQL数据库中所有表的数据都导出为CSV文件到一个目录,并压缩为zip文件到... python将mysql数据库中所有表的数据都导出为CSV文件到一个目录,并压缩为zip文件到另一个

利用Go语言开发文件操作工具轻松处理所有文件

《利用Go语言开发文件操作工具轻松处理所有文件》在后端开发中,文件操作是一个非常常见但又容易出错的场景,本文小编要向大家介绍一个强大的Go语言文件操作工具库,它能帮你轻松处理各种文件操作场景... 目录为什么需要这个工具?核心功能详解1. 文件/目录存javascript在性检查2. 批量创建目录3. 文件

C++中::SHCreateDirectoryEx函数使用方法

《C++中::SHCreateDirectoryEx函数使用方法》::SHCreateDirectoryEx用于创建多级目录,类似于mkdir-p命令,本文主要介绍了C++中::SHCreateDir... 目录1. 函数原型与依赖项2. 基本使用示例示例 1:创建单层目录示例 2:创建多级目录3. 关键注

C++从序列容器中删除元素的四种方法

《C++从序列容器中删除元素的四种方法》删除元素的方法在序列容器和关联容器之间是非常不同的,在序列容器中,vector和string是最常用的,但这里也会介绍deque和list以供全面了解,尽管在一... 目录一、简介二、移除给定位置的元素三、移除与某个值相等的元素3.1、序列容器vector、deque

C++常见容器获取头元素的方法大全

《C++常见容器获取头元素的方法大全》在C++编程中,容器是存储和管理数据集合的重要工具,不同的容器提供了不同的接口来访问和操作其中的元素,获取容器的头元素(即第一个元素)是常见的操作之一,本文将详细... 目录一、std::vector二、std::list三、std::deque四、std::forwa

C++字符串提取和分割的多种方法

《C++字符串提取和分割的多种方法》在C++编程中,字符串处理是一个常见的任务,尤其是在需要从字符串中提取特定数据时,本文将详细探讨如何使用C++标准库中的工具来提取和分割字符串,并分析不同方法的适用... 目录1. 字符串提取的基本方法1.1 使用 std::istringstream 和 >> 操作符示

C++原地删除有序数组重复项的N种方法

《C++原地删除有序数组重复项的N种方法》给定一个排序数组,你需要在原地删除重复出现的元素,使得每个元素只出现一次,返回移除后数组的新长度,不要使用额外的数组空间,你必须在原地修改输入数组并在使用O(... 目录一、问题二、问题分析三、算法实现四、问题变体:最多保留两次五、分析和代码实现5.1、问题分析5.

C++ 各种map特点对比分析

《C++各种map特点对比分析》文章比较了C++中不同类型的map(如std::map,std::unordered_map,std::multimap,std::unordered_multima... 目录特点比较C++ 示例代码 ​​​​​​代码解释特点比较1. std::map底层实现:基于红黑