2016-06-01 4 views
0

ユーザの入力がアルファベットであるかどうかをチェックする方法はわかりません。ユーザの入力がアルファベットであるかどうかを調べる

  1. それが再び

名のアルファベット

  • 出力だ場合、私はisdigitisalphaを使用しようとしましたが、私はそれを得ることができなかったユーザの入力に
  • チェックをお読みください。私はへのプログラムが欲しいです働く

    //checking if name is valid and not a number 
    int nameCheck(char enteredName) 
    { 
        //if the name is alphabetic 
         /* return and output it */ 
    
        //else 
         /* let the user enter it again */ 
    } 
    
    //user enters the name 
    int nameEntering() 
    { 
        cout << "please enter your Name.\n"; 
        char enteredName; 
        cin >> enteredName; 
        nameCheck(enteredName); 
        return 0; 
    } 
    
    int main() 
    { 
        char enteredName; 
        enteredName = nameEntering(); 
        cout << "Have a nice day " << enteredName << "!\n"; 
        return 0; 
    } 
    

    これはまったく動作しない古いソリューションです。私は別のサイトでそれを見つけ、それを「テンプレート」として使用しました。

    int nameCheck(char enteredName) 
    { 
        int i = 0; 
        char str[] = {enteredName}; 
        while (str[i]) 
         { 
          if (isalpha(str[i])) printf("character %c is alphabetic\n",  str[i]); 
    
          else 
          cout << "Enter your name again without using numbers or other  special characters, please!\n"; 
          nameEntering(); 
          i++; 
         } 
        return enteredName; 
    } 
    
  • +0

    nameCheck(戻り値型boolを使用)関数の出力に応じて、「名前入力」部分にループが必要です。 'while(!nameCheck(name)){name = promptName()}'の行に沿った疑似コードでは何か。 – nucleon

    +1

    名前は「単語の集まり」です。したがって、 'char'の代わりに' std :: string'を使用してください。また、名前に 'space'があることが予想される場合は' getline() 'を使います。 – sameerkn

    +0

    申し訳ありませんが、私がここに来て、初めてこのサイトを積極的に使っていると言っていました。 – metr1xx

    答えて

    0

    解決策が見つかりました。

    //user enters the name 
    void nameEntering() 
    { 
        cout << "please enter your Name.\n"; 
        string enteredName; 
        cin >> enteredName; 
    
    //checking if name is valid and not a number 
        if (find_if(enteredName.begin(), enteredName.end(), isdigit) !=enteredName.end()) 
        { 
         system("cls"); 
         cout << "please don't enter numbers or other special characters.\n"; 
         cout << "\n"; 
         nameEntering(); 
        } 
        //if valid it outputs name 
        else 
        { 
         coutput(enteredName); 
        } 
    } 
    
    関連する問題