📄 calculate.h
字号:
#include "LinkList.h"
#include "PlusMinus.h"
#include "MultipyDivision.h"
enum{plus,minus};
bool compare(LHList<int> &firstNum,LHList<int> &secondNum)
{
int firstCount,secondCount;
firstCount=firstNum.getCount();
secondCount=secondNum.getCount();
if(firstCount>secondCount) // |first|>|second|
{
return true;
}
else if(firstCount<secondCount) // |first|<|second|
{
return false;
}
else // first.count=second.count
{
int first,second;
for(int i=0;i<firstCount;i++)
{
first=firstNum.getNextValue();
second=secondNum.getNextValue();
if(first!=second)
break;
}
if(first>=second)
return true;
else
return false;
}
}
void Calculate(LHList<int> &firstNum,LHList<int> &secondNum,int firstNumflag ,int secondNumflag,char operatorflag )
{
char reusltflage='+';
switch(operatorflag)
{
case '+': if(firstNumflag==minus&&secondNumflag==minus)
{
reusltflage='-';
plusCalculate(firstNum,secondNum,reusltflage);
}
else if(firstNumflag!=minus&&secondNumflag==minus)//first>0 second<0
{
if(compare(firstNum,secondNum)) //|first|>|second|
{
minusCalculate(firstNum,secondNum,reusltflage);
}
else// |first|<|second|
{
reusltflage='-';
minusCalculate(secondNum,firstNum,reusltflage);
}
}
else if(firstNumflag==minus&&secondNumflag!=minus) //first<0 , second>0
{
if(compare(firstNum,secondNum)) //|first|>|second|
{
reusltflage='-';
minusCalculate(firstNum,secondNum,reusltflage);
}
else // |first|<|second|
{
minusCalculate(secondNum,firstNum,reusltflage);
}
}
else
plusCalculate(firstNum,secondNum,reusltflage);
break;
case '-':if(firstNumflag==minus&&secondNumflag!=minus)
{
reusltflage='-';
plusCalculate(firstNum,secondNum,reusltflage);
}
else if(firstNumflag!=minus&&secondNumflag==minus)
plusCalculate(firstNum,secondNum,reusltflage);
else if(firstNumflag==minus&&secondNumflag==minus) //first<0, second>0
{
if(compare(firstNum,secondNum)) //|first|>|second|
{
reusltflage='-';
minusCalculate(firstNum,secondNum,reusltflage);
}
else// |first|<|second|
{
minusCalculate(secondNum,firstNum,reusltflage);
}
}
else//first>0 ,second<0
{
if(compare(firstNum,secondNum)) //|first|>|second|
{
minusCalculate(firstNum,secondNum,reusltflage);
}
else // |first|<|second|
{
reusltflage='-';
minusCalculate(secondNum,firstNum,reusltflage);
}
}
break;
case '*': if(firstNumflag==minus&&secondNumflag==minus)
reusltflage='+';
else if(firstNumflag!=minus&&secondNumflag==minus)
reusltflage='-';
else if(firstNumflag==minus&&secondNumflag!=minus)
reusltflage='-';
multiplyCalculate(firstNum,secondNum,reusltflage);
break;
case '/': if(firstNumflag==minus&&secondNumflag==minus)
reusltflage='+';
else if(firstNumflag!=minus&&secondNumflag==minus)
reusltflage='-';
else if(firstNumflag==minus&&secondNumflag!=minus)
reusltflage='-';
divisionCalculate(firstNum,secondNum,reusltflage);
break;
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -