1樓:匿名使用者
如果你的表示式不超過一級括號,可以不使用棧.
如你的例題,但象這樣不用棧很煩
3*(4*(3+(2+6)/3))
如只有一級,沒人寫,就加我.
2樓:花花韋德少
#include
using namespace std;
bool cal(double lv, char op, double rv, double& val)
return true;
}bool cal(double opd,char ops, int n, double& val)
char* p = ops+n-2;//指向最後一個運算子
while(p>=ops&&*p!='+'&&*p!='-') --p;//找+-
if(p> opd[i];
if(!cin)
else
}//3*(5-6)=
cin >> c;
if(strchr("+-*/=)",c)==null) return false;
ops[i++] = c;
}while(c!='='&&c!=')');
return cal(opd,ops,i,val);
}int main()
}c++ 寫的
3樓:毓拔春問風
#include
intmain()
printf("%.6lf\n",
result);
}return0;}
c語言如何建立一個按鈕?做計算器用
4樓:傻瓜呼叫愛笨蛋
這是一個簡單計算器程式:
1)建立一個對話方塊的應用
2)向對話方塊中新增一個編輯框控制元件和十六個按鈕3)在標頭檔案宣告:
double m_num; //記錄編輯框中的資料bool m_time; //判斷是否為第一次按下數字鍵char m_operator; //儲存運算子4)處理數字「1」按鈕的單擊事件將按鈕代表的數字寫入編輯框中,**:
void ccalculatordlg::onbutton1()m_result = m_result * 10 + 1;
m_time = false;
updatedata(false);
} 5)按照步驟4設定其他的數字按鈕的單擊事件6)新增count函式,用於計算資料,**如下:
void ccalculatordlg::count()m_num /= m_result;
break;
default:
m_num = m_result;
break;
} m_result = m_num;
m_time = true;
updatedata(false);
} 7)處理「+」,為m_operator變數賦值。**:
void ccalculatordlg::onbutton13()m_operator = '+';
} 8)按照步驟7設定其他符號按鈕的單擊事件9)處理「c」按鈕的單擊事件,用於清空編輯框中的資料,**void ccalculatordlg::onbutton11()以上執行結果正常,不過結果貼不上來啊,就靠自己了啊
5樓:
這個比較困難,還是用vc++做吧。
用c語言怎樣實現計算器加減乘除功能?
6樓:匿名使用者
我學c++時寫的
#include
#include "string"
int count(int a,int b,char c)void main()
; char sign[10];
int i,j=0,k=0,m;
int strlong=strlen(str);//#include "string"
cout<='0'&&str[i]<='9')number[j]=number[j]*10+str[i]-48;
else }
j++;
//cout<
2.堆疊
#include "string"
#include "iostream"
#include
#include
#include
using namespace std;
//自定義型別 用於儲存 兩種資料型別
class newtype
data;
}; //將字串轉換為 數字陣列和字元陣列 (通用提取字串中數字)
這裡要使用引用
flag=false;
} else
}//for
return true;
} //計算沒有括號的表示式
計算四者表示式 無括號型別 1+2*3+4int ii=0;
//先計算乘除
while(iiall,float &value){
int pos=0;
vectornumbers;
vectorchars;
float va=0;
for(int i=0;inumbers;
vectorchars;
vectorall;
couvert(str, numbers, chars,all);
for(int i=0;i
這是我翻家底找到的 .
7樓:匿名使用者
#include
void main()
scanf("%d\n",&d);}
8樓:沐星辰曦
#include
void main()
9樓:sky思念很淺
#include
void main()}
10樓:
我有個vc++的 任意進位制轉換----棧的連結儲存/* 棧的連結儲存----任意進位制轉換*/#include
#include
typedef int elemtype;
struct snode ;
void initstack(snode*& hs)// 壓棧 插入元素
void push(snode*& hs, const elemtype& item)
//從棧中刪除一個元素並返回該元素
elemtype pop(snode*& hs)//讀取棧頂元素
elemtype peek(snode* hs)bool emptystack(snode* hs)void clearstack(snode*& hs)hs = null;
}void transform(long number, int r)
while(!emptystack(a))
11樓:匿名使用者
#include
int main()
if(b!=0) //如果除數不為0return 0;}
12樓:匿名使用者
#include
#include
int main()
printf("%f%c%f=%f",a,b,c,d);
return 0;}
c語言計算器怎樣做三角函式功能?
13樓:匿名使用者
很簡單的,比如你已經有一個表示式char exp;
那麼 char * s = strstr(exp, "sin");
if(s)
就可以了
strstr是一個字串函式,用於查詢字串內與關鍵字匹配的那個位置比如char exp = "cos(a) + sin(b) - tan(c)";
那麼char * s = strstr(exp, "sin");
printf(s)的結果是:
sin(b) - tan(c)
14樓:琉璃易碎
可以呼叫庫函式
有關庫函式的**如下:
#include
#include
void main()
float a,sin,cos,tan,cot;
printf("請輸入你要求三角函式的變數");
scanf("%f" ,&a);
sin=sin(a); //呼叫庫函式,譚浩強書後面有cos=sqrt(1-sin*sin);
tan=sin/cos;
cot=1/tan;// 其他的反三角函式也是呼叫庫函式的printf("%f,%f,%f,%f" ,sin,cos,tan,cot);
在c語言中如何實現函式,在c語言中如何實現函式模板
go陌小潔 各種用 c 語言實現的模板可能在使用形式上有所不同。現以一個求和函式 sum 為例,用 c template 可寫如下 template r sum const t array,int n 如果不是內建型別,該模板隱式地需要 有r r operator t 運算子可用。1.使用函式指標作...
用c語言編寫簡單計算器程式,用c語言編寫一個簡單計算器程式
問明 include stdio h 計算器 voidmenu 自定義的選單介面 printf n printf 請輸入你的選擇 n printf 1 n printf 2 n printf 3 n printf 4 n printf n intmain inti 0 intj 0 intnum 0...
C簡易計算器
label 控制元件不包含content這個屬性,你把label3.content全部替換成label3.text 意思是label3控制元件顯示的內容 label3.content 沒有content,你寫成this.label3.text this,是指此頁面中的label控制元件的text文字...