欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

创建友好的用户界面——使用缓冲输入

程序员文章站 2022-07-04 23:14:32
前言 大部分人偶尔会写一些中看不中用的程序。还好C提供了大量的工具让输入更顺畅,处理过程更顺畅,处理过程更顺利,不过,学习这些工具会导致新的问题。本篇博文的目标是:指导读者解决这些问题并创建更友好的用户界面,让交互数据输入更方便,减少输入错误的影响。 使用数据缓冲输入 缓冲输入用起来很方便,因为在把 ......

前言

大部分人偶尔会写一些中看不中用的程序。还好C提供了大量的工具让输入更顺畅,处理过程更顺畅,处理过程更顺利,不过,学习这些工具会导致新的问题。本篇博文的目标是:指导读者解决这些问题并创建更友好的用户界面,让交互数据输入更方便,减少输入错误的影响。

使用数据缓冲输入


缓冲输入用起来很方便,因为在把输入发送给程序之前,用户可以编辑输入。但是输入字符时,它也会给程序员带来麻烦。话不多说让我们看下面这段最初的猜谜程序。

创建友好的用户界面——使用缓冲输入

      撇开这个糟糕的算法不说,我们注意每输入一个n时,程序打印两条消息。这是由于程序读取n作为用户否定了数字1,然后还读取了一个换行字符作为用户否定了数字2.

     下面介绍一下解决这个问题的其中一种方法,使用while循环丢弃输入行最后的剩余内容,包括换行符。这种方法的优点是,能把no和no way这样的响应视为简单的n。程序如下图所示:

创建友好的用户界面——使用缓冲输入

这的确解决了换行符的问题。但是,该程序还是会把f视为n。我们用if语句筛选其他响应。首先,添加一个char类型的变量储存类型响应:

char response;

修改后如下:

创建友好的用户界面——使用缓冲输入

 

       在编写交互式程序时,应先预料到用户可能会输入错误,然后设计程序处理用户的错误输入,在用户出错时通知用户再次输入。

      当然,无论你的提示写的多么清楚,总有人误解,然后抱怨这个程序设计的多么糟糕。下篇继续讲解混合数值和字符输入。

    想要了解更多的C/C++知识以及相关的就业指导,欢迎加入下面群聊,邀请码  灵狐(不填不通过哦)

 

创建友好的用户界面——使用缓冲输入