防止在字符数组中输入双倍空格在 C++
prevent input for double spaces in character arrayin C++
我必须避免在我的字符数组中避免双空格、双空格!和双句号。顺便说一句,我必须使用字符数组。 例如,有效数据:"下雨了! 无效数据:"下雨了!." (这只是一个例子(
我尝试了以下方法,但没有得到想要的结果。请帮助我。
#include<iostream>
using namespace std;
bool isValidData( char data[60] );
int main()
{
char data[60];
cin.getline(data,60);
bool name = isValidData(data);
cout<<name;
}
bool isValidData( char data[60] )
{
int i=0;
while(data[i]!=' ') {
if ( data[i]==' ' && data[i]=='.' && data[i]=='!'){
if ( data[i+1]==' ' && data[i+1]=='.' && data[i+1]=='!')
return false;
}
i++;
}
return true;
}
您的代码失败,因为没有字符可以同时等于,
、!
和。 即使修复了此问题,您仍将CC_4标记为无效。
改为直接测试属性:
bool isValidData( char data[60] )
{
int i=0;
while(data[i]!=' ' && data[i+1]!=' ') {
if ((data[i]==' ' || data[i]=='.' || data[i]=='!') && data[i+1]==data[i]) {
return false;
}
i++;
}
return true;
}
相关文章:
- 2D数组来自文本输入,中间有空格
- 如何在C++中读取空格分隔的输入 当我们不知道输入的数量时
- 如何打印不带空格的输入整数?
- 如何删除已输入的书以及如何使标题,语言和名称在上面放置空格不会出错?
- 当输入在带有空格的单行中给出时,cin 如何在 while 循环中工作?
- 从输入文件修剪空格
- 防止在字符数组中输入双倍空格在 C++
- 如何处理包含空格的 cin 的用户输入?
- C++ - 如何将空格键转换为短划线以进行cmd输入
- CIN不接受C++中带有空格的输入?
- 将空格作为单字符数据类型的输入?
- 防止控制台在通道字符(在 c++ 中)中输入空格(即空格、制表符和换行符)
- 用空格填充 2D 数组(从文件输入)
- 获取由空格分隔的未知大小的单行输入,并将其存储到整数数组中
- 检测要在 if 语句中使用的输入空格
- 如果用户输入两个或多个由空格分隔的字符串C++如何防止缓冲区溢出?
- 使用 Get 的 C++ 输入被替换为空格、不正确的数字
- 在 C++ 中输入带有空格的字符数组
- 仅 C++ 字母和空格输入验证
- 允许用户使用空格输入