Работает "из коробки", ничего делать не нужно.
/* C++ 11 */
#include <iostream>
using namespace std;
int main()
{
char answer;
const char correct = 'b';
cout << "Введите ваш ответ (a, b, c): ";
cin >> answer;
switch (answer) {
case correct:
cout << "Правильно!" << endl;
break;
default:
cout << "Неправильно!" << endl;
break;
}
}
Ответ ясный и очень прост: иллюстрация
Желаю удачи:)
Для приведения к СКНФ необходимо построить таблицу истинности, выбрать из нее строки, где функция принимает нулевое значение, а затем записать конъюнкции всех таких строк, где каждым элементом будет дизъюнкция переменных, взятых с инверсией.
<u>Перевожу на простой язык.</u>
Ищем в таблице истинности строки со значением функции, равным 0.
Для каждой такой строки берем переменные (обозначим переменную Р), и там где в колонке для Р записан 0, пишем Р, а где единица, пишем ¬Р.
Все эти Р для одной строки соединяем через ∨ и заключаем в круглые скобки. Так повторяем для каждой нулевой строки. Между скобками пишем ∧
Результаты даны во вложениях.
Для импликации(ложна только тогда, когда первое логическое значение истинно. а второе ложно; в остальных случаях истинна):
1→1=1
1→0=0
0→1=1
0→0=1
Для эквивалентности(истинна только тогда, когда оба выражения истинны или ложны):
0⇔0=1
1⇔0=0
0⇔1=0
1⇔1=1