簡體   English   中英

防止在 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]!='\0') {
        if ( data[i]==' ' && data[i]=='.' && data[i]=='!'){
            if ( data[i+1]==' ' && data[i+1]=='.' && data[i+1]=='!')
                return false;
            }
        i++;
    }
    return true;
}

您的代碼失敗,因為沒有字符可以同時等於, , ! , 和 . 即使您修復了該問題,您仍然會標記,! 作為無效。

直接測試屬性:

bool isValidData( char data[60] ) 
{
    int i=0;
    while(data[i]!='\0' && data[i+1]!='\0') {
        if ((data[i]==' ' || data[i]=='.' || data[i]=='!') && data[i+1]==data[i]) {
            return false;
        }
        i++;
    }
    return true;
}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM