我在这里有一个基本的问题,有没有办法阻止程序在“菜单”类型程序中执行字符,你在运行控制台时选择选项,只输入数字来执行步骤和浏览数据。
我的程序是一个图书目录,您可以在其中查看,更改,添加或删除信息。
事情不会那么糟糕,但事实是,当你输入一个字母或非数字字符时,程序会变得混乱和卡住。
我没有添加我的代码,因为我认为应该有一个通用的命令来摆脱我的问题+将我的代码翻译成EN需要一些时间。
期待您的回答,祝您度过愉快的一天
答案 0 :(得分:0)
如果您的应用程序在控制台中运行并且您担心错误(非数字)输入,那么您可能不应该将输入作为数字,而是作为文本然后解析它以查看它实际上是一个数字。如果没有,告诉用户输入不正确,让他们再次输入。
答案 1 :(得分:0)
最简单的方法是使用我认为的getline函数。而不是使用cin>> NUM;例如,你会使用getline(cin,value);在哪里"价值"是您首先存储输入的字符串。然后您可以执行num = atoi(value.c_str());将字符串输入保存为整数值到" num"。如果" num"是一个浮点数,然后只使用atof而不是atoi。这样,如果字符串不是数字,它只是将值设置为0.如果num == 0,则可以使用if语句显示错误消息。希望有所帮助。祝你好运!