Вопрос № 171566: Добрый вечер Уважаемые эксперты. Давно хотел узнать, как в С++ выполнять такие действия как на Паскале в модуле CRT. 1) Readkey 2) Textcolor 3) Textbackground 4) Delay и т д. И еще одна вещь. Как в С++ пользоваться метками. Как он...
Вопрос № 171566:
Добрый вечер Уважаемые эксперты. Давно хотел узнать, как в С++ выполнять такие действия как на Паскале в модуле CRT. 1) Readkey 2) Textcolor 3) Textbackground 4) Delay и т д. И еще одна вещь. Как в С++ пользоваться метками. Как они объявляются и как устанавливать и переходить к ним. Заранее спасибо. (Компилятор - Borland C++ Builder 6)
Отвечает Dr_Andrew, Модератор :
Здравствуйте, Dimon4ik! По пунктам. 1) Функции Readkey Паскаля в C++ соответствует функция getchar(); которая подключается директивой #include <stdio.h>
Код:
char cExit = getchar();
2) Функции textcolor Паскаля соответствует функция textcolor
диалекта Борланд языка C++. Подключается директивой #include <conio.h>
Код:
clrscr(); textcolor(RED); // красный цвет текста
3) Функции textbackground Паскаля соответствует функция textbackground диалекта Борланд
языка C++. Подключается директивой #include <conio.h>
Код:
clrscr(); textbackground(BLUE); // синий цвет фона.
Таблица цветов: 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
NB! Вышеприведённые функции привнесены компанией Borland и не относятся к Standard C++. Поскольку у Вас IDE Borland C++ Builder, то они будут работать, но попытка компилировать исходный тест, содержащий эти функции, в других компиляторах приведёт к ошибке.
4) Функция delay поддерживалась старыми компиляторами фирмы Borland (подключалась директивой #i
nclude <dos.h>), но из Borland C++ Builder она была исключена. Впрочем, Вы можете написать собственную функцию delay и включить её в проект:
Код:
#include <time.h> //------------------------------------------------------------------- void delay(int iSeconds) {
clock_t EndOfDelay; // Время ожидания // Функция clock возвращает время процессора, прошедшее с момента запуска программы // Макрос CLOCKS_PER_SEC определяет соотношение между временем процессора, выраженным в clock_t и секундами EndOfDelay = clock() + iSeconds * CLOCKS_PER_SEC; while(clock() < EndOfDelay) {}; // Пока не достигнуто время ожидания, ничего не делаем. }
Вроде бы Builder поддерживает функцию Sle
ep, но про неё знаю мало, т.к. почти не программирую под Windows.
5) Для работы с метками в C++ используется функция goto, которая обусловливает безусловный переход во время выполнения программы в то место, которое обозначено меткой. Синтаксис метки Имя_метки - двоеточие - фигурные скобки, внутри которых содержатся операторы. Основное отличие метки от функций (помимо синтаксиса): 1. Функция объявляется и вызывается в любом месте программы (объявляться может как вне, так и внутри главной функции main),
в то время как метка - только в пределах главной функции main. 2. Операторы метки выполняются последовательно, один за другим, также как и прочие операторы программы, просто при использовании goto (переходе к метке) выполнение программы начинается заново с этого места. NB! Использование меток в программе является признаком очень плохого стиля программирования. Обычно без них можно обойтись. Пример использования goto (на C++) см. в приложении.
Приложение:
Ответ отправил: Dr_Andrew, Модератор
Ответ отправлен: 24.08.2009, 09:23 Казахстан, Алма-Ата Организация: Казахский научный центр карантинных и зоонозных инфекций Адрес сайта:Медицинские программы для Linux ICQ # 256452186
Оценка ответа: 5
Как сказать этому эксперту "спасибо"?
Отправить SMS
#thank 253493
на номер 1151 (Россия) |
Еще номера »
Вам помогли? Пожалуйста, поблагодарите эксперта за это!
Оценить выпуск »
Нам очень важно Ваше мнение об этом выпуске рассылки!
* Стоимость одного СМС-сообщения от 7.15 руб. и зависит от оператора сотовой связи.
(полный список тарифов)
** При ошибочном вводе номера ответа или текста #thank услуга считается оказанной, денежные средства не возвращаются.
*** Сумма выплаты эксперту-автору ответа расчитывается из суммы перечислений на портал от биллинговой компании.