| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1303 人关注过本帖
标题:我的计算器
只看楼主 加入收藏
vfdff
Rank: 6Rank: 6
等 级:侠之大者
威 望:8
帖 子:2172
专家分:425
注 册:2005-7-15
收藏
得分:0 
希望继续改进

#include<stdio.h>
#include<math.h>

float newx()
{
float x;
printf("Input the value X:");
scanf("%f",&x);
return x;
}
float newy()
{
float y;
printf("Input the value Y:");
scanf("%f",&y);
return y;
}
float add(float m,float n)
{
return (m+n);
}
float sub(float m,float n)
{
return n-m;
}
float mul(float m,float n)
{
return m*n;}
float div(float m,float n)
{
if(n==0)printf("ERROR!\n");
return n/m;
}
float Sin(float n)
{
return sin(n);
}
float Cos(float n)
{
return cos(n);
}
float Tan(float n)
{
return tan(n);
}
float Exp(float n)
{
return exp(n);
}
float Fabs(float n)
{
return fabs(n);
}
float Log( float n)
{
return log(n);
}
float Log10(float n)
{
return log10(fabs(n)); /*·ÀÖ¹¸ºÊý*/
}
float Pow(float m,float n)
{
return pow(m,n);
}
float Sqrt(float n)
{
if(n<0)printf("ERROR!\n");
return sqrt(n);
}
void Operate1(float x,float (*fun)() ) /*µ¥²Ù×÷Êý*/
{
printf("%.1f\n", (*fun)(x) );
}
void Operate2(float x,float y,float (*fun)(float x,float y)) /*Ë«²Ù×÷Êý*/
{
printf("%.1f\n",(*fun)(x,y));
}
void main()
{
int sel;
printf("choose the mode of calculate:\n");
printf("1:\'+\' 2:\'-\' 3:\'*\' 4:\'/\' 5:\'pow\' 6:\'cos\' 7\'tan\'\n");
printf("8:\'exp\' 9:\'fabs\' 10:\'LogE\' 11:\'Log10\' 12:\'sin\' 13:\'Sqrt\'\n");
do
{
scanf("%d",&sel);
switch(sel)
{
case 0:break;
case 1: Operate2(newy(),newx(),add);break;
case 2: Operate2(newy(),newx(),sub);break;
case 3: Operate2(newy(),newx(),mul);break;
case 4: Operate2(newy(),newx(),div);break;
case 5: Operate2(newy(),newx(),Pow);break;
case 6: Operate1(newx(),Cos); break;
case 7: Operate1(newx(),Tan); break;
case 8: Operate1(newx(),Exp); break;
case 9: Operate1(newx(),Fabs); break;
case 10:Operate1(newx(),Log); break;
case 11:Operate1(newx(),Log10);break;
case 12:Operate1(newx(),Sin) ; break;
case 13:Operate1(newx(),Sqrt); break;
} /*end switch() */
}while(sel!=0);
}
这是本人对上面的程序一点改进
希望大家提提意见,继续努力!!
这个计算器 不能对表达式计算,不是很理想
希望继续改进


~~~~~~~~~~~~~~~好好学习~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
2006-08-06 16:29
x5471140
Rank: 1
等 级:新手上路
帖 子:22
专家分:0
注 册:2006-6-19
收藏
得分:0 
给楼主提个建议,写程序应该加上适当的注释比较好
2006-08-06 21:16
美眉
Rank: 1
等 级:新手上路
帖 子:44
专家分:0
注 册:2006-8-3
收藏
得分:0 

恩!


2006-08-07 18:38
vfdff
Rank: 6Rank: 6
等 级:侠之大者
威 望:8
帖 子:2172
专家分:425
注 册:2005-7-15
收藏
得分:0 
大哥,这里的子函数和 子程序的功能配合的这么好
你还觉得要注释
有点过分哦

我觉得注释只在必要的时候加
其实这个函数名字 就是注释的!!!!

~~~~~~~~~~~~~~~好好学习~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
2006-08-08 00:31
快速回复:我的计算器
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.017836 second(s), 9 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved