почему программа работает не правильно? не выводит то, что забито в условиях if - Компьютерные вопросы

Вопрос почему программа работает не правильно? не выводит то, что забито в условиях if

Регистрация
13 Ноя 2012
Сообщения
88
Репутация
0
Спасибо
0
Монет
0
#include
#include
using namespace std;
int main() {
char a,b,c;
cin>>a>>b>>c;
if ((a=='black')&&(b=='black')&&(c=='green')) cout<<"black"<<endl<<"black"<<endl<<"GREEN";
if ((a=='black')&&(b=='black')&&(c=='GREEN"')) cout<<"black"<<endl<<"yellow"<<endl<<"black";
if ((a=='black')&&(b=='yellow')&&(c=='black')) cout<<"red"<<endl<<"black"<<endl<<"black";
if ((a=='red')&&(b=='black')&&(c=='black')) cout<<"red"<<endl<<"yellow"<<endl<<"black";
if ((a=='red')&&(b=='YELLOW')&&(c=='black')) cout<<"black"<<endl<<"black"<<endl<<"green";
if ((a=='black')&&(b=='YELLOW')&&(c=='black')) cout<<"black"<<endl<<"YELLLOW"<<endl<<"black";
else cout<<"error";
return 0;
}
 
Регистрация
24 Июл 2013
Сообщения
70
Репутация
0
Спасибо
0
Монет
0
у вас какие переменные описаны? char это символы, то есть вы сравниваете не строки а символы, например black берётся только первая буква. Нужна переменная строкового типа string или там массив символов и при сравнении двойные кавычки
 
Регистрация
20 Янв 2013
Сообщения
82
Репутация
0
Спасибо
0
Монет
0
char это одиночный символ, а не строка в одиночных кавычках записывают одиночный символ если пойдёт сравнение именно строк, надо сравнивать сами строки, а не указатели на них
 
Сверху Снизу