crossplatform.ru

Здравствуйте, гость ( Вход | Регистрация )

 
Ответить в данную темуНачать новую тему
Svved
  опции профиля:
сообщение 20.10.2012, 17:30
Сообщение #1


Новичок


Группа: Новичок
Сообщений: 3
Регистрация: 20.10.2012
Пользователь №: 3571

Спасибо сказали: 0 раз(а)




Репутация:   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, 8);
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, 8);
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
  опции профиля:
сообщение 20.10.2012, 19:06
Сообщение #2


Профессионал
*****

Группа: Модератор
Сообщений: 1611
Регистрация: 6.2.2009
Из: Yekaterinburg
Пользователь №: 533

Спасибо сказали: 219 раз(а)




Репутация:   12  


по-моему, если уж юзать "математику", то перевести в десятичный вид и использовать вычисление остатка (%) в цикле.
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение

Быстрый ответОтветить в данную темуНачать новую тему
Теги
Нет тегов для показа


1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0


RSS Рейтинг@Mail.ru Текстовая версия Сейчас: 22.4.2025, 23:20