Я создаю книгу архивной программы, и один из членов данных говорит, что книга читается или нет. Однако я не могу заставить программу писать «Да» на экран, поэтому я предполагаю, что она никогда не меняется, хотя я говорю «Y», когда меня спрашивают, прочитал ли я книгу. Может ли кто-нибудь увидеть, что я сделал неправильно?Булево значение всегда ложно
cout << "\n\tEnter title of book: ";
cin >> title;
cout << "\tEnter author of book: ";
cin >> author;
cout << "\tEnter genre of book (1. Crime, 2. Sports, 3. Science, 4. Drama): ";
cin >> choice;
switch(choice)
{
case 1: genre = crime; break;
case 2: genre = sports; break;
case 3: genre = science; break;
case 4: genre = drama; break;
}
cout << "\tEnter year of publication: ";
cin >> yearPublished;
cout << "\tHave you read the book? (Y/N): ";
cin >> ch;
if(toupper(ch) == 'Y')
{
haveRead == true;
}
else
{
haveRead == false;
}
Утверждение 'hasRead == true;' не является назначением. Включите больше предупреждений компилятором, и он должен предупредить вас об этом. –
Что произойдет, если пользователь вводит выбор не в инструкции switch? –