0
ユーザの入力がアルファベットであるかどうかをチェックする方法はわかりません。ユーザの入力がアルファベットであるかどうかを調べる
- それが再び
名のアルファベット
isdigit
とisalpha
を使用しようとしましたが、私はそれを得ることができなかったユーザの入力に//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;
}
nameCheck(戻り値型boolを使用)関数の出力に応じて、「名前入力」部分にループが必要です。 'while(!nameCheck(name)){name = promptName()}'の行に沿った疑似コードでは何か。 – nucleon
名前は「単語の集まり」です。したがって、 'char'の代わりに' std :: string'を使用してください。また、名前に 'space'があることが予想される場合は' getline() 'を使います。 – sameerkn
申し訳ありませんが、私がここに来て、初めてこのサイトを積極的に使っていると言っていました。 – metr1xx