Всем моё си плюс-плюсное здрасьте! Сегодня моя речь пойдет о некоторых полезных функциях языка c++. Когда меня в институте начали учить этому языку программирование я удивился его простоте и возможностям! Но проходили мы только функции, необходимые для написания простеньких консольных приложений. И меня однажды пропёрло покрасить текст и фон в консоли, но учитель забыл их.
Но говорил, что такие функции существуют и не мало! Ну, ясно, что я сразу полез искать в Интернете. И естественно там я ничего не поFINDил. И я уже совсем расстроился, как случилось чудо!!! На уроке информатики, где мы изучали MS Word и DOS , заскучал и полез искать хлам на винте. И случайно увидел какие-то исходники…
Ну естественно я их начал читать. и Тогда я увидел, что есть умные люди в универе, они вручную перевели из Ansi в OEM кодировку и засунули в исходник текст, что позволило работать с русскими словами в с++ и выводить русские буквы в консоль (Об этом позже.). Я подумал "Алелуя! Здесь есть умные люди". И радости моей не было пределе, а того чувака я так и не нашёл :(. Но, запустив этот исходник в билдере я уж посильнее удивился. Он покрасил текст и фон в консольном приложении. Ну, блин, я сразу взялся всё переписывать в тетрадь. И вот теперь я доношу эту инфу до вас!
Текст покрасить можно разными цветами и делаем это так:
#include <stdio.h>
#include <conio.h> //Необходимые библиотеки
// В справке указано только КОНИО, но так у меня не работает.
// Ширина экрана (в символах) в DOS всегда 80 (а высота - 25 строк).
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.
clrscr();
textbackground(GREEN);
textcolor(RED);
window(30,10,50,10); //Вот и она.
clrscr();
Результат работы этого сыра смотри сам! И поймешь!
Вот тебе вырезка из справки Билдера
Прототип
void window(int left, int top, int right, int bottom);
С английскими словами проблем быть не должно!
Если window не использовать, то она равна по умолчанию первой строке и первому столбцу.
Эти функции можно использовать несколько раз в программе:
#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();
}
Теперь ляпну про генератор случайных чисел:
Его юзать вот так:
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
Удачи.
Написать комментарий