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

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

Вернуться   Форум программистов > C/C++ программирование > Общие вопросы C/C++
Регистрация

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 27.07.2012, 01:00   #1
Stalkker247
Пользователь
 
Регистрация: 15.07.2011
Сообщений: 12
По умолчанию Определить кириллицу

Всем привет!!!)
У меня задание написать англо-русский(русско-английский) переводчик,
пользователь вводит слово, программа выводит перевод.
1.Даже если я ввожу на английском, слово находиться и выводит перевод неправильными символами(вместо небо эхсю).
2.Как определить что символ строки кириллица?
Спсибо!
Код:
#include<iostream>
#include<iterator>
#include<map>
#include<string>
#include<fstream>
#include<windows.h>

using namespace std;

void main()
{
	typedef multimap<string,string> strMap;

	strMap enru;
	strMap ruen;
	strMap::iterator it;

	string en;
	string ru;

	ifstream fin("words.txt",ios::in | ios::binary);

	while(!fin.eof())
	{
		getline(fin,en,' ');
		getline(fin,ru);
		enru.insert(make_pair(en,ru));
		ruen.insert(make_pair(ru,en));
	}

	while(1)
	{
		cout<<"Input word : ";
				
		getline(cin,en);

		if(en[0] > 'z')
		{
			it = ruen.find(en);
			if(it != ruen.end())
				cout<<"\ntranslate : "<<it->second<<endl;

		}
		else
		{
			it = enru.find(en);
			if(it != enru.end())
				cout<<"\ntranslate : "<<it->second<<endl;
		}
		cout<<"\n\n";		
	}
}
Вложения
Тип файла: txt words.txt (92 байт, 131 просмотров)
Stalkker247 вне форума Ответить с цитированием
Старый 27.07.2012, 13:00   #2
waleri
Старожил
 
Регистрация: 13.07.2012
Сообщений: 6,331
По умолчанию

Неправильные символы выводятся изза разницы кодировок данных в файле и самой консоли. Перед запуском программы попробуйте сделать
chcp 1251

Буквы кириллицы обычно имеют код > 128
waleri вне форума Ответить с цитированием
Старый 27.07.2012, 13:16   #3
Артём Волжанкин
Пользователь
 
Аватар для Артём Волжанкин
 
Регистрация: 07.07.2012
Сообщений: 99
По умолчанию

я добавил
setlocale(LC_ALL, "RUS");

и изменил кодировку в проекте на многобайтную
и все нормально работает
Человек
Артём Волжанкин вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
IdHTTP не правильно выводит кириллицу Shouldercannon Общие вопросы Delphi 17 03.03.2015 08:03
Как в C# читать кириллицу? Andreyka Помощь студентам 8 31.08.2012 14:04
Не пишет кириллицу в ini-файл. В чем ошибка? Widar Помощь студентам 4 11.10.2010 14:26
Функция не распознаёт кириллицу Кипящий чайник Общие вопросы C/C++ 2 23.12.2009 16:55
перевести символ из латиницы в кириллицу StartMis Общие вопросы Delphi 2 30.11.2009 10:07