C/C++

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

Здравствуйте! Я в этом деле новичок, поэтому прошу помощи:
1) Почему у меня вместо русских букв ставятся иероглифы? Когда печатаю английскими, все идет.
2) Какая команда отвечает за красную строку?
PS: Поиск использовал, но ответа не нашел.
Если пишеш в консоле то подключаеш библиотеку <windows.h>
и один раз перед выводом текста на консоль пишеш две строчки
SetConsoleCP(1251);
SetConsoleOutputCP(1251);
когда запустиш консоль нажмеш правой мышю на строку заголовка и выбереш свойства->выдереш рифт->Lusida Console
А перед тем местом где тебе нада красная строка пишеш t
Извините, но я ничего не понял.
Вот мой код программы:
#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);
я не понял.
Насчет красной строки тоже не выходит.
Я хочу, чтобы после вывода метров, фраза:
Для продолжения нажмите любую клавишу...
Шла с красной строки, а не сразу после числа.
Заранее спасибо.
С красной строкой понял, надо было просто девять раз подряд написать /t.
Т.е. t.
Ошибочка вышла.
А неужели нету другого тега?
Еще один вопрос возник:
Что еще есть кроме int?
Мне нужен такой диапозон, который принимает пробел.
Я сделал прогу if else, так вот if у меня с пробелом.
Сообщение от Гость
2) Какая команда отвечает за красную строку?
Попробуй
О спасибо, с красной строкой разобрались, остались иероглифы.
SetConsoleCP и SetConsoleOutputCP пишется в int main();
А перенос коретки на новую строку а красная строка ето отступ после перехода на
новую строку, либо я не понял чето тебе надо
И еще пишется вот-так:
#include <iostream>
#include <windows.h>
а вот эта запись не правильна
#include <iostream><windows.h>
вот только вопрос- какого компилятор не ругается?
Сообщение от Best
Еще один вопрос возник:
Что еще есть кроме int?
Мне нужен такой диапозон, который принимает пробел.
Я сделал прогу if else, так вот if у меня с пробелом.
что ты имееш в виду?
Сообщение от Best
О спасибо, с красной строкой разобрались, остались иероглифы.
chcp 1251 - смена кодировки самой консоли.
Ты это откуда взял??
Я такого не знаю, а SetConsoleCP(1251); и SetConsoleOutputCP(1251);
работают только есло ПРАВИЛЬНО БИБЛИОТЕКИ ВКЛЮЧАТЬ!!!
дальше все как писал раньше
Большое всем спасибо. Иероглифы пропали, красная строка появилась.
Теперь остался вот этот вопрос:
Что еще есть кроме int?
Мне нужен такой диапозон, который принимает пробел.
Просто я сделал прогу, которая при вводе правильного слова говорит:
ответ правильный
а если введешь не то:
Ответ неправильный
Короче функция if else.
Так вот это слово я хочу заменить на фразу, которая имеет пробелы.
Но С++ почему-то жалуется на них(пробелы).
Как я понял из-за ограничения в int.
Так вот какой диапозон надо задать? Char тоже не подходит.
Если ты хочеш
int if else()
{
\...
}
или int if else;
то ничего не выйдет, а первый вариант ето функция если без int main(){\...}
то прога вообще не скомпилится т.к. это главная ф-ция и без нее не как
если ты хочеш так назвать то через _ if_else, и тем боле if и else
ключевые слова и ими не функции и переменные ими называть нельзя
име функции или переменной не может состоять из двух слов(правиль кода CC++)
ичить немного вниматеельнее надо
Короче вот код проги:
_________________________________________________
#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 << "";
system("PAUSE");
return 0;
}
______________________________________________
Я хочу вместо кода 16 поставить код:
1(здесь пробел)6
Т.е.:
1 6
Так можно или нет? И если можно, то как?
PS: Даже в паскале можно было.
Конечно!!С первым проблем не будет - пишеш char parol[n]="1 6"; где n -размерность
массива в общем открой книгу почитай про массивы, а в паскале(если я не ошибаюся)
был string -строак;
а с вводом с клавиатуры посложнее;
вот пример кода который получает с клавиатуры текст с пробелом
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]=;
cout<<cc;
----------------
вся беда в том что в СС++ пробел это символ-ражделитель при вводе с клавиатуры
и еще если надо будет сравнивать строки типа char c[10],cc[10];if(c=cc)
то нужно сравнивать символы
bool f=true;
for(int i=0;i<10;i++)
{
if(c[i]!=cc[i])
f=false;
}
Все с паролем разобрался.
Теперь такой вопрос:
Как сделать так, чтобы после завершения программы, она снова запускалась.
Чтобы не закрывалась есть код:
system("PAUSE")
А какой код, чтобы перезапускалась?
Просто когда у меня вводишь пароль прога закрывается.
А мне надо чтобы была вторая попытка.
Сообщение от Best
Просто когда у меня вводишь пароль прога закрывается.
А мне надо чтобы была вторая попытка.
Ради этого делать перезапуск - по меньшей мере криво. Делай в цикле запрос пароля до тех пор, пока не будет получен правильный или по другому условию.
проще, гараздо проще делать это в цыкле
например только 4 попытки
for(itn i=0;i<4;i++)
{
\код твоей проги
}
или пока не будет введен правильный пороль
bool b=false;
while(!b)
{
\код проги
\если прароль правелен b=true;
}
Все, я понял как делать.
Всем спасибо, на пока вопросы кончились.