<script>function StorePage(){d=document;t=d.selection?(d.selection.type!='None'?d.selection.createRange().text:''):(d.getSelection?d.getSelection():'');void(keyit=window.open('http://www.365key.com/storeit.aspx?t='+escape(d.title)+'&u='+escape(d.location.href)+'&c='+escape(t),'keyit','scrollbars=no,width=475,height=575,left=75,top=20,status=no,resizable=yes'));keyit.focus();}</script>
今天抱着试试的心态参加学校“ACM”预先赛,想着要用前几天刚学的C++试试,没想到却让一个小问题把我给卡住了,三道题只做出了一道,其它两道不是算法不知道,而是编程语言不熟悉导致的,觉得好可惜!
先看今天的代码,我要先从控制台输入一个整数n,再输入n个字符串。
输出如下:
Input num:3
Input st:
press a key to continue...
问题:程序运行很奇怪,在输入一个整数之后就无法输入字符串了。
解决方案:是 cin 的问题。修正后的代码如下:
需要用 cin.ignore() 清除残余物质。
小知识:
Cin.ignore()方法cin.ignore( 5, 'c' ) 的是从输入流(cin)中提取字符,提取的字符被忽略(ignore),不被使用。每抛弃一个字符,它都要计数和比较字符:如果计数值达到5或者被抛弃的字符是'c',则cin.ignore() 函数执行终止;否则,它继续等待。 它的一个常用功能就是用来清除以回车结束的输入缓冲区的内容,消除上一次输入对下一次输入的影响。比如可以这么用:cin.ignore( 1024, '\n' );,通常把第一个参数设置得足够大,这样实际上总是只有第二个参数 '\n' 起作用,所以这一句就是把回车(包括回车)之前的所以字符从输入缓冲(流)中清除出去。
更多关于 cin 的详细信息:http://hi.baidu.com/ttvid/blog/item/d38dd85821890281800a1822.html
分享到:
相关推荐
控制台读取连续字符串的时候以单独字符存入数组,用OJ提交的时候,我发现有些题目输入格式是连续字符串,但我想把它每个字符单独放到数组每个地址里
void main() { char ch,c[10],*p=NULL,*p_d; int l=1; cout,press Enter to end:\n"; do { cin.get(c,10); l+=strlen(c); p_d=new char[l]; if(p_d==NULL) { cout; return;...
在C++编程中,从输入中读取字符串是常见的任务,尤其在处理用户输入或文件数据时。本文将深入探讨两种方法,一种是读取单个由空格分隔的词,另一种是读取整行文本。 首先,我们来看如何使用`cin`来读取一个以空格...
输入一个字符串,将输出该字符串最长对称子串及其长度,很精巧的算法
我的课程设计1,c++语言开发一个计算器,控制台输入字符串表达式计算出结果,可以实现四则运算和sin,cos tan 混合运算显示结果。对输入表达式解析数字和符号(有负号判断),将表达式构建成树,进行计算
C++ 字符串匹配 C++ 的字符串匹配是计算机科学中非常重要的一部分,它在许多领域都有广泛的应用,如数据压缩、模式识别、文本编辑等。在这一篇文章中,我们将详细介绍 C++ 中的字符串匹配算法,主要包括 Brute ...
3. **字符与字符串**:在处理用户输入时,通常需要将字符转换为字符串或者其他数据类型,以便进行进一步的计算或处理。这可能涉及到类型转换和格式化。 4. **循环与条件判断**:为了持续接收用户的输入,我们可能会...
根据给定的信息,本文将对“C++控制台的智能桌面计算器”进行详细的解析与介绍。此计算器具备处理复杂表达式的能力,用户可以输入类似数学公式的形式,如:`40-(5.2*2.1-10)-5/i-25/5+9=`,按下回车键后即可得到...
在C++编程中,LED打印数字是指将阿拉伯数字在控制台上以类似LED显示屏幕的方式输出。LED显示屏通常用七段或八段LED数码管来表示每个数字,因此在...完成以上步骤后,你就可以在C++控制台上看到类似LED屏显示的数字了。
此示例代码涵盖了字符串输入、比较以及排序等关键步骤,并使用了基本的C++语法和标准库函数。 #### 二、代码解析 ##### 1. 包含头文件 ```cpp #include<conio.h> #include<stdio.h> #include #include<string> ...
在C++编程中,标准库提供了`std::string`类来处理字符串,但它在某些情况下可能无法满足所有需求。为了增强其功能,开发者有时会选择扩展这个基础类,以实现更高级的操作,比如在控制台上输出彩色字符串。在给定的...
此外,可能还会用到字符串(string)类来处理文本,以及时间戳(chrono库)来计算用户完成输入所花费的时间。 在实际的项目中,源码可能包含多个文件,比如一个主程序文件(如main.cpp)、一个包含函数定义的头文件...
此外,你可能还需要创建友好的用户界面,通过字符串格式化和换行来提高用户体验。 在实现游戏逻辑时,你可能会遇到递归或循环的使用,因为游戏可能需要多次迭代直到某一方达到游戏结束的条件。递归在解决此类问题时...
这个函数会等待用户按下回车键,然后返回包括回车在内的整个字符串。注意,由于`QTextStream`默认会处理换行符,所以无需额外处理。 为了能够接收键盘输入并作出响应,我们可以使用事件循环。QT的`QCoreApplication...
### C++控制台程序连接SQL数据库知识点解析 #### 一、引言 本文将详细介绍如何在C++控制台应用程序中连接并操作SQL数据库。通过分析提供的示例代码,我们将逐步了解整个过程,包括连接数据库、执行查询、添加、更新...
- 字符串编码:由于网络传输的数据是二进制形式,所以字符串需要转化为字节流,常见的编码方式有ASCII、UTF-8等。 - 数据打包:为了正确传输,数据通常会被封装成特定格式(如TCP的报文段)再发送。 4. **错误...
### C++控制台计算器 #### 1. 算术运算的优先级处理 代码中首先处理了乘法和除法的计算,这是因为根据数学中的运算法则,乘法和除法的优先级高于加法和减法。在`//*/`注释部分,通过循环遍历符号数组(`symbol`)...
现在,你就可以像处理普通C++控制台程序一样处理MFC程序的输入输出了。例如: ```cpp int main() { //...其他MFC初始化代码... // 控制台输入输出示例 std::cout 请输入一个数字:"; int num; std::cin >> ...
在本项目中,我们讨论的是一个使用C++编程语言实现的控制台学生信息管理系统,它具备基本的学生数据管理功能,并且具有模糊搜索功能。这样的系统对于教学、小型机构或者个人学习C++编程以及数据管理非常有帮助。接...
在文本编辑器中,我们可能需要创建一个新的字符串来存储用户输入的内容,或者对现有文本进行修改,这就需要用到这些方法。 接下来,我们讨论字符串匹配算法。在实现查找功能时,我们需要快速定位特定的子串。常见的...