0
Ich weiß nicht, wie man überprüft, ob die Eingabe eines Benutzers alphabetisch ist. Ich möchte das Programm auf:Überprüfen, ob die Benutzereingabe alphabetisch ist
- die Benutzereingabe lesen Check
- wenn es alphabetische ist
- Ausgabe der Name wieder
Ich versuchte isdigit
und isalpha
zu verwenden, aber ich konnte es nicht bekommen arbeiten.
//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;
}
Dies ist meine alte Lösung, die überhaupt nicht funktioniert. Ich fand das auf einer anderen Seite und nutzte es als "Vorlage".
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;
}
Sie benötigen eine Schleife über den "Name eingeben" -Teil, abhängig von der Ausgabe der Funktion nameCheck (verwenden Sie den Rückgabetyp bool dafür). In Pseudocode etwas in der Art von 'while (! NameCheck (name)) {name = promptName()}'. – nucleon
Name ist eine 'Sammlung von Wörtern'. Verwenden Sie daher 'std :: string' anstelle von' char'. Wenn Sie 'Space' in Names erwarten, verwenden Sie' getline() '. – sameerkn
Es tut mir leid, wie ich schon sagte ich bin neu hier und nutze diese Seite aktiv zum ersten Mal. – metr1xx