Advertisement
kirya_shkolnik

Исправил, не обижайте Кристину

Nov 18th, 2020
285
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 2.07 KB | None | 0 0
  1. #include "mainwindow.h"
  2. #include "ui_mainwindow.h"
  3. #include "math.h"
  4.  
  5. MainWindow::MainWindow(QWidget *parent) :
  6.     QMainWindow(parent),
  7.     ui(new Ui::MainWindow)
  8. {
  9.     ui->setupUi(this);
  10. }
  11.  
  12. MainWindow::~MainWindow()
  13. {
  14.     delete ui;
  15. }
  16.  
  17.  
  18. void MainWindow::on_pushButton_Result_clicked()
  19. {
  20.     QString str,bases;
  21.     int input, base;
  22.     bool isNumInput = false;
  23.     bool isNumBase = false;
  24.  
  25.     bool err = false;
  26.  
  27.     QString output = ""; // Объявление строки на вывод
  28.  
  29.     str = ui->lineEdit_Decimal->text(); // Ввод числа
  30.     bases = ui->lineEdit_Base->text();  // Ввод сс в которую будет осуществлен перевод
  31.     input=str.toInt(&isNumInput); // перевод в целочисленный тип данных с проверкой на существование числа
  32.     base=bases.toInt(&isNumBase);
  33.  
  34.     if(isNumInput ==  false) { //проверка на существования числа
  35.          ui->lineEdit_Decimal->setText("Требуется число в 10 сс!");
  36.          ui->lineEdit_Result->setText("Error: Необходимо ввести число в 10 сс!");
  37.          err = true;
  38.     }
  39.     if(base > 32 || base < 2 || isNumBase == false) {
  40.         ui->lineEdit_Base->setText("Требуется число от 2 до 32!");
  41.         ui->lineEdit_Result->setText("Error: Система счисления 2-32!"); //вывод ошибки, так как программа работает с системами счисления до 32-ой
  42.         err = true;
  43.     }
  44.     if(err == false){
  45.         output = ""; // очищение строки
  46.         if(input < 0) output += "-"; // добавление к числу минуса в строковом типе данных
  47.         output += QString::number(abs(input), base).toUpper(); // добавление к имеющейся строке переведенное число, введенное число взято по модулю
  48.         ui->lineEdit_Result->setText(output); //вывод
  49.     }
  50.  
  51. }
  52.  
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement