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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 17.02.2011, 11:07   #1
genrix
просто
Форумчанин
 
Аватар для genrix
 
Регистрация: 17.02.2011
Сообщений: 405
Сообщение программирование в Dev-C++ русские буквы

Здравствуйте! Я учусь писать программы в Dev-C++. У меня такая проблема: создаю простую программку на С++. Всё работает, но когда начинаешь вводить русскую букву и жмёшь Enter на вопрос: "Введите любую букву и нажмите Enter" эта буква превращается в низнай что. Вот прога:

Код:
#include <iostream.h>
#include <conio.h>
#include <locale.h>

using namespace std;

int main (void)
{ 
   setlocale (LC_ALL,"rus");
   char letter; 
   cout << "Введите любую букву и нажмите Enter: "; 
   cin >> letter; 
   cout << "Была введена буква " << letter << endl; 
   getch();
}
Не стоит читать свои переписки двухлетней давности...

Последний раз редактировалось ACE Valery; 19.02.2011 в 12:23.
genrix вне форума Ответить с цитированием
Старый 17.02.2011, 11:58   #2
CepbIu
Пользователь
 
Регистрация: 12.02.2011
Сообщений: 91
По умолчанию

если я правильно понял проблему, то почитайте про CharToOem
CepbIu вне форума Ответить с цитированием
Старый 17.02.2011, 11:59   #3
Hemul
Форумчанин
 
Регистрация: 03.10.2010
Сообщений: 321
По умолчанию

юзай функцию
Код:
#include <windows.h>
char s1[256]; 
char *rus(char *s2)
{ AnsiToOem(s2,s1);return s1; }
и потом вывод по образцу
Код:
printf(rus("Здравствуйте %s\n"),name);
Hemul вне форума Ответить с цитированием
Старый 17.02.2011, 12:33   #4
nikozavr
Форумчанин
 
Регистрация: 11.02.2011
Сообщений: 140
По умолчанию

А если использую операторы
cin? cout?
Хочу шарить как Daramant!!!
nikozavr вне форума Ответить с цитированием
Старый 17.02.2011, 13:11   #5
genrix
просто
Форумчанин
 
Аватар для genrix
 
Регистрация: 17.02.2011
Сообщений: 405
По умолчанию

Проблема не с отображением русских букв, проблема с присвоением русской буквы переменной letter; "вбиваешь" русскую букву в переменную, а он после каких-то операций выводит на экран абсолютно другую букву, а иногда заместо буквы, даже знаки препинания!
Не стоит читать свои переписки двухлетней давности...
genrix вне форума Ответить с цитированием
Старый 17.02.2011, 13:19   #6
genrix
просто
Форумчанин
 
Аватар для genrix
 
Регистрация: 17.02.2011
Сообщений: 405
По умолчанию

Можно удалить из этой программы строку:

#include <locale.h>
...
setlocale (LC_ALL,"rus");


но тогда текст не будет отображаться на русском языке, зато присвоение переменной русской буквы будет нормальным и не вызовет никаких затруднений. Можно сделать так, чтобы и отображение текста программы, и присвоение переменной буквы было на русском языке?
Не стоит читать свои переписки двухлетней давности...
genrix вне форума Ответить с цитированием
Старый 17.02.2011, 14:58   #7
Hemul
Форумчанин
 
Регистрация: 03.10.2010
Сообщений: 321
По умолчанию

Код:
#include<iostream>
#include <windows.h>
using namespace std;
char s1[256]; 
char *rus(char *s2)
{ AnsiToOem(s2,s1);return s1; }
int main(){
	char name[20];
	cout<<rus("Здравствуйте,как вас зовут?")<<endl;
	cout<<rus("Меня зовут ");
	cin>>name;
	cout<<name<<rus(" - красивое имя!")<<endl;
}
попробуй
Hemul вне форума Ответить с цитированием
Старый 17.02.2011, 21:22   #8
genrix
просто
Форумчанин
 
Аватар для genrix
 
Регистрация: 17.02.2011
Сообщений: 405
По умолчанию

Спасибо, помогло.
Не стоит читать свои переписки двухлетней давности...
genrix вне форума Ответить с цитированием
Старый 17.02.2011, 21:43   #9
genrix
просто
Форумчанин
 
Аватар для genrix
 
Регистрация: 17.02.2011
Сообщений: 405
По умолчанию

А можно использовать эту функцию только для одной переменной? Если да, то как?
Не стоит читать свои переписки двухлетней давности...
genrix вне форума Ответить с цитированием
Ответ


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

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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
только русские буквы Dgon777 Microsoft Office Access 6 11.11.2010 22:13
DEV С++ и русские буквы. BitMaster Помощь студентам 2 30.08.2010 10:31
Русские буквы в dev c++ bull Общие вопросы C/C++ 3 22.09.2008 20:28
DEV C++ не читает русские буквы gumar Общие вопросы C/C++ 1 21.04.2008 09:53