防止在字符数组中输入双倍空格在 C++

prevent input for double spaces in character arrayin C++

本文关键字:空格 输入 C++ 字符 数组      更新时间:2023-10-16

我必须避免在我的字符数组中避免双空格、双空格!和双句号。顺便说一句,我必须使用字符数组。 例如,有效数据:"下雨了! 无效数据:"下雨了!." (这只是一个例子(

我尝试了以下方法,但没有得到想要的结果。请帮助我。

#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;
}