91av视频/亚洲h视频/操亚洲美女/外国一级黄色毛片 - 国产三级三级三级三级

  • 大小: 23.18MB
    文件類型: .7z
    金幣: 1
    下載: 0 次
    發布日期: 2023-07-23
  • 語言: C/C++
  • 標簽: DEV_C++??6.0??

資源簡介

很好用的一款編譯器,比起vs,占得空間小多了

資源截圖

代碼片段和文件信息

#include?
#include?
#include?
#include?
#include?
using?namespace?std;
const?char?NUM[]?=?{‘0‘?‘1‘?‘2‘?‘3‘?‘4‘?‘5‘?‘6‘?‘7‘?‘8‘?‘9‘?‘.‘};
const?char?OPERATION[]?=?{‘+‘?‘-‘?‘*‘?‘/‘};
const?double?PI?=?3.14159265358979;
const?double?EE?=?2.71828182818281;
class?Fun?{?//處理系統數學函數的類
public:
????Fun(string?o?int?t?double?l?=?0.0?double?r?=?0.0):?op(o)?type(t)?lvalue(l)?rvalue(r)?{}
????static?string?FUN[];
????double?calc();
private:
????int?type;?//666?0?1?sin90?2?3!?3?3C2
????string?op;?//函數類型
????double?lvalue;?//函數左邊的值
????double?rvalue;?//函數右邊的值
????static?int?FunNum;
};
int?Fun::FunNum?=?10;
string?Fun::FUN[]?=?{“!“?“sin“?“cos“?“tan“?“log“?“ln“?“C“?“A“?“^“?“-“};
/*
函數說明:
1:log是以10為底的工程對數
2:ln?是以e為底的自然對數
3:C?計算組合數?輸入規則?如計算?3取2的組合?輸入表達式?3C2
4:A?計算排列數?輸入規則?如計算?3取2的排列?輸入表達式?3A2
5:!?計算階乘
6:^?x的y次方?輸入?x^y
*/
int?factorial(int?n)?{?//階乘函數
????int?i?s?=?1;

????for(i?=?1;?i?<=?n;?i++)
????????s?*=?i;

????return?s;
}
int?C(int?a?int?b)?{
????return?factorial(a)?/?(factorial(b)?*?factorial(a?-?b));
}
int?A(int?a?int?b)?{
????return?factorial(a)?/?factorial(b);
}
double?Fun::calc()?{?//計算系統函數的值
????if(type?==?0)
????????return?lvalue;
????else?{
????????if(op?==?“!“)
????????????return?factorial(lvalue);

????????if(op?==?“sin“)
????????????return?sin(rvalue?/?180?*?PI);

????????if(op?==?“cos“)
????????????return?cos(rvalue?/?180?*?PI);

????????if(op?==?“tan“)
????????????return?tan(rvalue?/?180?*?PI);

????????if(op?==?“log“)
????????????return?log10(rvalue);

????????if(op?==?“ln“)
????????????return?log10(rvalue)?/?log10(EE);

????????if(op?==?“C“)
????????????return?C(lvalue?rvalue);

????????if(op?==?“A“)
????????????return?A(lvalue?rvalue);

????????if(op?==?“^“)
????????????return?pow(lvalue?rvalue);

????????if(op?==?“-“)
????????????return?-rvalue;
????????else?{
????????????string?err?=?“暫時沒有函數“?+?op;
????????????MessageBox(NULL?err.c_str()?“錯誤“?MB_OK);
????????????return?0;
????????}
????}
}
struct?Unit?{?//雙向鏈表保存運算單元
????Unit(int?p?char?o?string?c?double?v?int?t?Unit?*?pr?=?NULL?Unit?*?n?=?NULL)
????????:?PRI(p)?Operation(o)?Code(c)?value(v)?Type(t)?Pre(pr)?Next(n)?{}
????int?PRI;?//優先級
????char?Operation;?//操作符
????string?Code;?//原始代碼
????double?value;?//數據
????int?Type;?//類型?操作符0?數據1?函數2
????Unit?*?Pre;?//構成雙向鏈表
????Unit?*?Next;
};
class?Node?{?//表達式樹狀結構的節點
public:
????Node(char?o?int?p?int?e?=?1?double?v?=?0?Node?*?ph?=?NULL?Node?*?pl?=?NULL?Node?*?pr?=?NULL)
????????:?Operation(o)?PRI(p)?expression(e)?value(v)?Head(ph)?Left(pl)?Right(pr)?{}
????Node?*?Head;?//節點的根左樹枝右樹枝
????Node?*?Left;
????Node?*?Right;
????double?GetValue();
????char?GetOperation()?const?{
????????return?Operation;
????}
????int?GetPri()?const?{
????????return?PRI;
????}
????int?IsExp()?const?{
????????return?expression;
????}
private:
????char?Operat

評論

共有 條評論