C 實現計算器功能

2021-10-05 08:51:13 字數 2605 閱讀 4881

注意:判斷數值和表示式 的合理性。

#include

#include

#include

#define max_len 200

//判斷字元是否合理 0-9 . + - * /

bool

checkinput

(char c)

//. + - * /

if(c ==

0x2e

|| c ==

0x2b

|| c ==

0x2d

|| c==

0x2a

|| c ==

0x2f

)return

false;}

bool

isnum

(char c)

//. + - * /

if(c ==

0x2e

)return

false;}

bool

isoperate

(char c)

return

false;}

//1.判斷表示式是否合理,2.判斷數值是否合理

intmain

(int argc,

char

**ar**)

;memset

(szbuf,

0,max_len)

;scanf

("%s"

,szbuf)

;int len =

strlen

(szbuf)

;//校驗使用者輸入字元是否正確

for(

int i=

0;iprintf

("you input:%s\n執行計算中,請稍後...\n"

,szbuf)

;//解析表示式

//計算值

double

*pvalues =

(double*)

malloc

(sizeof

(double))

;int ivalueindex =0;

//操作符

char

* popera =

(char*)

malloc

(sizeof

(char))

;int ioperaindex =0;

int valindex =0;

double fprevalue =0;

char sztemp[max_len]

;memset

(sztemp,

0,max_len)

;for

(int i=

0;i) sztemp[valindex++]=

'\0'

; fprevalue =

atof

(sztemp)

; valindex=0;

//儲存計算值

pvalues[ivalueindex]

= fprevalue;

ivalueindex ++

; pvalues =

(double*)

realloc

(pvalues,

(ivalueindex+1)

*sizeof

(double))

;//儲存操作符

popera[ioperaindex]

= szbuf[i]

; ioperaindex ++

; popera =

(char*)

realloc

(popera,

(ioperaindex+1)

*sizeof

(char))

;} sztemp[valindex++]=

'\0'

; fprevalue =

atof

(sztemp)

; pvalues[ivalueindex]

= fprevalue;

//執行*/計算 //10*20/23

double dtemp =0;

for(

int i=

0;i)else

if( popera[i]

==0x2f

)// /

}//執行+- //10+0*666-9

char cpreopera =0;

for(

int i=

0;i)else

if( popera[i]

==0x2d

)// -

else

//* /

else

if( cpreopera ==

0x2d

)// -}}

printf

("reslut = %g\n"

,pvalues[ivalueindex]);

delete

pvalues;

delete

popera;

}// getchar();

return0;

}

C 實現簡單計算器功能

實現效果 form1.cs using system using system.collections.generic using system.componentmodel using system.data using system.drawing using system.linq using...

C 實現簡單計算器功能

c 實現簡單計算器的具體 供大家參考,具體內容如下 要求 輸入乙個包含 的非負整數計算表示式,計算表示式的值,每個字元之間需有乙個空格,若一行輸入為0,則退出程式。輸入樣例 4 2 5 7 11 輸出樣例 13.36 實現 include include using namespace std ch...

python 實現計算器功能

開發乙個簡單的python計算器 實現加減乘除及拓號優先順序解析 使用者輸入 1 2 60 30 40 5 9 25 3 7 399 42998 10 568 14 43 16 32 等類似公式後,必須自己解析裡面的 符號和公式 不能呼叫eval等類似功能偷懶實現 運算後得出結果,結果必須與真實的計...