Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Пост зад на все Конт_Раб_(зад1).doc
Скачиваний:
0
Добавлен:
01.07.2025
Размер:
70.14 Кб
Скачать

Пример выполнения лабораторной работы

Постановка задачи

Создать класс, позволяющий работать со строкой символов. Набор данных, описывающий такой объект как символьная строка должен состоять:

  • собственно строка;

  • позиция на экране, начиная с которой будет выводиться строка;

  • видео атрибуты символов (цвета текста и фона).

Функции необходимые для работы со строкой:

  • ввод строки;

  • установка координат для дальнейшего вывода строки;

  • установка видео атрибутов символов;

  • вывод строки в указанное место.

Структурная схема класса(представить в виде UML)

Член-данные

Класс

String

Член-функции

Собственно строка: str

Позиция выдачи строки на экран: x, y

Цвет текста и фона: attr

Ввод строки: SetStr()

Установка координат выдачи строки на экран: SetCoord()

Установка цветов текста и фона: SetAttr()

Вывод строки на экран: PrintStr()

Исходный текст программы

#include <conio.h>

#include <string.h>

class String {

char str[80]; // Член-данные класса имеют доступ private

int attr; // т.е., доступны только через член-функции

int col, row; // класса, которые объявлены общедоступными

public:

void SetAttr( int a ) {attr = a;}

void SetStr( char *s ) {strcpy(str, s );}

void SetCoord( int x, int y ) {row = y; col = x;}

void PrintStr( int = 0, int = 0 ); //Использованы аргументы по умолчанию

};

inline void String :: PrintStr( int x, int y )

{ textattr(attr);

gotoxy( x = = 0 ? col : x, y = = 0 ? row : y );

cputs(str ); }

// Демонстрационная программа

void main (void )

{ String Str, *sp = &Str;

Str.SetAttr( ( BLUE<<4) + YELLOW); //Пишем желтым по синему фону

Str.SetStr(“Hello, USER !!!”);

sp ->PrintStr (5,20); }

Результаты работы программы

(20 пустых строк)

(5 пробелов) Hello, USER!!!

Выводы

…………