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

  • 大小: 9KB
    文件類型: .zip
    金幣: 2
    下載: 0 次
    發布日期: 2021-06-13
  • 語言: C/C++
  • 標簽: c++??計算機??

資源簡介

//介紹程序 void introduction(){ cout<<"這是一個計算機程序,支持:+,-,*,/,(,)的浮點數運算"<<endl; cout<<"請不要以+,-,*,/開頭,請注意括號的匹配"<<endl; cout<<"請不要輸入不必要的括號"<<endl; } 如輸入1+3*1.2+(2+2.2)= 就會給計算結果8.8

資源截圖

代碼片段和文件信息

#include?
#include?
using?namespace?std;

/***************************************************************/
//定義一個Stack
enum?Error_code?{?success?overflow?underflow?};?
const?maxsize=20;
template??
class?Stack?{?
public:?
Stack();?
bool?empty()?const;?
bool?full()?const;?
int?size()?const;?
void?clear();?
Error_code?top(T?&item)?const;?
Error_code?pop();?
Error_code?push(const?T?&item);?
private:?
int?count;?
T?entry[maxsize];?
};?

template??
Stack::Stack()?
{??count=0;?
}?

template??
bool?Stack::empty?()?const?
{?return?count==0;?
}?

template??
bool?Stack::full?()?const
{?return?count==maxsize;?
}?

template??
int?Stack::size()?const
{?return?count;?
}?

template??
void?Stack::clear()?
{?count=0;?
}?

template??
Error_code?Stack::top?(T?&item)?const
{?
if?(empty())?return?underflow;?
????item=?entry[count-1];?
????return?success;?
}?

template??
Error_code?Stack::pop?()?
{?
if?(empty())?return?underflow;?
????count--;?
????return?success;?
}?

template??
Error_code?Stack::push?(const?T?&item)
{?
if?(full())?return?overflow;?
????entry[count++]=item;?
????return?success;?
}?






/***************************************************************/
//進行計算的函數
void?calculate(char?sStack&num)
{
double?ab;
num.top?(b);
num.pop?();
num.top?(a);
num.pop?();
switch(s){
case‘+‘:num.push?(a+b);break;
case‘-‘:num.push?(a-b);break;
case‘*‘:num.push?(a*b);break;
case‘/‘:if(b!=0.0)?num.push?(a/b);
????else?cout<<“分母不能為0“< break;
}
}

/***************************************************************/
//判斷優先級,得到結果的函數
void?do_command(Stack&numStack&ch){
????string?sentence;
string?s;
int?i=0;
????double?answer;
string?char_num=““;
char?sign;
cout<<“請輸入要計算的式子“<
cin>>sentence;
s=sentence;
//接下來作為預讀;

????????while(1)
{
if(sentence[i]>=‘0‘&&sentence[i]<=‘9‘||sentence[i]==‘.‘)
{
char_num=char_num+sentence[i];
i++;
while(sentence[i]>=‘0‘&&sentence[i]<=‘9‘||sentence[i]==‘.‘)
{char_num=char_num+sentence[i];
i++;}
//得到一個數以后進行壓棧操作
num.push(atof(char_num.c_str()));



}
else
{
sign=sentence[i];
i++;//得到了一個字符以后進行壓棧操作
ch.push?(sign);

}
char_num=““;//當且僅當讀入了2個數字以上才能繼續進行
if(num.size()==2)
break;

}
while(sentence[i]!=‘\0‘){
if(sentence[i]>=‘0‘&&sentence[i]<=‘9‘||sentence[i]==‘.‘){
char_num=char_num+sentence[i];
i++;
while(sentence[i]>=‘0‘&&sentence[i]<=‘9‘||sentence[i]==‘.‘){
char_num=char_num+sentence[i];
i++;
}//得到一個數以后進行壓棧操作
num.push(atof(char_num.c_str()));
}
?


else
{?
????????????sign=sentence[i];

i++;
switch(sign){
????????char?c;

case‘+‘:
case‘-‘:ch.top(c);
????if(c!=‘(‘)?
{calculate(cnum);ch

?屬性????????????大小?????日期????時間???名稱
-----------?---------??----------?-----??----
?????目錄???????????0??2013-01-18?13:50??計算機程序最終版本\
?????文件????????5289??2012-03-24?14:29??計算機程序最終版本\calculate.cpp
?????目錄???????????0??2013-01-18?13:48??計算機程序最終版本\Debug\
?????文件????????4419??2012-03-24?14:29??計算機程序最終版本\計算機程序最終版本.dsp
?????文件?????????544??2012-03-24?14:20??計算機程序最終版本\計算機程序最終版本.dsw
?????文件???????41984??2013-01-18?13:50??計算機程序最終版本\計算機程序最終版本.ncb
?????文件???????48640??2013-01-18?13:50??計算機程序最終版本\計算機程序最終版本.opt
?????文件????????1357??2013-01-18?13:46??計算機程序最終版本\計算機程序最終版本.plg

評論

共有 條評論