Advertisement
Vladislav8653

laba 1_2 c++

Sep 25th, 2022 (edited)
128
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 1.45 KB | None | 0 0
  1. #include <iostream>
  2. using namespace std;
  3. int main() {
  4.     setlocale(LC_ALL, "Russian");
  5.     double s = 1;
  6.     bool isInCorrect;
  7.     double n = 0;
  8.     cout << "Введите степень, в которую следует возвести 2 (не более 1023): " << endl;
  9.     do {
  10.         cin >> n;
  11.         isInCorrect = false;
  12.         if (cin.fail())
  13.         {
  14.             cout << "Пожалуйста, введите натуральное число." << endl;
  15.             isInCorrect = true;
  16.             cin.clear();
  17.             while (cin.get() != '\n');
  18.         }
  19.         if (!isInCorrect && (n < 1)) {
  20.             cout << "Натуральное число должно быть целым и положительным." << endl;
  21.             isInCorrect = true;
  22.             cin.clear();
  23.         }
  24.         double c = n - (int)n;
  25.         if (c > 0)
  26.         {
  27.             cout << "Число не целое, повторите ввод" << endl;
  28.             isInCorrect = true;
  29.             cin.clear();
  30.             while (cin.get() != '\n');
  31.         }
  32.         const int a = 1023;
  33.         if (n > a) {
  34.             cout << "Степень не должна быть больше 1023!" << endl;
  35.             isInCorrect = true;
  36.             cin.clear();
  37.         }
  38.     } while (isInCorrect);
  39.     for (int i = 1; i <= n; i++) {
  40.         s = 2 * s;
  41.     }
  42.     cout << "2 в степени " << n << " будет " << s;
  43.     return 0;
  44. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement