用c语言编写的计算器源代码

2020-03-27 20:28

作品:科学计算器 作者:欧宗龙

编写环境:vc++6.0 语言:c

#include \#include #include #include #include \#include \#include #include #define PI 3.141593 BOOL A_Op=FALSE;

BOOL WINAPI Main_Proc(HWND hWnd, UINT uMsg, WPARAM wParam, LPARAM lParam) {

switch(uMsg) {

HANDLE_MSG(hWnd, WM_INITDIALOG, Main_OnInitDialog); HANDLE_MSG(hWnd, WM_COMMAND, Main_OnCommand); HANDLE_MSG(hWnd,WM_CLOSE, Main_OnClose); }

return FALSE; }

BOOL Main_OnInitDialog(HWND hwnd, HWND hwndFocus, LPARAM lParam) {

return TRUE; }

void TrimNumber(char a[])//判断并删除小数点后无用的零 { for(unsigned i=0;i=i;j--) { if(a[j]=='0') { a[j]='\\0'; } else if(a[j]=='.') { a[j]='\\0'; } else break; } } } }

double Operate(char Operator,double n1,double n2) { if(Operator=='0') { } if(Operator=='+') { n2+=n1; } if(Operator=='-') { n2=n1-n2; } if(Operator=='*') { n2*=n1; } if(Operator=='/')

//判断符号,进行相应的运算 { n2=n1/n2; } if(Operator=='^') { n2=pow(n1,n2); } return n2; }

//////////////////////// ////////////////////////

void IntBinary(char a[],int n) {

if(n>1)IntBinary(a,n/2); sprintf(a,\}

void decimal(char a[],double m) {

if(m>0.000001) {

m=m*2;

sprintf(a,\ decimal(a,m-(long)m); } }

void Binary(char a[],double Num) { char DecP[256]=\ double x,y; double *iptr=&y; x=modf(Num,iptr); decimal(DecP,x); IntBinary(a,(int)y); strcat(a,\ strcat(a,DecP); }

////////////////////////////////////

void Main_OnCommand(HWND hwnd, int id, HWND hwndCtl, UINT codeNotify)

{ static DELTIMES=0; static char str[256]; static char Operator='0'; static double RNum[3]; switch(id) { case IDC_BUTTONN1://数字1 { if(A_Op) { SetDlgItemText(hwnd,IDC_EDIT,NULL); } GetDlgItemText(hwnd,IDC_EDIT,str,sizeof(str)); strcat(str,\ SetDlgItemText(hwnd,IDC_EDIT,str); RNum[1]=atof(str); A_Op=FALSE; } break; case IDC_BUTTONN2://数字2 { if(A_Op) { SetDlgItemText(hwnd,IDC_EDIT,NULL); } GetDlgItemText(hwnd,IDC_EDIT,str,sizeof(str)); strcat(str,\ SetDlgItemText(hwnd,IDC_EDIT,str); RNum[1]=atof(str); A_Op=FALSE; } break; case IDC_BUTTONN3://数字3 { if(A_Op) { SetDlgItemText(hwnd,IDC_EDIT,NULL); } GetDlgItemText(hwnd,IDC_EDIT,str,sizeof(str)); strcat(str,\ SetDlgItemText(hwnd,IDC_EDIT,str); RNum[1]=atof(str); A_Op=FALSE;

} break; case IDC_BUTTONN4://数字4 { if(A_Op) { SetDlgItemText(hwnd,IDC_EDIT,NULL); } GetDlgItemText(hwnd,IDC_EDIT,str,sizeof(str)); strcat(str,\

SetDlgItemText(hwnd,IDC_EDIT,str); RNum[1]=atof(str); A_Op=FALSE; } break; case IDC_BUTTONN5://数字5 { if(A_Op) { SetDlgItemText(hwnd,IDC_EDIT,NULL); } GetDlgItemText(hwnd,IDC_EDIT,str,sizeof(str)); strcat(str,\

SetDlgItemText(hwnd,IDC_EDIT,str); RNum[1]=atof(str); A_Op=FALSE; } break; case IDC_BUTTONN6://数字6 { if(A_Op) { SetDlgItemText(hwnd,IDC_EDIT,NULL); } GetDlgItemText(hwnd,IDC_EDIT,str,sizeof(str)); strcat(str,\

SetDlgItemText(hwnd,IDC_EDIT,str); RNum[1]=atof(str); A_Op=FALSE; } break; case IDC_BUTTONN7://数字7 { if(A_Op)


用c语言编写的计算器源代码.doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:漫步在冬日的狗岛上作文600字

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: