Пятница, 29 Марта 2024, 09:04

Приветствую Вас Гость

[ Новые сообщения · Игроделы · Правила · Поиск ]
  • Страница 1 из 1
  • 1
Форум игроделов » Программирование » C/C++ » Вопрос про консоль.
Вопрос про консоль.
ilya7834Дата: Пятница, 06 Января 2012, 21:38 | Сообщение # 1
Работаю на Irrlicht Engine
Сейчас нет на сайте
Вопросик тут созрел - как очистить консоль? То есть удалить все записи. Если что использую Code::Blocks.

На синем небе
Попробуй-ка разглядеть
Синюю звезду
DusklyДата: Пятница, 06 Января 2012, 21:47 | Сообщение # 2
Rush Games
Сейчас нет на сайте
ilya7834,
экран можно очистить командой system("cls");

ilya7834,
или же:
Code
#include <conio.h> // или #include <conio2.h> если в MinGW, но     
// надо ставить дополнительную библиотеку - Conio2    
/**    
    * Clears whole screen.    
    */    
void clrscr (void);

Пользуюсь в MinGW.
ilya7834, или
Нужно просто использовать GetConsoleScreenBufferInfo() для ввода нескольких пустых строк.
Code
program Project1;
{$APPTYPE CONSOLE}
uses
    Windows;
{$R *.RES}
var
    sbi: TConsoleScreenBufferInfo;
    i: integer;
begin
    Writeln('A Console Applicaiton');
    Writeln('Press Enter To Clear The Screen');
    GetConsoleScreenBufferInfo(GetStdHandle(STD_OUTPUT_HANDLE),
      sbi);
    Readln;
    GetConsoleScreenBufferInfo(GetStdHandle(STD_OUTPUT_HANDLE),
      sbi);
    for i := 0 to sbi.dwSize.y do
      writeln;
    Writeln('Press Enter To End');
    Readln;
end.

ну или систем.консоле.клеар



Разрабатываеться:
флеш игра для соц. Сетей (Бои друзей) - временное название!
3д игра (пока без названия)


Сообщение отредактировал Duskly - Пятница, 06 Января 2012, 21:49
ElsДата: Пятница, 06 Января 2012, 21:48 | Сообщение # 3
почетный гость
Сейчас нет на сайте
Я тут и свой вопрос задам : как в консоли писать символы разнымим цветами?
DusklyДата: Пятница, 06 Января 2012, 21:52 | Сообщение # 4
Rush Games
Сейчас нет на сайте
Els, Текст покрасить можно разными цветами и делаем это так:
Code
#include <stdio.h>
#include <conio.h> //Необходимые библиотеки

// В справке указано только КОНИО, но так у меня не работает.
// Ширина экрана (в символах) в DOS всегда 80 (а высота - 25 строк).

Code
textbackground(GREEN); //Цвет фона.
textcolor(RED); //Цвет текста.
clrscr(); //Очищаем экран (Не обязательно!)


Вот привожу таблицу цветов:
BLACK 0
BLUE 1
GREEN 2
CYAN 3
RED 4
MAGENTA 5 //Цвета писать в верхнем регистре а команды в нижнем.
BROWN 6
LIGHTGRAY 7
DARKGRAY 8
LIGHTBLUE 9
LIGHTGREEN 10
LIGHTCYAN 11
LIGHTRED 12
LIGHTMAGENTA 13
YELLOW 14
WHITE 15
BLINK 128
С английским разбирайся сам.
Можно юзать эту функцию со смесью цветов:
textcolor(CYAN + BLINK);

С этой функцией я долбался очень долго!

Теперь перейдем к следующей функции: WINDOW
Она позволяет, как окрасить нужную часть экрана, так и позволить вводить там текст, подобно gotoxy(); или (LOCATE - В бейсике).
Эту функцию нужно юзать с теми же библиотеками, что и textcolor.

Code
clrscr();
textbackground(GREEN);
textcolor(RED);
window(30,10,50,10); //Вот и она.
clrscr();


Результат работы этого сыра смотри сам! И поймешь!
Вот тебе вырезка из справки Билдера

Прототип
void window(int left, int top, int right, int bottom);

С английскими словами проблем быть не должно!

Если window не использовать, то она равна по умолчанию первой строке и первому столбцу.

Эти функции можно использовать несколько раз в программе:

Code
#include <iostream.h>
#include <conio.h>
#include <stdio.h>
int main()
{ float z,;
clrscr();
textbackground(GREEN);
textcolor(RED); //Тут меняем как надо.
window(30,10,50,10); //Положение экрана!
clrscr();
cout<<"\Hello World!";
getch();
textbackground(BLACK);
textcolor(LIGHTGRAY); //Все возвращаем обратно. По умолчанию так и есть.
clrscr();
}


Теперь ляпну про генератор случайных чисел:
Его юзать вот так:

Code
randomize();
a = rand()/3276 //В a сгенерится любое число от 0 до 9.
a=random(50); //Или вот так число от 0 до 49.


Часто без использования "randomize();" генератор генерит все одинаковые числа!
А с ним все проще он всегда разные числа генерирует.

Всякие прикольные утилиты тоже пригодятся. Например
Cout<<"/n"; можно заменить вот так cout<<endl;

Функция gotoxy(1,44) - отправляет курсор, который мигает в точку окна строки 1 ,столбца 44.
Подключив #include math.h мы можем считать различные математические функции:

A = pow(A,4) - возводим A в 4 степень.
A = sqrt(A) - Получаем квадратный корень из A;
A = tan, sin, cos, exp, exp2, ctan, ant - всякие тангенсы экспоненты!

Если набираем символы для вывода в консоль:
Cout << "/t/n";
Есть много нюансов.

/t - Табуляция.
/a - Звуковой сигнал.
/v
/f
/x - Разберись с ними сам, а проще попробуй все :.

Также чтоб вывеси "/" нужно писать:

Cout<<"//";
А ":
Cout<<"/"";

Вот так вот.
Функция getch(); ждет символа с клавиатуры! Полезна в конце программ, чтобы не закрылось окно.
Функций еще очень много, хочешь знать больше?? Жми F1

Удачи.



Разрабатываеться:
флеш игра для соц. Сетей (Бои друзей) - временное название!
3д игра (пока без названия)


Сообщение отредактировал Duskly - Пятница, 06 Января 2012, 21:53
ilya7834Дата: Суббота, 07 Января 2012, 12:28 | Сообщение # 5
Работаю на Irrlicht Engine
Сейчас нет на сайте
А как сделать так чтобы в консоли можно было писать по русски? Я знаю как это сделать в Студии, но у меня ее нет. cry sad cry

На синем небе
Попробуй-ка разглядеть
Синюю звезду
ElsДата: Суббота, 07 Января 2012, 13:19 | Сообщение # 6
почетный гость
Сейчас нет на сайте
Code
setlocale(LC_ALL, "rus");

Или


Сообщение отредактировал Els - Суббота, 07 Января 2012, 13:22
DusklyДата: Суббота, 07 Января 2012, 18:14 | Сообщение # 7
Rush Games
Сейчас нет на сайте
ilya7834, http://www.codenet.ru/progr/cpp/ruscpp/
может поможет, почитай комменты.



Разрабатываеться:
флеш игра для соц. Сетей (Бои друзей) - временное название!
3д игра (пока без названия)
Форум игроделов » Программирование » C/C++ » Вопрос про консоль.
  • Страница 1 из 1
  • 1
Поиск:

Все права сохранены. GcUp.ru © 2008-2024 Рейтинг