C++ 实现按随意键继续~~~

近期让学生敲代码交作业的时候要求他们仅仅给我交个cpp文件和一个exe文件,这样交上来的东西不至于太多,不占我的地方,可是有一个问题是exe它总是执行完后就直接关闭界面了,看不到执行结果的界面。

然后我就教他们说,用一个cin语句,让界面停留一下等待用户输入,这样我们就能够看得到界面了。(我认为眼下为止,它们也还仅仅能接受这样的方式吧?)

今天下课之后,一个学生一脸汗且非常严肃的来问了我几个问题。

为什么#include<conio.h>文件头去掉.h就不行了?在用到getch()函数的时候要包括这个文件头。

这个。。。我想没有为什么吧?我仅仅能告诉他说由于getch()仅仅存在<conio.h>中,没有在<conio>然后std中~~~

然后他又问我,rand()函数的头文件是哪个?#include<stdlib.h>? ~~~~~~~~~~我想说,为什么还要问呢?

回到宿舍洗完澡之后,我又想起这个问题,认为我有必要把正经的能让程度按随意键继续的那个函数找出来,然后我常旧百度了一下。

答案是这种:假设用stdio.h,那能够用getchar();假设用stdlib.h,那就用system("PAUSE");假设用conio.h,那就用getch()。

然后我编了个小程序去试一下,由于我记得,在VC6.0环境下,用getchar()并不须要加头文件stdio.h。

我的程序例如以下:

#include<iostream>
using namespace std;

int main()
{
 int i;
 cin>>i;
 cout<<i<<endl;
getchar();

return 0;
}

然后执行结果是,它根本没有停留,依旧自我的结束了执行。

正当我想下个结论说"当getchar()遇上cin的时候它就失效了"的时候,我看到了这样一个答案:由于用getchar()仅仅能接收到一个字符,当你输入n值后,按了回车键,这个值在windows平台下是两个ASCII字符/n/r也就是回车换行,当回车时/n被控制台接收而/r没有,/r让紧接其后的getchar()接收了,于是就出现了以上情况。

哦~~~原来如此。

可是,getch()就没有这个问题,我试过了。

C++ 实现按随意键继续~~~,布布扣,bubuko.com

时间: 2024-10-24 01:12:15

C++ 实现按随意键继续~~~的相关文章

具体解释http 协议

HTTP协议的主要特点可概括例如以下: 1.支持客户/server模式. 2.简单高速:客户向server请求服务时,仅仅需传送请求方法和路径.请求方法经常使用的有GET.HEAD.POST.每种方法规定了客户与server联系的类型不同. 因为HTTP协议简单,使得HTTPserver的程序规模小.因而通信速度非常快. 3.灵活:HTTP同意传输随意类型的数据对象. 正在传输的类型由Content-Type加以标记. 4.无连接:无连接的含义是限制每次连接仅仅处理一个请求.server处理完客

VxWorks启动过程具体解释(下)

上一节主要是从映像的分类和各种映像的大致载入流程上看VxWorks的启动过程,这一节让我们从函数级看一下VxWorks的启动过程: 1. Boot Image + Loadable Images: 以下是详细的流程图: 当中第一阶段的运行流程使用的是上图的左边的源文件里的那些函数(romInit->romStart->usrInit->sysHwinit->usrKernelinit->usrRoot);第二阶段运行流程使用的是上图中右边源文件里的那些函数(sysInit-&

员工管理系统(完整版)

转载请注明出处:http://blog.csdn.net/u012860063 #include <stdio.h> #include <windows.h> #include <string.h> struct worker { int num; char name[20]; char zhicheng[10]; int wages; int reward; long birth; int salary; } work[500],work1; void menu();

设计模式C++实现_2_简单工厂模式

简单工厂模式 主要用于创建对象. 新加入类时. 不会影响曾经的系统代码. 核心思想是用一个工厂来依据输入的条件产生不同的类,然后依据不同类的 virtual 函数得到不同的结果. 以下以苹果手机的生产为例.模拟手机生产工厂. 苹果手机有各种不同的型号,有Iphone4.Iphone4s.Iphone5等等. 我们通过一个工厂来生产,client依据客户的需求生产不同型号的手机. 代码例如以下: Apple.h #pragma once #include <iostream> class App

队列的定义与实现(C语言实现)

小时候.我们做早操的时候或者军训的时候,都排成一列,有头有尾.如果你迟到了,仅仅能站到最后面一个.退场的时候.都是由第一个先走的.这就是队列雏形. 队列的定义 队列是一种特殊的线性表 队列仅在线性表的两端进行操作 队头(Front):取出数据元素的一端 队尾(Rear):插入数据元素的一端 队列不同意在中间部位进行操作! 队列实质上也就是线性表的一种特殊操作形式,在头部删除.获取,在尾部加入. 跟栈基本类似,换烫不换药.详细能够參考 栈的实现与操作(C语言实现)  与栈一样,队列相同具备线性和链

【OpenCV新手教程之十七】OpenCV重映射 &amp;amp; SURF特征点检測合辑

本系列文章由@浅墨_毛星云 出品.转载请注明出处. 文章链接:http://blog.csdn.net/poem_qianmo/article/details/30974513 作者:毛星云(浅墨)    微博:http://weibo.com/u/1723155442 知乎:http://www.zhihu.com/people/mao-xing-yun 邮箱: [email protected] 写作当前博文时配套使用的OpenCV版本号: 2.4.9 本篇文章中,我们一起探讨了OpenCV

[数据结构]队列之顺序队列的类模板实现

队列是一种限定存取位置的线性表.同意插入的一端叫做队尾(rear),同意删除的一端叫做队首(front). 队列具有FIFO的性质 队列的存储表示也有两种方式:基于数组的,基于列表的.基于数组的叫做顺序队列.基于列表的叫做链式队列. 一下是基于动态数组的顺序队列的模板类的实现. 顺序队列的抽象基类例如以下所看到的:仅仅提供了接口和显式的默认构造函数和析构函数,在派生类中调用. #ifndef QUEUE #define QUEUE //队列的抽象基类 template<class T> cla

设计模式C++实现——状态模式

模式定义 状态模式同意对象在内部状态改变时改变它的行为,对象看起来好像改动了它的类. 模式结构: Context: 环境定义客户感兴趣的接口 维护一个ConcreteState子类的实例,这个实例定义当前状态 State: 定义一个接口封装与Context的一个特定状态相关的行为 ConcreteState subclasses: 每一子类实现一个与Context的一个状态相关的行为 举例: 一个工人一天的时间分为上班,睡觉.干其它事情三个时间段.我们能够用状态模式来表示一天中在干什么事情. U

从U盘安装win8系统

http://blog.csdn.net/pipisorry/article/details/40662397 lz提示,下面也能够用于win7.linux等操作系统的安装 一.下载windows安装文件 下载win8安装映像文件.iso 二.将iso文件刻录到u盘 大部分电脑都支持u盘引导,将iso文件刻录到u盘的目的是为了用u盘安装系统. 下载工具:UltraISO(软碟通)下载 u盘 第一步:执行UltraISO 1选择文件打开所须要刻录的ISO文件 2启动>写入硬盘镜像 3选择要刻录到的