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

  • 大小: 1.54 KB
    文件類型: .rar
    金幣: 2
    下載: 0 次
    發布日期: 2024-08-08
  • 語言: 其他
  • 標簽: 課程設計??

資源簡介

和數據結構數上的要求一樣.作業和課程設計的的要求都達到,有注西,包你滿意(修正版)

資源截圖

代碼片段和文件信息

#include?
#include?
#include??//棧也可以自己寫只要寫出的棧和下面的函數名一樣即可?
#include?
using?namespace?std;

double?Evalucateexpression();?//表達示計算?
double?ConverNum(stack?&num);?//轉化為操作數?
double?Evalucate(double?b?char?c?double?a);?//計算?
char?Precede(stack?&OPTR?char?c);?//運算符優先級?
int?GetPos(char?c);?//取下標?

int?main(int?argc?char?*argv[])
{
????
????cout?<pression()?<????system(“PAUSE“);
????return?EXIT_SUCCESS;
}

double?Evalucateexpression()
{
????stack?OPND;//操作數棧?
????stack?OPTR;?//操作符棧?
????stack?num;?//多位數棧?
????OPTR.push(‘=‘);?
????char?c?=?getchar();
????bool?T?=?true;
????
????while?(c?!=?‘=‘?||?OPTR.top()?!=?‘=‘)
????{
??????????if?(isdigit(c)?||?c?==?‘.‘)??//操作數入num棧等待轉換?
??????????{
????????????????num.push(c);??????????????
????????????????c?=?getchar();?
????????????????T?=?true;??//判斷是否為數字,為下面的是OPND.push(ConverNum(num))做準備????
??????????}
??????????else
??????????{??
??????????????if?(T)?//轉換操作數后入OPND棧?
??????????????{
??????????????????OPND.push(ConverNum(num));
??????????????}
//??????????????else
//??????????????{
?//?????????????????T?=?true;
?//?????????????}
??????????????char?ch?=?Precede(OPTR?c);?//判斷操作符優先級?????
??????????????switch?(ch)
??????????????{
?????????????????????
???????????????double?a?b;
???????????????case?‘<‘:?//優先級小則操作符入棧?
????????????????????OPTR.push(c);
????????????????????c?=?getchar();
????????????????????T?=?false;
????????????????????break;
???????????????case?‘=‘:?//優先級相等則去掉操作符(其實就是去符號)?
????????????????????OPTR.pop();
????????????????????c?=?getchar();
????????????????????T?=?false;
????????????????????break;
???????????????case?‘>‘:?//優先級大則進行兩數計算?
????????????????????a?=?OPND.top();
????????????????????OPND.pop();
????????????????????b?=?OPND.top();
????????????????????OPND.pop();
????????????????????OPND.push(Evalucate(b?OPTR.top()?a));???//計算后入棧?????????????
????????????????????OPTR.pop();
????????????????????T?=?false;
????????????????????break;?
???????????????default:
????????????????????cout?<????????????????????system(“pause“);
????????????????????exit(0);??
??????????????}
??????????}
????}
????return?OPND.top();
}

double?Evalucate(double?b?char?c?double?a)
{
????
????switch(c)
????{
????case?‘+‘:
?????????return?b?+?a;
????case?‘-‘:
?????????return?b?-?a;
????case?‘*‘:
?????????return?b?*?a;
????case?‘/‘:
?????????return?b?/?a;
????default:
?????????cout?<?????????system(“pause“);
?????????exit(0);?????????????????????????????????
????}
}

double?ConverNum(stack?&num)//先計算總說再除以多少位小數?
{
????int?temp?=?1;
????int?m?=?1;
????int?size?=?num.size();
????int?point?=?0;?//計算多少小數位?
????double?sum?=?0;
????for?(int?i?=?0;?i?!=?size;?++i)
????{
????????if?(num.top()?!=?‘.‘)
????????{
????????????sum?+=?temp?*?(num.top()?-?48);
????????????temp?*=?10;
????????????num.pop();
????

?屬性????????????大小?????日期????時間???名稱
-----------?---------??----------?-----??----

?????文件?????????67??2009-02-28?16:25??使用前看.txt

?????文件???????4519??2009-03-13?09:02??main.cpp

-----------?---------??----------?-----??----

?????????????????4586????????????????????2


評論

共有 條評論