C ++基础 | 用户输入之cin函数的正规使用_4
目录
用户输入
字符输入
更多字符串
快速掌握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相关推荐
- 重温Python基础——用户输入和while循环
人生苦短,我用Python 序言 函数input()的工作原理 使用int()来获取数值输入 while循环简介 使用break退出循环 在循环中使用continue 避免无限循环 删除为特定值的所有 ...
- matlab提示用户输入参数,调用函数显示输入参数不足
问题描述.png (29.7 KB, 下载次数: 1) 2015-1-27 09:34 上传 %Gauss-Newton算法实现如下 function[x,minf] = GN(f,x0,var,ep ...
- Python3 基础学习笔记 C06【用户输入和 while 循环】
CSDN 课程推荐:<8小时Python零基础轻松入门>,讲师齐伟,苏州研途教育科技有限公司CTO,苏州大学应用统计专业硕士生指导委员会委员:已出版<跟老齐学Python:轻松入门& ...
- python使用什么函数接收用户输入的数据_python 3.x:调用和执行函数的用户输入...
有许多类似的问题,但没有一个答案解决了我的问题. 我定义了几个解析大型数据集的函数.首先,我调用数据,然后将数据(在.txt中表示为行和列)组织到列表中,我将为各个数据条目编制索引.在此之后,我建立了 ...
- 《Python编程从入门到实践》学习笔记7:用户输入和while循环
一.用户输入 函数input()的功能,就是让程序在运行过程中,能够接收到用户的输入进行输出,如下例所示: prompt = "请按照提示输入您的姓名,我们将根据您的姓名显示信息!\n&qu ...
- 【小白学习C++ 教程】三、C++用户输入、判断语句和switch
@Author:Runsen 文章目录 用户输入 判断语句 switch 用户输入 cout用于输出(打印)值的 .现在将使用cin来获取用户输入. cin是预定义的变量,可使用提取操作符(>& ...
- Class - 7 用户输入和while循环
7.1 函数input()的工作原理 函数input()让程序暂停运行,等待用户输入一些文本.获取用户输入后,python将其存储在一个变量中,以方便使用.例: message = input(&qu ...
- 基础知识——用户输入和函数(五)
基础点 用户输入:message=input("用户输入:") 函数传递列表参数,并且禁止修改列表:列表为a,函数为func(),调用func(a[:]),此时传递的是列表a的副本 ...
- [转载] 【基础教程】Python input()函数:获取用户输入的字符串
参考链接: 从Python中控制台获取输入 input() 是 Python 的内置函数,用于从控制台读取用户输入的内容.input() 函数总是以字符串的形式来处理用户输入的内容,所以用户输入的内容 ...
最新文章
- idea 连接 mysql_IDEA 与MySQL连接问题
- Win10 Terminal + WSL 2 安装配置指南,精致开发体验 - 知乎 (zhihu.com)
- Python(迭代、三元表达式、列表生成、生成器、迭代器)
- 前台传json ajax,如何在前台脚本通过json传递数据到后台(使用微软自带的ajax)
- iOS:后台定位并实时向服务器发送位置
- xlsx文件打开乱码_Excel 2016 双击无法打开xlsx文件怎么办?
- Python学习教程:Python3内置模块之base64编解码方法小结
- MySQL设置字符编码
- 将iTunes音乐传输到USB驱动器以在汽车中收听
- 在pycharm中查看opencv版本
- android如何保证多线程安全,保证线程安全的方式有哪几种?
- python经典例题及答案_python经典例题100道
- html选项卡出现乱码,html乱码
- python爬取微博设备显示怎么更改_Python定向爬虫模拟新浪微博登录
- python入门---日常经验分享
- 论文复现—1—A Simple yet Effective Relation Information Guided Approach for Few-Shot Relation Extraction
- Ajaxfileupload上传多张图片
- lsdyna如何设置set中的node_list_ANSA中进行二次开发的Python基础知识
- matlab plotroc 画roc曲线
- [SCOI2012]喵星球上的点名
热门文章
- php mysql 到表最后_如何在PHP中获取MySQL表的最后插入ID?
- Android笔记 theme主题
- yolox: AssertionError: Caught AssertionError in DataLoader worker process 0.
- Python求转置矩阵最简便的方法
- kinect内参数的标定
- cmake 添加二进制文件_CMake构建系统
- Cmder安装后相关配置说明
- python程序多次运行_Python内怎么使同一个.py文件多次运行?
- swt 键盘事件ctrl+c_VB键盘事件详解
- php 字符串转 buffer,这个字符串转换类用处大吗?-PHP教程,PHP应用