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

Иероглифы вместо русских букв и Красная строка

20.05.2007, 20:27. Показов 14714. Ответов 21
Метки нет (Все метки)

Здравствуйте! Я в этом деле новичок, поэтому прошу помощи:
1) Почему у меня вместо русских букв ставятся иероглифы? Когда печатаю английскими, все идет.
2) Какая команда отвечает за красную строку?

PS: Поиск использовал, но ответа не нашел.
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
20.05.2007, 20:27
Ответы с готовыми решениями:

Иероглифы вместо русских букв
Как сделать в С что бы вместо иероглифов были русские буквы

Созданная программа вместо русских бук выдает иероглифы
Созданная программа вместо русских бук выдает иероглифы. Изменение шрифта при просмотре помогает...

иероглифы вместо русских букв
Я создада отчет в rave (delphi7),сохранила его в формате rtf. все бы ничего,но возникли проблемы с...

Вместо русских букв - иероглифы
Уважаемые форумчане! Установил PureBasic 4.61. 'Собрал' тест-программку. TextGadget-ты...

21
2 / 2 / 3
Регистрация: 18.04.2007
Сообщений: 41
21.05.2007, 11:00 2
Если пишеш в консоле то подключаеш библиотеку <windows.h>
и один раз перед выводом текста на консоль пишеш две строчки
SetConsoleCP(1251);
SetConsoleOutputCP(1251);
когда запустиш консоль нажмеш правой мышю на строку заголовка и выбереш свойства->выдереш рифт->Lusida Console
1
2 / 2 / 3
Регистрация: 18.04.2007
Сообщений: 41
21.05.2007, 11:02 3
А перед тем местом где тебе нада красная строка пишеш \t
0
Гость
21.05.2007, 13:59 4
Извините, но я ничего не понял.
Вот мой код программы:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
#include <iostream><windows.h>
using namespace std;
 
int main()
{
    double km, m;
 
    cout << "Проверка: ";
    cin >> km;
 
    m=km*1000;
 
    cout << "Метров: " << m;
 
    system("PAUSE");
 
    return 0;
}
<windows.h> я добавил, а вот куда ставить вот это:
SetConsoleCP(1251);
SetConsoleOutputCP(1251);
я не понял.

Насчет красной строки тоже не выходит.
Я хочу, чтобы после вывода метров, фраза:
Для продолжения нажмите любую клавишу...
Шла с красной строки, а не сразу после числа.

Заранее спасибо.
Гость
21.05.2007, 16:11 5
С красной строкой понял, надо было просто девять раз подряд написать /t.
0 / 0 / 0
Регистрация: 21.05.2007
Сообщений: 7
21.05.2007, 16:13 6
Т.е. \t.
Ошибочка вышла.
А неужели нету другого тега?

Еще один вопрос возник:
Что еще есть кроме int?
Мне нужен такой диапозон, который принимает пробел.
Я сделал прогу if else, так вот if у меня с пробелом.
0
Администратор
79999 / 48561 / 244
Регистрация: 10.04.2006
Сообщений: 13,128
21.05.2007, 16:22 7
Цитата Сообщение от Гость
2) Какая команда отвечает за красную строку?
Попробуй \n
0
0 / 0 / 0
Регистрация: 21.05.2007
Сообщений: 7
21.05.2007, 16:24 8
О спасибо, с красной строкой разобрались, остались иероглифы.
0
2 / 2 / 3
Регистрация: 18.04.2007
Сообщений: 41
21.05.2007, 18:12 9
SetConsoleCP и SetConsoleOutputCP пишется в int main();
А \n перенос коретки на новую строку а красная строка ето отступ после перехода на
новую строку, либо я не понял чето тебе надо
0
2 / 2 / 3
Регистрация: 18.04.2007
Сообщений: 41
21.05.2007, 18:17 10
И еще пишется вот-так:
#include <iostream>
#include <windows.h>
а вот эта запись не правильна
#include <iostream><windows.h>
вот только вопрос- какого компилятор не ругается?
0
2 / 2 / 3
Регистрация: 18.04.2007
Сообщений: 41
21.05.2007, 18:19 11
Цитата Сообщение от Best
Еще один вопрос возник:
Что еще есть кроме int?
Мне нужен такой диапозон, который принимает пробел.
Я сделал прогу if else, так вот if у меня с пробелом.
что ты имееш в виду?
0
Администратор
79999 / 48561 / 244
Регистрация: 10.04.2006
Сообщений: 13,128
21.05.2007, 18:25 12
Цитата Сообщение от Best
О спасибо, с красной строкой разобрались, остались иероглифы.
chcp 1251 - смена кодировки самой консоли.
0
2 / 2 / 3
Регистрация: 18.04.2007
Сообщений: 41
21.05.2007, 21:23 13
Ты это откуда взял??
Я такого не знаю, а SetConsoleCP(1251); и SetConsoleOutputCP(1251);
работают только есло ПРАВИЛЬНО БИБЛИОТЕКИ ВКЛЮЧАТЬ!!!
дальше все как писал раньше
0
0 / 0 / 0
Регистрация: 21.05.2007
Сообщений: 7
21.05.2007, 21:24 14
Большое всем спасибо. Иероглифы пропали, красная строка появилась.
Теперь остался вот этот вопрос:
Что еще есть кроме int?
Мне нужен такой диапозон, который принимает пробел.

Просто я сделал прогу, которая при вводе правильного слова говорит:
ответ правильный
а если введешь не то:
Ответ неправильный
Короче функция if else.
Так вот это слово я хочу заменить на фразу, которая имеет пробелы.
Но С++ почему-то жалуется на них(пробелы).
Как я понял из-за ограничения в int.
Так вот какой диапозон надо задать? Char тоже не подходит.
0
2 / 2 / 3
Регистрация: 18.04.2007
Сообщений: 41
21.05.2007, 21:32 15
Если ты хочеш
int if else()
{
\\...
}
или int if else;
то ничего не выйдет, а первый вариант ето функция если без int main(){\\...}
то прога вообще не скомпилится т.к. это главная ф-ция и без нее не как
если ты хочеш так назвать то через _ if_else, и тем боле if и else
ключевые слова и ими не функции и переменные ими называть нельзя
0
2 / 2 / 3
Регистрация: 18.04.2007
Сообщений: 41
21.05.2007, 21:35 16
име функции или переменной не может состоять из двух слов(правиль кода C\C++)
ичить немного вниматеельнее надо
0
0 / 0 / 0
Регистрация: 21.05.2007
Сообщений: 7
21.05.2007, 21:48 17
Короче вот код проги:
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 <cstdlib>
#include <windows.h>
using namespace std;
 
int main()
{
    SetConsoleCP(1251);
    SetConsoleOutputCP(1251);
 
    int parol;
    int enter;
 
    parol = 16;
 
    cout << ":> ";
    cin >> enter;
 
    if(enter == parol) cout << "Правильно";
    else cout << "Неправильно";
 
    cout << "\n";
 
    system("PAUSE");
 
    return 0;
}
Я хочу вместо кода 16 поставить код:
1(здесь пробел)6
Т.е.:
1 6

Так можно или нет? И если можно, то как?

PS: Даже в паскале можно было.
0
2 / 2 / 3
Регистрация: 18.04.2007
Сообщений: 41
22.05.2007, 09:11 18
Конечно!!С первым проблем не будет - пишеш char parol[n]="1 6"; где n -размерность
массива в общем открой книгу почитай про массивы, а в паскале(если я не ошибаюся)
был string -строак;
а с вводом с клавиатуры посложнее;
вот пример кода который получает с клавиатуры текст с пробелом
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
    char cc[10];
    int i=0;
    while(!kbhit())
    {
        char c=_getch();
        cout<<c;
        if(c==13)
        {
            cout<<endl;
            break;
        }
        cc[i]=c;
        i++;
    }
    cc[i]='\0';
    cout<<cc;
вся беда в том что в С\С++ пробел это символ-ражделитель при вводе с клавиатуры
и еще если надо будет сравнивать строки типа char c[10],cc[10];if(c=cc)
то нужно сравнивать символы
C++
1
2
3
4
5
6
bool f=true;
for(int i=0;i<10;i++)
{
if(c[i]!=cc[i])
f=false;
}
0
0 / 0 / 0
Регистрация: 21.05.2007
Сообщений: 7
23.05.2007, 11:50 19
Все с паролем разобрался.
Теперь такой вопрос:
Как сделать так, чтобы после завершения программы, она снова запускалась.
Чтобы не закрывалась есть код:
system("PAUSE")
А какой код, чтобы перезапускалась?

Просто когда у меня вводишь пароль прога закрывается.
А мне надо чтобы была вторая попытка.
0
Администратор
79999 / 48561 / 244
Регистрация: 10.04.2006
Сообщений: 13,128
23.05.2007, 12:00 20
Цитата Сообщение от Best
Просто когда у меня вводишь пароль прога закрывается.
А мне надо чтобы была вторая попытка.
Ради этого делать перезапуск - по меньшей мере криво. Делай в цикле запрос пароля до тех пор, пока не будет получен правильный или по другому условию.
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
23.05.2007, 12:00

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

Иероглифы вместо русских букв
Пытаюсь открыть файл с разрешением *.chm , а в неми все русские буквы отображаются как иероглифы....

Вместо русских букв - иероглифы
день добрый , такая проблема , ос виндовс 7 64бит , есть одна программа называеться дло , и вот...

Вместо русских букв иероглифы
Сделал консольное приложение, а вместо русских букв - иероглифы, как это исправить?

Вместо русских букв иероглифы
После отправки формы с сайта, вместо русских букв в БД кракозябры. Соответственно и на сайт...


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

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

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