2014-01-26 24 views
0

这里的情况:任何人都可以想到一种方法,我可以检查这个错误吗?

我的程序读取用户输入到两个字符数组(不允许使用字符串)。用户输入这样的信息: 单词;单词

我这样做了一个do-while循环,其条件是正在读取的临时字符不是;继续前进< < temp并将temp指定给数组中的下一个字符。然后我用cin.get(variableName,100,'\ n')加载第二个char数组。

我想错误检查,以便如果用户没有在格式单词中输入单词;那么他们会得到一个错误消息。有谁知道我可以设置什么条件来检查这个?我假设他们不会输入单词,单词,单词,单词,单词或任何其他单词,但他们可能只是输入单词而没有;

+2

假设C++ 11编译器,您可以使用''验证输入。这使我想到了第二点:不要使用char数组(它们是邪恶的),请使用'std :: string'。 – Borgleader

+1

“不允许使用字符串”这听起来像作业。它是功课吗?如果是,则标记为这样。另外标记为C似乎在这里不对。 – PlasmaHH

+1

@PlasmaHH删除C标签,我同意。添加家庭作业标签,我不会因为IIRC而被弃用。 – Borgleader

回答

3

即使没有C++ 11和正则表达式,验证输入应该是相当简单:

  1. 计数分号在两个字符串输入。应该只有一个。
  2. 两个阵列的strlen应> = 1
  3. 两个阵列的strlen应< =阵列尺寸-1。
  4. 如果只允许某些类型的字符(例如,没有空格或 标点符号),请扫描这两个数组以查找禁止的字符。
相关问题