当前位置: 代码迷 >> C语言 >> 小弟求助一下 怎么样用C语言编个计算器 急用哪个大哥大姐帮个忙~!谢谢~!
  详细解决方案

小弟求助一下 怎么样用C语言编个计算器 急用哪个大哥大姐帮个忙~!谢谢~!

热度:170   发布时间:2005-06-07 06:25:00.0
小弟求助一下 怎么样用C语言编个计算器 急用哪个大哥大姐帮个忙~!谢谢~!
要求是

可以+-*/
开平方~
毫米边米
华氏换摄氏~
*有一个乘数是0要重新输入一贯不为0的数才可以执行~  
开平方的时候被开方小于0系统显示提示性语句
退出时去任意键退出~~  


下面这些是符号的代码

  WELCOME  TO  VSING
NUM     CHAR     FUNCTION
1       +        加法
2       -        减法
3        *       乘法
4       /       除法
5       spri()    开方
6       mm=>m   转换
7       oC=7oF  转换
8       ESC    退出
搜索更多相关的解决方案: 计算器  C语言  大姐  

----------------解决方案--------------------------------------------------------
我想这个简单把  那位高手帮我解决下????
----------------解决方案--------------------------------------------------------
简单个毛
----------------解决方案--------------------------------------------------------
以下是引用在2005-6-7 23:27:33的发言: 简单个毛

----------------解决方案--------------------------------------------------------

以下是1996年高级程序员考试的下午第5题(计算器模拟程序),写的非常的经典,但只有+,-,*和/四个运算,但可以在它的基础上修改获得其他的运算: #include <stdio.h> int add(int x,int y) {return x+y;} int sub(int x,int y) {return x-y;} int mul(int x,int y) {return x*y;} int div(int x,int y) {return x/y;} int (*func[])()={add,sub,mul,div}; int num,curch; char chtbl[]="+-*/()="; char corch[]="+-*/()=0123456789"; int getach() { int i; while(1) { curch=getchar(); if(curch==EOF) return -1; for(i=0;corch[i]&&curch!=corch[i];i++); if(i<strlen(corch)) break; } return curch; }

int getid() { int i; if(curch>='0'&&curch<='9') { for(num=0;curch>='0'&&curch<='9';getach()) num=10*num+curch-'0'; return -1; } else { for(i=0;chtbl[i];i++) if(chtbl[i]==curch) break; if(i<=5) getach(); return i; } }

int cal() { int x1,x2,x3,op1,op2,i; i=getid(); if(i==4) x1=cal(); else x1=num; op1=getid(); if(op1>=5) return x1; i=getid(); if(i==4) x2=cal(); else x2=num; op2=getid(); while(op2<=4) { i=getid(); if(i==4) x3=cal(); else x3=num; if((op1/2==0)&&(op2/2==1)) x2=(*func[op2])(x2,x3); else { x1=(*func[op1])(x1,x2); x2=x3; op1=op2; } op2=getid(); } return (*func[op1])(x1,x2); }

void main(void) { int value; printf("Please input an expression:\n"); getach(); while(curch!='=') { value=cal(); printf("The result is:%d\n",value); printf("Please input an expression:\n"); getach(); } } 不要忘了‘=’号!


----------------解决方案--------------------------------------------------------
我把代码复制上去运行不了?[IMG]C:\Documents and Settings\1\My Documents\My Pictures\Image00000.jpg[/IMG]
----------------解决方案--------------------------------------------------------
小弟在这里谢谢了~!~!
----------------解决方案--------------------------------------------------------
我晕复制上去怎么行???
----------------解决方案--------------------------------------------------------
本人刚刚学完VB,是C的新手,不是很懂`
程序代码不能复制上去运行的吗?
请高手指点!!!
----------------解决方案--------------------------------------------------------
你以为是VB呢???VB当然能了 那C语言不支持鼠标操作界面~!是拿键盘操作的~!
要拿鼠标也只是你自己去编个脚本复制进去保存为C程序的格式才能~!然后那C导入这个脚本才行~!

[此贴子已经被作者于2005-6-8 18:05:48编辑过]



----------------解决方案--------------------------------------------------------
  相关解决方案