• 大小: 2.18M
    文件类型: .rar
    金币: 1
    下载: 0 次
    发布日期: 2024-04-22
  • 语言: C/C++
  • 标签: 计算器  计算  

资源简介

c++ 多功能计算器

资源截图

代码片段和文件信息

#include“BigInt.h“
BigInt::BigInt()
{
digital[0]=0;   
len=0;       //当前大整数的长度 
sign=0;         //符号为正
    isLegal=true;
}

BigInt::BigInt(qllong obj)
{
    if(obj<0)
    {sign=trueobj = -obj;}
    else sign =false;
    digital[0]=obj%base;len=0;
    while(obj/=base)
    {digital[++len] = obj%base;}
    isLegal=true;
}
BigInt::BigInt(const BigInt &obj)
{
for(len=0sign=obj.sign;len<=obj.len;len++)
digital[len]=obj.digital[len];
len--;
     isLegal=obj.isLegal;
}
BigInt& BigInt::operator =(const BigInt &obj)
{
for(len=0sign=obj.sign;len<=obj.len;len++)
digital[len]=obj.digital[len];
len--;
     isLegal=obj.isLegal;
return *this;
}
BigInt& BigInt::operator = (QString qstr)
{
int i=0jk;
    if(qstr[0]==‘-‘)
    {sign=1;}
else 
    {
        sign=0;
        if(qstr[0]==‘+‘)
            qstr.remove(01);
    }
    i=qstr.length();
for(i=i-baseLENk=0;i>=sign;i-=baseLEN++k)
{
for(j=0digital[k]=0;jseLEN;++j)
        {
            if(qstr[i+j]==‘ ‘)continue;
            digital[k]=digital[k]*10+qstr[i+j].toLatin1()-‘0‘;
        }
}
i+=baseLEN;

for(j=signdigital[k]=0;j    {
        if(qstr[j]==‘ ‘)continue;
        digital[k]=digital[k]*10+qstr[j].toLatin1()-‘0‘;
    }
if(i==sign)k--;
len=k;
    isLegal=true;
return *this;
}
BigInt BigInt::operator +(const BigInt &obj)
{
BigInt sum;
if(obj.sign==sign)
{ //同号加;
int carry=0i;
for(i=0;i<=len && i <= obj.len;i++)
{
carry = carry +digital[i]+obj.digital[i];
sum.digital[i] = carry%base;
carry= carry/base;
}
for(;i<=len;i++)
{carry = carry + digital[i] sum.digital[i] = carry%base carry/=base;}
for(;i<=obj.len;i++)
{carry = carry +obj.digital[i] sum.digital[i] = carry%basecarry =carry/base;}
if(carry&&i        else if(carry&&i==MAXN){isLegal=false;return *this;}
else sum.len=i-1;
sum.sign = sign;
return sum;
}
else 
{ //异号变同号减法;
sum = obj;sum.sign= !sum.sign;
return *this-sum;
}
}
BigInt BigInt::operator +(int n)
{
if(n==0)
return *this;
if((sign==1&&n<0)||(sign==0&&n>0))
{
int tempcarry=0i=0;
if(n<0)n=-n;
BigInt sum;
if(len==0&&n>=base){digital[1]=0;}  
do
{
temp=n%base;n/=base;
carry+=digital[i]+temp;
sum.digital[i]=carry%base;
carry= carry/base;
i++;
}while(n);
while(i<=len)
{
carry+=digital[i];
sum.digital[i]=carry%base;
carry=carry/base;
i++;
}
if(carry&&i        else if(carry&&i==MAXN){isLegal=false;return *this;}
else sum.len=i-1;
sum.sign=sign;
return sum;
}
else
{
n=-n;
return *this-n;
}
}
BigInt BigInt::operator -(const BigInt &obj)
{
const BigInt *sub1*sub2;
BigInt quotient;
if(sign==obj.sign)
{ //同号减;
int i carry=0;
i = this->Cmp(obj1);                //绝对值比较;
if(i==0)
return quotient;                 //返回一个零
el

 属性            大小     日期    时间   名称
----------- ---------  ---------- -----  ----

     文件        739  2020-09-30 09:52  Calculator\.qmake.stash

     文件       4634  2012-10-30 15:00  Calculator\about.ui

     文件      15981  2017-12-20 23:03  Calculator\BigInt.cpp

     文件       1967  2020-09-30 10:00  Calculator\BigInt.h

     文件      16584  2020-09-30 10:45  Calculator\BigInt.o

     文件      57994  2017-12-20 23:03  Calculator\Calc.cpp

     文件       6179  2017-12-20 22:57  Calculator\Calc.h

     文件      57736  2020-09-30 10:45  Calculator\Calc.o

     文件     557788  2020-09-30 10:46  Calculator\Calculator

     文件      40743  2012-12-18 13:13  Calculator\Calculator.cpp

     文件       3302  2012-11-01 00:33  Calculator\Calculator.h

     文件     220076  2020-09-30 10:46  Calculator\Calculator.o

     文件        720  2017-12-20 22:56  Calculator\Calculator.pro

     文件      43129  2020-09-30 10:46  Calculator\Calculator.pro.user

     文件      28244  2012-12-18 19:56  Calculator\Calculator.pro.user.2.5pre1

     文件      27169  2012-10-07 11:52  Calculator\Calculator.pro.user.2.6pre1

     文件      23918  2020-09-30 09:51  Calculator\Calculator.pro.user.8155227.4.8-pre1

     文件     155859  2012-11-17 22:56  Calculator\calculator.ui

     文件      10104  2012-11-19 16:31  Calculator\ChildWindow.cpp

     文件       1314  2012-11-01 00:35  Calculator\ChildWindow.h

     文件      85960  2020-09-30 10:45  Calculator\ChildWindow.o

     文件      35133  2012-12-12 21:33  Calculator\Chinese.qm

     文件     119913  2012-12-12 21:34  Calculator\Chinese.ts

     文件       6098  2012-11-10 19:22  Calculator\Complex.cpp

     文件       1247  2012-11-10 19:22  Calculator\Complex.h

     文件      10144  2020-09-30 10:45  Calculator\Complex.o

     文件      14598  2012-12-18 13:13  Calculator\constant.ui

     文件       8795  2012-11-10 16:59  Calculator\GeneticAlgorithm.cpp

     文件        766  2012-11-10 16:47  Calculator\GeneticAlgorithm.h

     文件       6240  2020-09-30 10:45  Calculator\GeneticAlgorithm.o

............此处省略61个文件信息

评论

共有 条评论