![]() |
Здравствуйте, гость ( Вход | Регистрация )
![]() ![]() |
![]() |
Svved |
![]()
Сообщение
#1
|
Новичок Группа: Новичок Сообщений: 3 Регистрация: 20.10.2012 Пользователь №: 3571 Спасибо сказали: 0 раз(а) Репутация: ![]() ![]() ![]() |
Здравствуйте, нужна помощь в реализации данной задачи, изначально юзал функции стандартные. Но как оказалось, нужно реализовать с мат. аппаратом (вычислениями без стандартных функций(алгоритм - http://algolist.manual.ru/maths/teornum/count_sys.php)). Кто сможет помочь, буду признателен.
Изначальная задумка: Mainwindow.h #ifndef MAINWINDOW_H #define MAINWINDOW_H #include <QMainWindow> #include <QGraphicsScene> #include"dialog.h" namespace Ui { class MainWindow; } class MainWindow : public QMainWindow { Q_OBJECT public: explicit MainWindow(QWidget *parent = 0); ~MainWindow(); QGraphicsScene scene; private: Ui::MainWindow *ui; Dialog* dg; public slots: void podshet(); void opendial(); void kart(); }; #endif // MAINWINDOW_H Mainwindow.cpp #include "mainwindow.h" #include "ui_mainwindow.h" #include <math.h> MainWindow::MainWindow(QWidget *parent) : QMainWindow(parent), ui(new Ui::MainWindow) { ui->setupUi(this); dg = new Dialog(this); QIntValidator *inter = new QIntValidator(0,99999,0); ui->lineEdit->setValidator(inter); ui->graphicsView->setScene(&scene); connect(ui->pushButton,SIGNAL(clicked()),this,SLOT(opendial())); connect(ui->lineEdit,SIGNAL(textChanged(QString)),this,SLOT(podshet())); connect(ui->pushButton_2,SIGNAL(clicked()),this,SLOT(kart())); connect(dg,SIGNAL(accepted()) ,this,SLOT(podshet())); dg->i=0; } MainWindow::~MainWindow() { delete ui; } void MainWindow::podshet() { int a; QString str1 = ui->lineEdit->text(); a=str1.toInt(); QString str2; if(dg->i==0) { str2.setNum(a, 2); ui->lineEdit_2->setText(str2); ui->label_3->setText("b"); } if(dg->i==1) str2.setNum(a, ![]() ui->lineEdit_2->setText(str2); ui->label_3->setText("o");} if(dg->i==2) { str2.setNum(a, 16); ui->lineEdit_2->setText(str2); ui->label_3->setText("h");} } void MainWindow::opendial() { dg->show(); } void MainWindow::kart() { scene.clear(); scene.addEllipse(ui->spinBox_1->value(),ui->spinBox_2->value(),ui->Radius->value(),ui->Radius->value()); } Вот конечная: Mainwindow.h #ifndef MAINWINDOW_H #define MAINWINDOW_H #include <QMainWindow> #include <QGraphicsScene> #include"dialog.h" namespace Ui { class MainWindow; } class MainWindow : public QMainWindow { Q_OBJECT public: explicit MainWindow(QWidget *parent = 0); ~MainWindow(); QGraphicsScene scene; QString Binary(int number); QString Octal(int number); QString Hexadecmal(int number); private: Ui::MainWindow *ui; Dialog* dg; public slots: void podshet(); void opendial(); void kart();}; #endif // MAINWINDOW_H Mainwindow.cpp #include "mainwindow.h" #include "ui_mainwindow.h" #include <math.h> MainWindow::MainWindow(QWidget *parent) : QMainWindow(parent), ui(new Ui::MainWindow) { ui->setupUi(this); dg = new Dialog(this); QIntValidator *inter = new QIntValidator(0,99999,0); ui->lineEdit->setValidator(inter); ui->graphicsView->setScene(&scene); connect(ui->pushButton,SIGNAL(clicked()),this,SLOT(opendial())); connect(ui->lineEdit,SIGNAL(textChanged(QString)),this,SLOT(podshet())); connect(ui->pushButton_2,SIGNAL(clicked()),this,SLOT(kart())); connect(dg,SIGNAL(accepted()) ,this,SLOT(podshet())); dg->i=0; } MainWindow::~MainWindow() { delete ui; } QString MainWindow::Binary(int number){ QString result; return result; } void MainWindow::podshet() { int a; QString str1 = ui->lineEdit->text(); a=str1.toInt(); QString str2; if(dg->i==0) { str2.setNum(a, 2); ui->lineEdit_2->setText(Binary(20)); ui->label_3->setText("b"); } if(dg->i==1) { str2.setNum(a, ![]() ui->lineEdit_2->setText(str2); ui->label_3->setText("o");} if(dg->i==2) { str2.setNum(a, 16); ui->lineEdit_2->setText(str2); ui->label_3->setText("h");} } void MainWindow::opendial() { dg->show(); } void MainWindow::kart() { scene.clear(); scene.addEllipse(ui->spinBox_1->value(),ui->spinBox_2->value(),ui->Radius->value(),ui->Radius->value()); } |
|
|
Iron Bug |
![]()
Сообщение
#2
|
![]() Профессионал ![]() ![]() ![]() ![]() ![]() Группа: Модератор Сообщений: 1611 Регистрация: 6.2.2009 Из: Yekaterinburg Пользователь №: 533 Спасибо сказали: 219 раз(а) Репутация: ![]() ![]() ![]() |
по-моему, если уж юзать "математику", то перевести в десятичный вид и использовать вычисление остатка (%) в цикле.
|
|
|
![]() ![]() ![]() |
![]() |
|
Текстовая версия | Сейчас: 22.4.2025, 23:20 |