Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.63/8: Рейтинг темы: голосов - 8, средняя оценка - 4.63
14 / 14 / 2
Регистрация: 26.04.2012
Сообщений: 1,091
1

Русификация.Работает-супер! Обьяснитте, как это работает?

04.08.2013, 17:46. Просмотров 1487. Ответов 15
Метки нет (Все метки)

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
#include <iostream>
#include <conio.h>
#include <windows.h>
 
using namespace std;
 
char* Rus(const char* text);
int main ()
{
    int i; // счётчик цикла
    int sum=0; // счётчик суммы чисел
    int a,b;// объявление переменных
    cout << Rus ("Введите первое число");
    cin >> a;// пользователь присвает значение  переменной a
    cout << Rus ("Введите второе число");
    cin >> b;// пользователь присваивает значение переменной b
    for (i=a ; i<=b ; i++ )
    {
        sum=sum+i;
    }
    cout << Rus ("Сумма чисел от ") << a ;
    cout << Rus (" до ") << b ;
    cout << Rus (" равна ") << sum ;
    getch ();
    return 0;
}
// ф-ция русификации
 char buf[256]; // за пределами функции. ПИШЕМ В КВАДРАТНЫХ СКОБКАХ!!!
 char* Rus(const char* text)
 {
       CharToOem(text, buf);
       return buf;
 }
Добавлено через 5 минут
Даже начиная с того- в каких случаях необходио все-таки писат за приделами main ?
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
04.08.2013, 17:46
Ответы с готовыми решениями:

Как это работает? Я хочу спросить как работает C++ и где можно про него почитать
Привет, котоны. Заранее благодарю. Это будет моих общих вопросов нить, т.к. создавать целую ветку...

Не могу понять, что это за реализация ORM и как это работает
Есть проект на C#, есть база данных MSSQL, есть код, который позволяет мне добавлять и удалять...

Что это и как это работает
Для чего указываются эти параметры в этих тегах? И как они работают? За подробное описание...

Почему это работает с Access и не работает с mysql?
Вопрос, собственно, в названии темы. В случае, когда имеет место подключение к mysql получаю...

15
68 / 41 / 1
Регистрация: 14.05.2013
Сообщений: 383
04.08.2013, 18:11 2
Как я помню функция CharToOem делает из Юникода русские буквы, но не уверен, так как мне никто не объяснял как это работает

Добавлено через 2 минуты
Функция CharToOem преобразует строку в определенный OEM набор символов.

Добавлено через 39 секунд
Вот информация - тык
1
Каратель
Эксперт С++
6598 / 4019 / 401
Регистрация: 26.03.2010
Сообщений: 9,273
Записей в блоге: 1
04.08.2013, 18:14 3
Цитата Сообщение от Dimka-novitsek Посмотреть сообщение
Даже начиная с того- в каких случаях необходио все-таки писат за приделами main ?
ну напиши в пределах main
2
14 / 14 / 2
Регистрация: 26.04.2012
Сообщений: 1,091
04.08.2013, 18:38  [ТС] 4
А что присходит в строках 7 и 29, точнее что обозначает звёздочка?
0
Каратель
Эксперт С++
6598 / 4019 / 401
Регистрация: 26.03.2010
Сообщений: 9,273
Записей в блоге: 1
04.08.2013, 18:40 5
Цитата Сообщение от Dimka-novitsek Посмотреть сообщение
что обозначает звёздочка?
указатель
0
14 / 14 / 2
Регистрация: 26.04.2012
Сообщений: 1,091
04.08.2013, 18:50  [ТС] 6
Указатель на что? Как он действует?
0
Каратель
Эксперт С++
6598 / 4019 / 401
Регистрация: 26.03.2010
Сообщений: 9,273
Записей в блоге: 1
04.08.2013, 18:52 7
Цитата Сообщение от Dimka-novitsek Посмотреть сообщение
Указатель на что?
на char

Цитата Сообщение от Dimka-novitsek Посмотреть сообщение
Как он действует?
он никак не действует, он сущность
Литература C++
1
Don't worry, be happy
16958 / 9839 / 1895
Регистрация: 27.09.2012
Сообщений: 24,392
Записей в блоге: 2
04.08.2013, 18:55 8
Цитата Сообщение от Croessmah Посмотреть сообщение
Русификация.Работает-супер!
Еще как вариант:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
#include <iostream>
#include <conio.h>
#include <windows.h>
 
using namespace std;
 
int main ()
{
    SetConsoleCP ( 1251 ) ;
    SetConsoleOutputCP ( 1251 ) ;
    int i; // счётчик цикла
    int sum=0; // счётчик суммы чисел
    int a,b;// объявление переменных
    cout << "Введите первое число";
    cin >> a;// пользователь присвает значение  переменной a
    cout << "Введите второе число";
    cin >> b;// пользователь присваивает значение переменной b
    for (i=a ; i<=b ; i++ )
    {
        sum=sum+i;
    }
    cout << "Сумма чисел от " << a ;
    cout << " до " << b ;
    cout << " равна " << sum ;
    getch ();
    return 0;
}
Шрифт в консоли - Lucida Console
2
погромист
413 / 249 / 30
Регистрация: 27.08.2012
Сообщений: 550
04.08.2013, 18:55 9
Dimka-novitsek, никто пересказывать учебник не собирается. В любой книге можно найти, что такое указатель
0
160 / 101 / 14
Регистрация: 17.10.2012
Сообщений: 488
04.08.2013, 19:00 10
Только мне не понятно, из чего получается эта OEM строка. Какая кодировка у исходного текста?
0
14 / 14 / 2
Регистрация: 26.04.2012
Сообщений: 1,091
04.08.2013, 19:10  [ТС] 11
Вот не знаю, если вопрос ко мне. Я просто ввожу русские буквы с клавы.
0
5478 / 4873 / 831
Регистрация: 04.06.2011
Сообщений: 13,587
04.08.2013, 19:58 12
Цитата Сообщение от iRomul Посмотреть сообщение
Какая кодировка у исходного текста?
1251.
Цитата Сообщение от Dimka-novitsek Посмотреть сообщение
Даже начиная с того- в каких случаях необходио все-таки писат за приделами main ?
Глобальные переменные, реализации функций.
1
68 / 41 / 1
Регистрация: 14.05.2013
Сообщений: 383
04.08.2013, 20:56 13
На всякий случай...
Глобальные переменные
Функции
Простите за так называемый "сарказм"
1
160 / 101 / 14
Регистрация: 17.10.2012
Сообщений: 488
04.08.2013, 22:23 14
Я всё равно не пойму. Во-первых получается, что если бы у нас исходники хранились бы в OEM CP866 (вроде так), то и кракозябр бы не было? И во-вторых - что делает setlocale(LC_ALL, "russian");? Почему от этой функции 1251 работает в 866?
0
14 / 14 / 2
Регистрация: 26.04.2012
Сообщений: 1,091
04.08.2013, 22:25  [ТС] 15
Спасибо!! Понятно!
0
5478 / 4873 / 831
Регистрация: 04.06.2011
Сообщений: 13,587
04.08.2013, 23:10 16
Цитата Сообщение от iRomul Посмотреть сообщение
что делает setlocale(LC_ALL, "russian");
Устанавливает русскую локаль. Вывод будет по русски, ввод - нет. Это в студии. В Code Blocks, например, setlocale(LC_ALL, "russian") не срабатывает для русского вывода.
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
04.08.2013, 23:10

Заказываю контрольные, курсовые, дипломные и любые другие студенческие работы здесь.

Как это работает?
Нашел ссылку, всегда квалрат угадывает числа, как это сделано,может кто знает? очень интересно...

Как это работает?
Читаю я кое какой &quot;учебник&quot;, и в нём появился такой вот кусок кода int input (tank&amp; t, char map)...

Как это работает?
Прочитал следующее... &quot;...Этот HTML-файл используется исключительно для предотвращения доступа...

Как это работает?
Помогите разобраться пожалуйста,срочно нужно


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
16
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2021, vBulletin Solutions, Inc.