oregon ha scritto:
Questa linea
while (play_again == 's' || play_again == 'S') ((cout << "\nChi attacca per primo? (s/n)\n") && (!(cin >> war) || war == 's' || war == 'S' || war == 'n' || war == 'N'))
non ha molto senso ... cosa c'entra la cout con la condizione della while?
E comunque, scritta in quel modo, non può essere compilata. Che volevi fare?
Stavo seguendo l'esempio linkato da skynet
...
while ((std::cout << "How old are you? ")
&& (!(std::cin >> age) || age < 1 || age > 200)) {
std::cout << "That's not a number between 1 and 200; ";
std::cin.clear();
std::cin.ignore(std::numeric_limits<std::streamsize>::max(), '\n');
}
...
Da come ho interpretato metteva un array tra 1 e 200, di conseguenza immaginavo che potevo fare la stessa cosa, dove ammetteva esclusivamente "s" "S" "n" "N", se veniva messo come input un'altra lettera dava errore di Input, l'avevo anche fatto andare in un tentativo ma chiedeva due volte l'input, del tipo:
Chi attacca per primo(s/n)?
s
s
I cowboys attaccano per primi, le cheerleaders perdono una unità
riesci a dirmi cosa ho interpretato male?