Advertisement
kesha1225

Untitled

Nov 26th, 2022 (edited)
814
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 2.15 KB | None | 0 0
  1. #include <iostream>
  2. #include <string>
  3. #include <stdio.h>
  4. #include <stdlib.h>
  5. #include <locale.h>
  6.  
  7.  
  8. using namespace std;
  9.  
  10.  
  11. class c10to3 {
  12. public:
  13.     string raw_data;
  14.     int int_data;
  15.     bool valid = true;
  16.  
  17.     c10to3(string data) { // конструктор
  18.         raw_data = data;
  19.         for (int i = 0; i < raw_data.length(); i++) {
  20.             if (!isdigit(raw_data[i])) {
  21.                 valid = false;
  22.             }
  23.         }
  24.         if (valid) {
  25.             int_data = stoi(raw_data);
  26.         }
  27.     }
  28.  
  29.     string show() {
  30.         if (!valid) {
  31.             return "неверный формат числа";
  32.         }
  33.         string result_string;
  34.         int temp_int_data = int_data;
  35.         while (temp_int_data > 0)
  36.         {
  37.             result_string.insert(result_string.begin(), (temp_int_data % 3) + '0');
  38.             temp_int_data /= 3;
  39.         }
  40.         return result_string;
  41.     }
  42.  
  43.     string type() {
  44.         if (!valid) {
  45.             return "неверный формат числа";
  46.         }
  47.         if (int_data % 2 == 0)
  48.             return "Чётное";
  49.         else
  50.             return "Нечётное";
  51.     }
  52. };
  53.  
  54.  
  55. int main()
  56. {
  57.     setlocale(0, "RU");
  58.     system("chcp 1251");
  59.     // чтобы нормально русский в консоли отображался
  60.  
  61.     // вот это R"DATAMY - так записываются многострочные тексты в плюсах
  62.     const string datamy = R"DATAMY(
  63. фио группа
  64. Напишите класс 10to3 конвертирующий из системы счисления 10 в систему счисления 3,
  65. определяющий является ли число четным или нечетным
  66. Вход в конструктор строка типа string
  67. выход (методы):
  68. string show() -> результат в троичной системе/неверный формат числа
  69. string type() -> четное/нечетное/неверный формат числа
  70. )DATAMY";
  71.  
  72.     cout << datamy << endl;
  73.  
  74.     string first_value;
  75.     cout << "Введите число: ";
  76.     cin >> first_value;
  77.  
  78.  
  79.     // создаем класс и выводим результат
  80.     c10to3 converter = c10to3(first_value);
  81.     cout << "show() -> " << converter.show() << endl;
  82.     cout << "type() -> " << converter.type() << endl;
  83.  
  84.     return 0;
  85. }
  86.  
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement