-
تعداد ارسال ها
6 -
تاریخ عضویت
-
روز های برد
1
آخرین بار برد rezaict در 15 بهمن 1401
rezaict یکی از رکورد داران بیشترین تعداد پسند مطالب است !
اعتبار در سایت
1 خوبدرباره rezaict
- تاریخ تولد تعیین نشده
-
rezaict تصویر نمایه خود را تغییر داد
-
سلام مجدد، بالاخره تونستم با راهنمایی شما مشکل رو حل کنم البته کدها رو به این شکل تغییر دادم (به عنوان مثال برای عمل جمع) BigInt result; result = previousVal + currentVal; ui->resultdisplay->setText(result.to_string().c_str()); و دستور زیر رو حذف کردم: //ui->resultdisplay->setText(ui->resultdisplay->text()+QString::number(currentVal)+"="+QString::number(previousVal + currentVal)); سپاس از شما
-
سلام، واقعیتش تا الان درگیرش بودم ولی به نتیجه ای نرسیدم و نتونستم کد رو بزنم فک کنم چون من تازه وارد این حوزه شدم و مفاهیم رو به طور کامل بلد نیستم این اتفاق برام افتاده به هر حال ممنون از شما که برام وقت گذاشتین سپاسگزارم
-
این کدهایی هست که من نوشتم (فایلی به اسم calculator.cpp) "calculator.h" #include "ui_calculator.h" #include "BigInt.hpp" calculator::calculator(QWidget *parent) : QWidget(parent) , ui(new Ui::calculator) { ui->setupUi(this); action=Action_Type::nothing; connect(ui->Button_0,&QPushButton::clicked,this,[this](){ui->display->setText(ui->display->text()+"0");}); connect(ui->Button_1,&QPushButton::clicked,this,[this](){ui->display->setText(ui->display->text()+"1");}); connect(ui->Button_2,&QPushButton::clicked,this,[this](){ui->display->setText(ui->display->text()+"2");}); connect(ui->Button_3,&QPushButton::clicked,this,[this](){ui->display->setText(ui->display->text()+"3");}); connect(ui->Button_4,&QPushButton::clicked,this,[this](){ui->display->setText(ui->display->text()+"4");}); connect(ui->Button_5,&QPushButton::clicked,this,[this](){ui->display->setText(ui->display->text()+"5");}); connect(ui->Button_6,&QPushButton::clicked,this,[this](){ui->display->setText(ui->display->text()+"6");}); connect(ui->Button_7,&QPushButton::clicked,this,[this](){ui->display->setText(ui->display->text()+"7");}); connect(ui->Button_8,&QPushButton::clicked,this,[this](){ui->display->setText(ui->display->text()+"8");}); connect(ui->Button_9,&QPushButton::clicked,this,[this](){ui->display->setText(ui->display->text()+"9");}); connect(ui->Button_dot,&QPushButton::clicked,this,[this](){ui->display->setText(ui->display->text()+".");}); connect(ui->Button_add,SIGNAL(clicked(bool)),this,SLOT(onAdd())); connect(ui->Button_div,SIGNAL(clicked(bool)),this,SLOT(onDiv())); connect(ui->Button_sub,SIGNAL(clicked(bool)),this,SLOT(onSub())); connect(ui->Button_mul,SIGNAL(clicked(bool)),this,SLOT(onMul())); connect(ui->Button_result,SIGNAL(clicked(bool)),this,SLOT(onResult())); connect(ui->Button_clean,SIGNAL(clicked(bool)),this,SLOT(onClean())); connect(ui->Button_exit,SIGNAL(clicked(bool)),this,SLOT(onExit())); } calculator::~calculator() { delete ui; } void calculator::onAdd() { if(ui->display->text().isEmpty()) return; previousVal=ui->display->text().toDouble(); action=Action_Type::add; ui->resultdisplay->setText(ui->display->text()+"+"); ui->display->clear(); } void calculator::onSub() { if(ui->display->text().isEmpty()) return; previousVal=ui->display->text().toDouble(); action=Action_Type::sub; ui->resultdisplay->setText(ui->display->text()+"-"); ui->display->clear(); } void calculator::onMul() { if(ui->display->text().isEmpty()) return; previousVal=ui->display->text().toDouble(); action=Action_Type::mul; ui->resultdisplay->setText(ui->display->text()+"*"); ui->display->clear(); } void calculator::onDiv() { if(ui->display->text().isEmpty()) return; previousVal=ui->display->text().toDouble(); action=Action_Type::div; ui->resultdisplay->setText(ui->display->text()+"/"); ui->display->clear(); } void calculator::onResult() { if(ui->display->text().isEmpty()) return; double currentVal=ui->display->text().toDouble(); if(action!=Action_Type::nothing) { switch (action) { case Action_Type::add: ui->resultdisplay->setText(ui->resultdisplay->text()+QString::number(currentVal)+"="+QString::number(previousVal + currentVal)); break; case Action_Type::sub: ui->resultdisplay->setText(ui->resultdisplay->text()+QString::number(currentVal)+"="+QString::number(previousVal - currentVal)); break; case Action_Type::mul: ui->resultdisplay->setText(ui->resultdisplay->text()+QString::number(currentVal)+"="+QString::number(previousVal * currentVal)); break; case Action_Type::div: ui->resultdisplay->setText(ui->resultdisplay->text()+QString::number(currentVal)+"="+QString::number(previousVal / currentVal)); break; default: break; } ui->display->clear(); action=Action_Type::nothing; } } void calculator::onClean() { if(ui->display->text().isEmpty()) return; previousVal=ui->display->text().toDouble(); action=Action_Type::clean; // ui->resultdisplay->setText(ui->display->text()+""); ui->display->clear(); } void calculator::onExit() { calculator::close(); بنظرتون مشکل از کجاست
-
آها ببخشین من کتابخانه رو به صورت <> تعریف کرده بودم در صورتیکه باید توی کوتیشن بود. ولی با این حال هیچ تفاوتی نکرد وقتی طول اعداد بزرگ باشه حاصلضرب رو کامل نمایش نمیده و به صورت عدد e خلاصه میکنه (یه عکس از خروجی براتون میفرستم) حاصلضرب دو عدد 123456789 و 987654321 رو نشون میده لینک عکس: ممنون میشم راهنماییم بفرمایین
-
ممنونم از پاسختون جسارتا موقعی که اجراش میکنم با ارور مواجه میشم (من دارم از حالت widget application در QT استفاده میکنم. شاید به خاطر این باشه که از حالت console استفاده نمیکنم) error: multiple definition of `is_valid_number(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)' debug/calculator.o: In function `ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE16_M_construct_auxIPcEEvT_S7_St12__false_type':
-
rezaict شروع به دنبال کردن اعداد بزرگ با طول بی نهایت در Qt کرد
-
سلام. اگر بخوایم برای ضرب دو عدد با طول بی نهایت در یک ماشین حساب که در محیط QT ساخته شده است به شرطی که نتیجه ضرب را نشان دهد و overflow رخ ندهد، از چه کتاب خانه ای می توان استفاده کرد؟