目录

用户输入

字符输入

更多字符串

快速掌握C ++


用户输入

在C ++中,我们使用 cout 写入控制台,我们使用 cin 从控制台读取。

由于我们在前面文章已经讨论了 cout,并且我们已经在我们的许多文章中使用过它,我们现在将专注于 cin 。

让我们看一下从控制台读取用户输入的程序,该程序来自用户输入相关信息的。这是使用 cin 的程序的一个例子。

#include <iostream>
#include <string>int main()
{int year = 0;int age = 0;std::string name = " ";//print a message to the userstd::cout<<"What year is your favorite? ";//get the user response and assign it to the variable yearstd::cin >> year;//output response to userstd::cout<<"How interesting, your favorite year is "<<year<<"!\n";//print a message to the userstd::cout<<"At what age did you learn to ride a bike? ";//get the user response and assign it to the variable agestd::cin >> age;//output response to userstd::cout<<"How interesting you learned to ride at "<<age<<"!\n";std::cout<<"What is your name? ";std::cin>>name;std::cout<<"Hello "<<name<<" !\n";return 0;
}

我们将使用 cout 提问,然后 cin 将接收答案。因此,我们将提示用户给我们他们最喜欢的一年,他们学习骑自行车的年龄,以及他们的名字。

现在运行程序,你们最喜欢的一年,输入1995,回车进入下一个问题,

当他们学会骑自行车时,输入5岁,回车进入下一个问题,

你叫什么名字?,输入Tom。回车

回车显示 Hello Tom !

现在,我们来复习一下g ++ 来编译以上代码,

g ++ main.cpp -o hello

main.cpp是我本地存放以上代码的文件,-o是输出编译好的文件,hello是编译完成的文件。现在,我将执行该程序:

./hellp

你会注意到我这样做后,效果跟我用工具的运行效果是一样的。

字符输入

所以现在,我们知道 Cin 不会检索其中有空格的字符串。 它会将空间视为输入的结尾。 我们显然需要一种输入字符串的方法。 C ++ 有一个名为 getline 的函数。

getline 的基本形式是 getline(Cin,variableName)。 这将从Cin 中检索字符,将它们存储在名为 variableName 的变量中。 它将检索所有字符,直到检测到新行 或 \ n。 这是一个如何使用 Cin 和 getline 的例子。

#include<iostream>
#include<string>int main()
{std::string userName; std::cout<<"Tell me your nickname?: ";std::getline(std::cin, userName);std::cout<<"Hello "<<userName<<"\n";return 0;
}

运行结果:

输入名称,回车:

再看一个例子:

#include<iostream>
#include<string>int main()
{std::string name1, address1, phoneNo1;std::string name2, address2, phoneNo2;//get user1 informationstd::cout<<"User1 what is your name?\n";std::getline(std::cin, name1);std::cout<<"User1 what is your address?\n";std::getline(std::cin, address1);std::cout<<"User1 what is your phone number?\n";std::getline(std::cin, phoneNo1);//get user2 informationstd::cout<<"User2 what is your name?\n";std::getline(std::cin, name2);std::cout<<"User2 what is your address?\n";std::getline(std::cin, address2);std::cout<<"User2 what is your phone number?\n";std::getline(std::cin, phoneNo2);//print informationstd::cout<<"\n\n"<<name1<<"\n";std::cout<<"\t\t"<<address1<<"\n";std::cout<<"\t\t"<<phoneNo1<<"\n";std::cout<<"\n\n"<<name2<<"\n";std::cout<<"\t\t"<<address2<<"\n";std::cout<<"\t\t"<<phoneNo2<<"\n";    return 0;
}

最后输出结果:

更多字符串

您可以找到方便的字符串输入的另一个方面,使用 getline 和 streamstring 将字符串转换为其他变量类型。

第一步是,我们需要包含流字符串库。

第二步是,我们使用 getline 从用户那里获取字符串。

第三步是,我们使用 字符串流 将 字符串变量 转换为 数字变量。

我们来看以下例子:

#include <iostream>
#include <string>
#include <sstream>int main ()
{std::string stringLength;float inches = 0;float yardage = 0;std::cout << "Enter number of inches: ";std::getline (std::cin,stringLength);std::stringstream(stringLength) >> inches;std::cout<<"You entered "<<inches<<"\n";yardage = inches/36;std::cout << "Yardage is " << yardage;return 0;
}

运行结果:

输入48,回车,得到:

技术要领解析:

1。我们包含字符串流库,它是 #include <sstream>。

2。我们定义一个名为 stringLength 的字符串变量。

3。我们使用 getline 从控制台获取字符串长度的值。

4。我们使用 字符串流 将名为 stringLength 的字符串变量转换为 inches 的浮点变量(注意这里转换为 inches 变量,所以inches的值也跟 stringLength 一样)。

5。我们可以像算术运算中的任何其他浮点一样使用它。

再来看一个例子:

#include <iostream>
#include <string>
#include <sstream>int main ()
{std::string stringLength, stringWidth;float length = 0;float width = 0;float area = 0;std::cout << "Enter the length of the room: ";//get the length as a stringstd::getline (std::cin,stringLength);//convert to a floatstd::stringstream(stringLength) >> length;//get the width as a stringstd::cout << "Enter width: ";std::getline (std::cin,stringWidth);//convert to a floatstd::stringstream(stringWidth) >> width;area = length * width;std::cout << "\nThe area of the room is: " << area << std::endl;return 0;
}

运行结果:

输入长 和 宽,最后求出面积。

快速掌握C ++

快速熟练掌握编程语言的另一种方法是调试程序。 在下一个测验中,我给了你一个充满错误的程序。

请找到错误,以便代码正确执行。

#include "main.hpp"int main()
{float FTemp = 0;float CTemp = 0;cout << "Enter a Farenheit temperature: "<<"\n";cin>>FTemp;CTemp = (FTemp - 32.0) / (9.0/5.0);cout<<"\n"<<FTemp <<" in farenheit = " <<CTemp<<" in Celcius\n";return 0;
}

正确的示范:

#include "main.hpp"int main ()
{float FTemp = 0;float CTemp = 0;cout << "Enter a Farenheit temperature: ";cin>>FTemp;CTemp = (FTemp - 32.0) / (9.0/5.0);cout << "\n"<<FTemp <<" in farenheit = " <<CTemp<<" in Celcius\n";return 0;
}

代码是最为耐心、最能忍耐和最令人愉快的伙伴,在任何艰难困苦的时刻,它都不会抛弃你。

C ++基础 | 用户输入之cin函数的正规使用_4相关推荐

  1. 重温Python基础——用户输入和while循环

    人生苦短,我用Python 序言 函数input()的工作原理 使用int()来获取数值输入 while循环简介 使用break退出循环 在循环中使用continue 避免无限循环 删除为特定值的所有 ...

  2. matlab提示用户输入参数,调用函数显示输入参数不足

    问题描述.png (29.7 KB, 下载次数: 1) 2015-1-27 09:34 上传 %Gauss-Newton算法实现如下 function[x,minf] = GN(f,x0,var,ep ...

  3. Python3 基础学习笔记 C06【用户输入和 while 循环】

    CSDN 课程推荐:<8小时Python零基础轻松入门>,讲师齐伟,苏州研途教育科技有限公司CTO,苏州大学应用统计专业硕士生指导委员会委员:已出版<跟老齐学Python:轻松入门& ...

  4. python使用什么函数接收用户输入的数据_python 3.x:调用和执行函数的用户输入...

    有许多类似的问题,但没有一个答案解决了我的问题. 我定义了几个解析大型数据集的函数.首先,我调用数据,然后将数据(在.txt中表示为行和列)组织到列表中,我将为各个数据条目编制索引.在此之后,我建立了 ...

  5. 《Python编程从入门到实践》学习笔记7:用户输入和while循环

    一.用户输入 函数input()的功能,就是让程序在运行过程中,能够接收到用户的输入进行输出,如下例所示: prompt = "请按照提示输入您的姓名,我们将根据您的姓名显示信息!\n&qu ...

  6. 【小白学习C++ 教程】三、C++用户输入、判断语句和switch

    @Author:Runsen 文章目录 用户输入 判断语句 switch 用户输入 cout用于输出(打印)值的 .现在将使用cin来获取用户输入. cin是预定义的变量,可使用提取操作符(>& ...

  7. Class - 7 用户输入和while循环

    7.1 函数input()的工作原理 函数input()让程序暂停运行,等待用户输入一些文本.获取用户输入后,python将其存储在一个变量中,以方便使用.例: message = input(&qu ...

  8. 基础知识——用户输入和函数(五)

    基础点 用户输入:message=input("用户输入:") 函数传递列表参数,并且禁止修改列表:列表为a,函数为func(),调用func(a[:]),此时传递的是列表a的副本 ...

  9. [转载] 【基础教程】Python input()函数:获取用户输入的字符串

    参考链接: 从Python中控制台获取输入 input() 是 Python 的内置函数,用于从控制台读取用户输入的内容.input() 函数总是以字符串的形式来处理用户输入的内容,所以用户输入的内容 ...

最新文章

  1. idea 连接 mysql_IDEA 与MySQL连接问题
  2. Win10 Terminal + WSL 2 安装配置指南,精致开发体验 - 知乎 (zhihu.com)
  3. Python(迭代、三元表达式、列表生成、生成器、迭代器)
  4. 前台传json ajax,如何在前台脚本通过json传递数据到后台(使用微软自带的ajax)
  5. iOS:后台定位并实时向服务器发送位置
  6. xlsx文件打开乱码_Excel 2016 双击无法打开xlsx文件怎么办?
  7. Python学习教程:Python3内置模块之base64编解码方法小结
  8. MySQL设置字符编码
  9. 将iTunes音乐传输到USB驱动器以在汽车中收听
  10. 在pycharm中查看opencv版本
  11. android如何保证多线程安全,保证线程安全的方式有哪几种?
  12. python经典例题及答案_python经典例题100道
  13. html选项卡出现乱码,html乱码
  14. python爬取微博设备显示怎么更改_Python定向爬虫模拟新浪微博登录
  15. python入门---日常经验分享
  16. 论文复现—1—A Simple yet Effective Relation Information Guided Approach for Few-Shot Relation Extraction
  17. Ajaxfileupload上传多张图片
  18. lsdyna如何设置set中的node_list_ANSA中进行二次开发的Python基础知识
  19. matlab plotroc 画roc曲线
  20. [SCOI2012]喵星球上的点名

热门文章

  1. php mysql 到表最后_如何在PHP中获取MySQL表的最后插入ID?
  2. Android笔记 theme主题
  3. yolox: AssertionError: Caught AssertionError in DataLoader worker process 0.
  4. Python求转置矩阵最简便的方法
  5. kinect内参数的标定
  6. cmake 添加二进制文件_CMake构建系统
  7. Cmder安装后相关配置说明
  8. python程序多次运行_Python内怎么使同一个.py文件多次运行?
  9. swt 键盘事件ctrl+c_VB键盘事件详解
  10. php 字符串转 buffer,这个字符串转换类用处大吗?-PHP教程,PHP应用