Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 23.06.2016, 15:26   #1
Yuriy1996
Новичок
Джуниор
 
Регистрация: 23.06.2016
Сообщений: 2
По умолчанию Программа преобразующая слова "нуль", "два" в цифры

У меня при вводе слов "нуль", "два" и тому подобное выводится сообщение "Я не знаю такого числа! ". Что я в программе сделал не так?

Код:

#include "std_lib_facilities.h"
int main()
{
setlocale(0,"Russian");
cout << "Введите число в словесном виде: \n";
string a;
cin >> a;
if  (a=="нуль" && a=="Нуль" ) cout << "В цифровом виде: 0";
else
if ( a=="один" && a=="Один") cout << "В цифровом виде: 1";
else
if ( a=="два" && a=="Два") cout << "В цифровом виде: 2";
else
if ( a=="три" && a=="Три") cout << "В цифровом виде: 3";
else
if ( a=="четыре" && a=="Четыре") cout << "В цифровом виде: 4";
else
if (a!="нуль" && a!="Нуль" && a!="один" && a!="Один" && a!="два" && a!="Два" && a!="три" && a!="Три" && a!="четыре" && a!="Четыре") cout << "Я не знаю такого числа!";
system("pause");
}
Yuriy1996 вне форума Ответить с цитированием
Старый 23.06.2016, 16:23   #2
ura_111
Участник клуба
 
Регистрация: 14.05.2016
Сообщений: 1,793
По умолчанию

Русский ввод не понимает, а вот на английском все работает. Вот код - играйся. Ищи в интернете решение. А когда найдешь - сообщи нам всем об этом.

Код:
#include <iostream>
#include <string>
using namespace std;

int main()
{
	setlocale(0, "Russian");
	cout << "Введите число в словесном виде: \n";
	string a;
	bool t = false;

	cin >> a;
	if (a == "null" || a == "NULL")
	{
		cout << "В цифровом виде: 0" << endl;
		t = true;
	}
	if (a == "odin" || a == "ODIN")
	{
		cout << "В цифровом виде: 1" << endl;
		t = true;
	}
	if (a == "dva" || a == "DVA")
	{
		cout << "В цифровом виде: 2" << endl;
		t = true;
	}
	if (a == "tri" || a == "TRI")
	{
		cout << "В цифровом виде: 3" << endl;
		t = true;
	}
	if (a == "chetiri" || a == "CHETIRI")
	{
		cout << "В цифровом виде: 4" << endl;
		t = true;
	}	


	if (t == false) cout << "Я не знаю такого числа!" << endl;
	
	system("pause");
}



Последний раз редактировалось ura_111; 23.06.2016 в 16:46.
ura_111 вне форума Ответить с цитированием
Старый 24.06.2016, 07:22   #3
Timon1989
 
Регистрация: 18.05.2016
Сообщений: 7
По умолчанию

if (a=="нуль" && a=="Нуль" ) - тут у тебя стоит логическое и, подумай когда это условия выполнится
Timon1989 вне форума Ответить с цитированием
Старый 24.06.2016, 08:11   #4
TaLadno
Форумчанин
 
Регистрация: 03.06.2015
Сообщений: 393
По умолчанию

И чего же будет, если пользак введет "Odin"?
приведи введенную строку к нижнему/верхнему регистру и повыбрасывай лишнее из if'ов
Вы там держитесь.
TaLadno вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Даны два слова. Составьте программу, определяющую можно или нет из букв слова А составить слово В. Конь Антон Паскаль, Turbo Pascal, PascalABC.NET 3 10.06.2015 14:44
Даны два слова. Составьте программу, определяющую можно или нет из букв слова А составить слово В Конь Антон Помощь студентам 1 24.05.2015 16:43
Преобразовать строку таким образом, чтобы цифры каждого слова были перенесены в начало слова, изменив порядок следования цифр в с Нортон Общие вопросы C/C++ 0 11.02.2012 18:38
Программа, преобразующая RTF в HTML (C/C++) zarekti Помощь студентам 5 24.06.2011 14:07
как поставить ограничение на число нуль а не на символ нуль??? Dr.Swat Помощь студентам 0 12.06.2010 20:35