| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 613 人关注过本帖
标题:简单的双目计算器编程
只看楼主 加入收藏
asdf535463
Rank: 1
等 级:新手上路
帖 子:8
专家分:3
注 册:2011-8-10
结帖率:100%
收藏
已结贴  问题点数:20 回复次数:10 
简单的双目计算器编程
编写程序,模拟简单的计算器的工作,假定简单计算器只能进行双目实数运算,运算的次序按输入的运算数和运算符的顺序进行,在输入时运算符和运算数之间用空格隔开
例 ;输入 "10 + 2 / 3 ="后结果为4.0
求助啊,各位大神给力啊
搜索更多相关主题的帖子: 计算器 编程 
2011-08-28 16:11
laznrbfe
Rank: 10Rank: 10Rank: 10
等 级:青峰侠
帖 子:482
专家分:1599
注 册:2011-5-22
收藏
得分:0 
题目是不是有问题?
2011-08-28 16:45
TonyDeng
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:贵宾
威 望:304
帖 子:25859
专家分:48889
注 册:2011-6-22
收藏
得分:0 
题目没有问题

授人以渔,不授人以鱼。
2011-08-28 17:20
asdf535463
Rank: 1
等 级:新手上路
帖 子:8
专家分:3
注 册:2011-8-10
收藏
得分:0 

大神们,求助啊。
我不奢望有全部的代码,给个灵感也好啊。
小弟再次谢过各位大神。
2011-08-28 18:03
Luminal
Rank: 6Rank: 6
等 级:侠之大者
帖 子:140
专家分:470
注 册:2011-8-24
收藏
得分:10 
由于没有满足楼主的要求,所以删除以前写的程序!叨扰了!

[ 本帖最后由 Luminal 于 2011-8-29 12:53 编辑 ]
2011-08-28 20:12
edwardflee
Rank: 4
等 级:业余侠客
帖 子:145
专家分:234
注 册:2011-7-27
收藏
得分:10 
程序代码:
# include <stdio.h>

float calculate (float i,float j,char k)
{
    float m;
    switch (k)
    {
    case '+':
        m = i+j;
        break;
    case '-':
        m = i-j;
        break;
    case '*':
        m = i*j;
        break;
    case '/':
        m = i/j;
        break;
    }
    return m;
}

int main(void)
{
    float n1,n2,n3;
    char a,b;
   
    scanf("%f %c %f %c %f",&n1,&a,&n2,&b,&n3);

    printf("%.1f\n", calculate (calculate (n1,n2,a), n3, b) );
   
    return 0;
}

/*
在VC++6.0中的输出结果为
————————————
10 + 2 / 3
4.0
Press any key to continue
————————————
*/


[ 本帖最后由 edwardflee 于 2011-8-29 12:56 编辑 ]

学C的秘诀=每天都来泡论坛
2011-08-29 12:21
Luminal
Rank: 6Rank: 6
等 级:侠之大者
帖 子:140
专家分:470
注 册:2011-8-24
收藏
得分:0 
回复 6楼 edwardflee
/*
在VC++6.0中的输出结果为
————————————
10 + 2 / 3
4.0
Press any key to continue
————————————
*/
楼上的这个算式运算结果合理吗?
如果是(10+2)/3 那还可以!
2011-08-29 12:41
edwardflee
Rank: 4
等 级:业余侠客
帖 子:145
专家分:234
注 册:2011-7-27
收藏
得分:0 
呵呵,按楼主题意编的。想按正常顺序运算在printf那里加个判断就可以了
    if (b=='*' || b=='/')
        printf("%.1f\n", calculate (n1, calculate (n2,n3,b), a) );
    else
        printf("%.1f\n", calculate (calculate (n1,n2,a), n3, b) );

[ 本帖最后由 edwardflee 于 2011-8-29 12:43 编辑 ]

学C的秘诀=每天都来泡论坛
2011-08-29 12:42
TonyDeng
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:贵宾
威 望:304
帖 子:25859
专家分:48889
注 册:2011-6-22
收藏
得分:0 
回复 7楼 Luminal
程序员不要跟客户辩论需求,题目明确要求是做成这样,合理与否不是你写程序来判断的,你的职责只是实现它。

授人以渔,不授人以鱼。
2011-08-29 12:45
Luminal
Rank: 6Rank: 6
等 级:侠之大者
帖 子:140
专家分:470
注 册:2011-8-24
收藏
得分:0 
回复 9楼 TonyDeng
TonyDeng你好,
    你说的很对,谢谢你的提醒!我知道该怎么做了!
2011-08-29 12:49
快速回复:简单的双目计算器编程
数据加载中...
 
   



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

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