Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include "mainwindow.h"
- #include "ui_mainwindow.h"
- #include "math.h"
- MainWindow::MainWindow(QWidget *parent) :
- QMainWindow(parent),
- ui(new Ui::MainWindow)
- {
- ui->setupUi(this);
- }
- MainWindow::~MainWindow()
- {
- delete ui;
- }
- void MainWindow::on_pushButton_Result_clicked()
- {
- QString str,bases;
- int input, base;
- bool isNumInput = false;
- bool isNumBase = false;
- bool err = false;
- QString output = ""; // Объявление строки на вывод
- str = ui->lineEdit_Decimal->text(); // Ввод числа
- bases = ui->lineEdit_Base->text(); // Ввод сс в которую будет осуществлен перевод
- input=str.toInt(&isNumInput); // перевод в целочисленный тип данных с проверкой на существование числа
- base=bases.toInt(&isNumBase);
- if(isNumInput == false) { //проверка на существования числа
- ui->lineEdit_Decimal->setText("Требуется число в 10 сс!");
- ui->lineEdit_Result->setText("Error: Необходимо ввести число в 10 сс!");
- err = true;
- }
- if(base > 32 || base < 2 || isNumBase == false) {
- ui->lineEdit_Base->setText("Требуется число от 2 до 32!");
- ui->lineEdit_Result->setText("Error: Система счисления 2-32!"); //вывод ошибки, так как программа работает с системами счисления до 32-ой
- err = true;
- }
- if(err == false){
- output = ""; // очищение строки
- if(input < 0) output += "-"; // добавление к числу минуса в строковом типе данных
- output += QString::number(abs(input), base).toUpper(); // добавление к имеющейся строке переведенное число, введенное число взято по модулю
- ui->lineEdit_Result->setText(output); //вывод
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement