Отправляет email-рассылки с помощью сервиса Sendsay
  Все выпуски  

RFpro.ru: Программирование на C / C++


Хостинг портала RFpro.ru:
Московский хостер
Профессиональный платный хостинг на базе Windows 2008

РАССЫЛКИ ПОРТАЛА RFPRO.RU

Чемпионы рейтинга экспертов в этой рассылке

_Ayl_
Статус: Студент
Рейтинг: 1153
∙ повысить рейтинг »
Micren
Статус: Бакалавр
Рейтинг: 703
∙ повысить рейтинг »
Matrix
Статус: 3-й класс
Рейтинг: 391
∙ повысить рейтинг »

/ КОМПЬЮТЕРЫ И ПО / Языки программирования / C/C++

Номер выпуска:1379
Дата выхода:29.08.2009, 10:35
Администратор рассылки:Dr_Andrew, Модератор
Подписчиков / экспертов:640 / 161
Вопросов / ответов:1 / 1
IRC-канал по теме:#C

Вопрос № 171566: Добрый вечер Уважаемые эксперты. Давно хотел узнать, как в С++ выполнять такие действия как на Паскале в модуле CRT. 1) Readkey 2) Textcolor 3) Textbackground 4) Delay и т д. И еще одна вещь. Как в С++ пользоваться метками. Как он...



Вопрос № 171566:

Добрый вечер Уважаемые эксперты. Давно хотел узнать, как в С++ выполнять такие действия как на Паскале в модуле CRT.
1) Readkey
2) Textcolor
3) Textbackground
4) Delay
и т д.
И еще одна вещь. Как в С++ пользоваться метками. Как они объявляются и как устанавливать и переходить к ним. Заранее спасибо.
(Компилятор - Borland C++ Builder 6)

Отправлен: 23.08.2009, 21:35
Вопрос задал: Dimon4ik, 2-й класс
Всего ответов: 1
Страница вопроса »


Отвечает 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 (Россия) | Еще номера »
  • Отправить WebMoney:
  • Вам помогли? Пожалуйста, поблагодарите эксперта за это!


    Оценить выпуск »
    Нам очень важно Ваше мнение об этом выпуске рассылки!

    Задать вопрос экспертам этой рассылки »

    Скажите "спасибо" эксперту, который помог Вам!

    Отправьте СМС-сообщение с тестом #thank НОМЕР_ОТВЕТА
    на короткий номер 1151 (Россия)

    Номер ответа и конкретный текст СМС указан внизу каждого ответа.

    Полный список номеров »

    * Стоимость одного СМС-сообщения от 7.15 руб. и зависит от оператора сотовой связи. (полный список тарифов)
    ** При ошибочном вводе номера ответа или текста #thank услуга считается оказанной, денежные средства не возвращаются.
    *** Сумма выплаты эксперту-автору ответа расчитывается из суммы перечислений на портал от биллинговой компании.


    © 2001-2009, Портал RFpro.ru, Россия
    Авторское право: ООО "Мастер-Эксперт Про"
    Автор: Калашников О.А. | Программирование: Гладенюк А.Г.
    Хостинг: Компания "Московский хостер"
    Версия системы: 2009.6.8 от 28.08.2009

    В избранное