Другие языки программирования и технологии

Найдите ошибку в программе на языке с++.

Программа компилируется, запрашивает ввод вопроса, но не пишет строки заложенные в условиях. Прошу написать код правильно.

#include
#include // для system
#include
using namespace std;

int main()
{
char a[32];
char b[17] = "Как тебя зовут ?";
char c[23] = "Как с тобой общаться ?";
int k;
setlocale(LC_ALL, "Russian");
cout << "Что хотите спросить ?" << endl;
cin >> a;
if(a == b){
cout << "Я диалоговая программа" << endl;
}
else if(a == c){
cout << "Через командную строку" << endl;
}
system("pause");
return 0;
}
#include <iostream>
#include <string>
#include <vector>
#include <random>
#include <Windows.h>
using namespace std;
typedef vector<pair<wstring, wstring>> dialog;
dialog get_pharmacy();
void run_dialog(dialog& pharmacy);
void rus();
void print(const wstring& text);
DWORD delay();
int main() {
rus();
dialog pharmacy = get_pharmacy();
run_dialog(pharmacy);
cin.sync();
cin.get();
}
void rus() {
wcin.imbue(locale(".866"));
wcout.imbue(locale(".866"));
}
dialog get_pharmacy() {
dialog pharmacy;
pharmacy.push_back(make_pair(L" - Алё; аптека слушает... ", L" - Добрый день! "));
pharmacy.push_back(make_pair(L" - День добрый! Слушаю вас, слушаю. ", L" - А у Вас есть что-нибудь от головы? "));
pharmacy.push_back(make_pair(L" - Да; конечно! У нас самый большой в городе выбор медикаментов! ", L" - Понятно! А есть - харумамбуру? "));
pharmacy.push_back(make_pair(L" - Ээээ; вы знаете; честно говоря я первый раз слышу об этом препарате... \n Нет; Вы знаете; такого - нету! Обратитесь в другую аптеку! ", L" - А вы не подскажете адрес? "));
return pharmacy;
}
void run_dialog(dialog& run) {
for (auto phrase : run) {
print(phrase.first);
print(phrase.second);
}
}
void print(const wstring& text) {
for (wstring::size_type i = 0U; i < text.length(); ++i) {
wcout << text.at(i);
Sleep(delay());
}
wcout << endl;
}
DWORD delay() {
uniform_int_distribution<DWORD> rand(40, 200);
random_device rnd;
return rand(rnd);
}
Руслан Очилов
Руслан Очилов
86 906
Лучший ответ
Вы в курсе что регистр имеет значение и введенный текст должен абсолютно соответствовать тому что в условии?
#include
#include "conio.h"
#include "string.h"
using namespace std;

int main()
{
string a;
string b = "Как тебя зовут ?";
string c = "Как с тобой общаться ?";
int k;
setlocale(LC_ALL, "Russian");
cout << "Что хотите спросить ?" << endl;
cin >> a;
if(a == b){
cout << "Я диалоговая программа" << endl;
}
else if(a == c){
cout << "Через командную строку" << endl;
}
system("pause");
return 0;
}
Михаил Волков
Михаил Волков
2 568
Константин Лиценберг В 1 и 3 строке не отобразились название подключаемых библиотек. Напишите их в комментариях.