Форум программистов, компьютерный форум CyberForum.ru

Вывести слово в зависимости от введенного - C++

Восстановить пароль Регистрация
 
kre-sod
0 / 0 / 0
Регистрация: 25.03.2014
Сообщений: 16
Записей в блоге: 9
29.03.2014, 17:28     Вывести слово в зависимости от введенного #1
Нужно следующее: если я ввожу текст "yes", то он на экран выводит "good", если ввожу "no", то выводит "bad". Никак не получается - что бы я не вводил, он по порядку пишет сначала good потом bad.
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
string answer = "yes";
string answer_2 = "no";
...
int main () 
{
 
...
    if (cin >> answer) {
        cout << " good ";
    }
    if (cin >> answer_2) {
        cout << " bad \n";
    }
}
И не по теме - на что в форуме жать, чтобы правильно форматировать сообщения? Сейчас нажал на с++ и цифры, но не знаю, получилось ли
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
29.03.2014, 17:28     Вывести слово в зависимости от введенного
Посмотрите здесь:

Ввести строку и слово. Вывести количество слов в строке, имеющих длину, равную длине введенного слова. C++
Ввести строку и слово. Вывести количество слов в строке, имеющих длину, равную длине введенного слова. C++
Помогите сделать программку:С введенного текста вывести именно короткое слово. C++
C++ Вывести на экран слово «год», «года» или «лет» в зависимости от введенного возраста
C++ Из введенного текста вывести самое короткое слово
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Wlk
49 / 49 / 13
Регистрация: 07.12.2011
Сообщений: 133
29.03.2014, 17:37     Вывести слово в зависимости от введенного #2
Сообщение было отмечено автором темы, экспертом или модератором как ответ
Вы объявили и определили 2 строки
C++
1
2
string answer = "yes";
string answer_2 = "no;
А потом в них же и читаете, изменяя тем самым хранимые в них значения.
C++
1
2
if (cin >> answer)
if (cin >> answer_2)
Кроме того, оператор >> возвращает объект - левый операнд, который отличный от 0, а потом распознается как true.
По этому надо сначала прочитать строку, а потом уже сравнивать ее с шаблоном.
Что-то типа такого.
C++
1
2
3
4
5
6
string str;
cin >> str;
if (str == answer)
cout << " good ";
else if (str == answer_2)
cout << " bad \n";

Что бы форматировать текст под с++, нужно нажать на кнопку С++ и писать между тегов [ CPP][/ CPP]
metallix
 Аватар для metallix
10 / 10 / 3
Регистрация: 07.09.2013
Сообщений: 48
29.03.2014, 17:40     Вывести слово в зависимости от введенного #3
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
#include <iostream>
#include <cstdlib>
 
using namespace std;
 
int main()
{
string answer;
cout<<"Vvedite otvet(yes/no): ";
cin>>answer;
 
if(answer == 'yes')
   cout<<"Good\n";
else if(answer == 'no')
   cout<<"Bad\n";
 
 
 
 
return 0;
system("pause>nul")
 
}
Wlk
49 / 49 / 13
Регистрация: 07.12.2011
Сообщений: 133
29.03.2014, 17:46     Вывести слово в зависимости от введенного #4
'yes', 'no' - строковые литералы надо в двойные кавычки "".
И сначала
system("pause");
а потом уже
return 0;
Genn55
341 / 188 / 37
Регистрация: 26.12.2012
Сообщений: 658
29.03.2014, 18:12     Вывести слово в зависимости от введенного #5
Сообщение было отмечено автором темы, экспертом или модератором как ответ
C++
1
2
3
4
5
6
7
8
string ans;
string answer = "yes";
string answer_2 = "no";
cin>>ans;
if(ans == answer)
   cout<<"Good\n";
if(ans == answer_2)
   cout<<"Bad\n";
metallix
 Аватар для metallix
10 / 10 / 3
Регистрация: 07.09.2013
Сообщений: 48
29.03.2014, 20:52     Вывести слово в зависимости от введенного #6
Извиняюсь, тупанул.
Yandex
Объявления
29.03.2014, 20:52     Вывести слово в зависимости от введенного
Ответ Создать тему
Опции темы

Текущее время: 09:43. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru