Форум программистов, компьютерный форум, киберфорум
Наши страницы

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
 
Dimka-novitsek
14 / 14 / 0
Регистрация: 26.04.2012
Сообщений: 1,091
#1

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

04.08.2013, 17:46. Просмотров 911. Ответов 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
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
04.08.2013, 17:46
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Русификация.Работает-супер! Обьяснитте, как это работает? (C++):

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

Как это работает? - C++
Здравствуйте, можете, пожалуйста, поэтапно объяснить как работает приведенный ниже фрагмент кода? Что такое floor, return, ceil? double...

Как это работает? - C++
#include &lt;iostream&gt; #include &lt;cstring&gt; using namespace std; int main() { char* s=new char; ...

Как это работает - C++
Здравствуйте уважаемые форумчане!Как это работает? Как например предотвратить выход за приделы допустимых значений переменных!? ...

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

Как это работает? - C++
#include &lt;iostream&gt; int *fun() { int a = 5; return &amp;a; } int main() { int *ptr = fun(); std::cout &lt;&lt;...

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

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

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

Цитата Сообщение от Dimka-novitsek Посмотреть сообщение
Как он действует?
он никак не действует, он сущность
Литература C++
1
Croessmah
Ушел
Эксперт CЭксперт С++
13553 / 7704 / 872
Регистрация: 27.09.2012
Сообщений: 19,006
Записей в блоге: 3
Завершенные тесты: 1
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
coloc
погромист
411 / 247 / 15
Регистрация: 27.08.2012
Сообщений: 550
Завершенные тесты: 1
04.08.2013, 18:55 #9
Dimka-novitsek, никто пересказывать учебник не собирается. В любой книге можно найти, что такое указатель
0
iRomul
159 / 100 / 11
Регистрация: 17.10.2012
Сообщений: 480
Завершенные тесты: 1
04.08.2013, 19:00 #10
Только мне не понятно, из чего получается эта OEM строка. Какая кодировка у исходного текста?
0
Dimka-novitsek
14 / 14 / 0
Регистрация: 26.04.2012
Сообщений: 1,091
04.08.2013, 19:10  [ТС] #11
Вот не знаю, если вопрос ко мне. Я просто ввожу русские буквы с клавы.
0
alsav22
5426 / 4821 / 442
Регистрация: 04.06.2011
Сообщений: 13,587
04.08.2013, 19:58 #12
Цитата Сообщение от iRomul Посмотреть сообщение
Какая кодировка у исходного текста?
1251.
Цитата Сообщение от Dimka-novitsek Посмотреть сообщение
Даже начиная с того- в каких случаях необходио все-таки писат за приделами main ?
Глобальные переменные, реализации функций.
1
Даниил
68 / 41 / 7
Регистрация: 14.05.2013
Сообщений: 383
04.08.2013, 20:56 #13
На всякий случай...
Глобальные переменные
Функции
Простите за так называемый "сарказм"
1
iRomul
159 / 100 / 11
Регистрация: 17.10.2012
Сообщений: 480
Завершенные тесты: 1
04.08.2013, 22:23 #14
Я всё равно не пойму. Во-первых получается, что если бы у нас исходники хранились бы в OEM CP866 (вроде так), то и кракозябр бы не было? И во-вторых - что делает setlocale(LC_ALL, "russian");? Почему от этой функции 1251 работает в 866?
0
Dimka-novitsek
14 / 14 / 0
Регистрация: 26.04.2012
Сообщений: 1,091
04.08.2013, 22:25  [ТС] #15
Спасибо!! Понятно!
0
04.08.2013, 22:25
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
04.08.2013, 22:25
Привет! Вот еще темы с ответами:

Как это работает? - C++
Доброго времени суток. Граждане программисты, подскажите пожалуйста как работает данный кусок кода??? А точнее дружественные функции...

объясните как это работает - C++
#include &lt;iostream&gt; #include &lt;algorithm&gt; using namespace std; long func (long * arr, int length) { return...

как все это в подробностях работает? - C++
#include &lt;iostream&gt; #include&lt;cstdlib&gt; using namespace std; int main() { setlocale(LC_ALL, &quot;Russian&quot;); int i; int r; ...

Функция printf () как это работает - C++
Здраствуйте Ув. Форумчане. Прошу помочь разобраться с конкретным примером. #include &lt;iostream&gt; #include &lt;stdio.h&gt; float d = 1; ...


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

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

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