Библиотека String  1.0
Own String library. Лабораторная работа ФБИТ ИТМО
Функции
Файл cli.cpp

Консольный (CLI) пример Подробнее...

#include <iostream>
#include <own/string.h>
#include <own/identstr.h>
#include <own/binstr.h>

См. исходные тексты.

Функции

void printInfo (std::string)
 
int inputDialog (std::string message)
 
int main (int argc, char **argv)
 

Подробное описание

Консольный (CLI) пример

См. определение в файле cli.cpp

Функции

◆ inputDialog()

int inputDialog ( std::string  message)

Диалоговой ввод числа

Аргументы
messageТекст сообщения
Возвращает
Введённое число

См. определение в файле cli.cpp строка 75

75  {
76  std::cout << std::endl;
77  std::cout << "? " << message << ": ";
78  int answer;
79  std::cin >> answer;
80  return answer;
81 }

◆ main()

int main ( int  argc,
char **  argv 
)

Главная функция

Аргументы
argcЧисло аргуметов
argvСписок аргументов
Возвращает
Статус исполнения программы

См. определение в файле cli.cpp строка 34

35 {
36  int N = inputDialog("Введите число объектов (max: 6)");
37 
38  printInfo("Выделение памяти на " + std::to_string(N) + " объектов базового класса String");
39  own::String **mass = new own::String*[N];
40 
41  for (int i = 0; i < N; i++) {
42  printInfo("Ввод (строка)");
43  char *in = new char[1024]; // Инициализация Си-строки
44  std::cin >> in;
45 
46  if (inputDialog("IdentStr(0) / BinStr (1)") == 0) {
47  mass[i] = new own::IdentStr(in);
48  printInfo(".show()");
49  mass[i]->show();
50  printInfo(".getDigitsNum()");
51  std::cout << static_cast<own::IdentStr*>(mass[i])->getDigitsNum() << std::endl;
52 
53  } else {
54  mass[i] = new own::BinStr(in);
55  printInfo(".show()");
56  mass[i]->show();
57  printInfo(".getSign()");
58  if (static_cast<own::BinStr*>(mass[i])->getSign() == own::BinStr::POSITIVE) {
59  std::cout << "Positive" << std::endl;
60  } else {
61  std::cout << "Negative" << std::endl;
62  }
63  }
64  }
65  delete[] mass;
66 
67  return 0;
68 }

◆ printInfo()

void printInfo ( std::string  message)

Вывод информационного сообщения

Аргументы
messageТекст сообщения

См. определение в файле cli.cpp строка 70

70  {
71  std::cout << std::endl;
72  std::cout << "> " << message << ":" << std::endl;
73 }
own::IdentStr
Производный от "Строка" класс "Строка-идентификатор".
Definition: identstr.h:24
own::String
Базовый класс "Строка".
Definition: string.h:17
own::BinStr::POSITIVE
@ POSITIVE
Положительное число
Definition: binstr.h:52
own::String::show
void show() const
Definition: string.cpp:46
own::BinStr
Производный от "Строка" класс "Битовая строка".
Definition: binstr.h:25
inputDialog
int inputDialog(std::string message)
Definition: cli.cpp:75
printInfo
void printInfo(std::string)
Definition: cli.cpp:70