Ich versuche, ein einfaches Mad Libs Programm in C++ zu machen, und ich möchte überprüfen, ob ein Wort, das ein Benutzer eingegeben hat, mit einem Vokal beginnt, und falls ja, ändern Sie das "a" vor dem Wort, zu einem "an". Ich konnte das erste gespeicherte Zeichen abrufen, es wird jedoch nicht mit den anderen Zeichen in der If-Anweisung verglichen. Mache ich das völlig falsch?Ich kann keine Zeichen vergleichen (C++)
#include <string>
#include <iostream>
using namespace std;
int main() {
string adj_3;
string anN;
char firstChar;
// GETTING USER'S WORD
cout << "ADJECTIVE: " << endl;
getline(cin, adj_3);
// GETTING FIRST CHARACTER
firstChar = adj_3[0];
// SEEING IF IT'S A VOWEL (not working)
if(firstChar == ('a' || 'e' || 'i' || 'o' || 'u' || 'A' || 'E' || 'I' || 'O' || 'U')) {
anN = "n";
}
else {
cout << "not working" << endl;
}
cout << "I am having a" << anN << " " << adj_3 << " time at camp." << endl;
}
Sie könnten ein [gutes Buch] lesen wollen (https://stackoverflow.com/questions/388242/the-definitive-c-book-guide-and-list). – Rakete1111
Klingt, als könnten Sie ein [gutes C++ Buch] verwenden (http://stackoverflow.com/questions/388242/the-definitive-c-book-guide-and-list). Darin wird Ihnen gezeigt, wie man mehrere Vergleiche macht. – NathanOliver
Das ist nicht wie Operator || funktioniert. – Borgleader