| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 2872 人关注过本帖
标题:写了个计算器程序,求完善~
取消只看楼主 加入收藏
a9517495424
Rank: 3Rank: 3
等 级:论坛游侠
帖 子:305
专家分:139
注 册:2011-7-20
结帖率:100%
收藏
已结贴  问题点数:10 回复次数:26 
写了个计算器程序,求完善~
程序代码:
# include <stdio.h>
int main(void)
{
    double count(double a, char b, double c);// 声明一个计算函数
    double a;
    char b;
    double c;

    printf("This is a calculator:\n");
//    printf("格式如: 4*5\n");

    for (;;) //循环多次计算
    {   
       
        scanf("%lf", &a); //不小心把%lf写成%d会出错
        scanf("%c", &b);
        scanf("%lf", &c);
        printf("%lf\n", count(a,b,c));
    }
    return 0;
}
double count(double a, char b, double c)  //定义一个计算函数
{
    switch (b) //判断b是什么符合
    {   
        case 42 :  return a*c; break; //42对应的符合是 *
        case 43 :  return a+c; break; //    +
        case 45 :  return a-c; break; //    -
        case 47 :  return a/c; break; //    /
        default : printf("错误:只能计算加(+)、减(-)、乘(*)、除(/).\n");
    }
}



                  求完善,怎么样才能实现任何时候按ESC就退出程序。我用exit函数弄了好长时间也搞不了。不知道怎么才能随时接收字符。如果还有其他的完善,请不吝赐教。







                                                                                 
搜索更多相关主题的帖子: 计算器 color 
2011-08-08 22:58
a9517495424
Rank: 3Rank: 3
等 级:论坛游侠
帖 子:305
专家分:139
注 册:2011-7-20
收藏
得分:0 
  都来看看啦!
2011-08-08 23:00
a9517495424
Rank: 3Rank: 3
等 级:论坛游侠
帖 子:305
专家分:139
注 册:2011-7-20
收藏
得分:0 
回复 3楼 TonyDeng
我是想用exit函数来的,不过就是不知道怎么才能做到随时。
2011-08-08 23:12
a9517495424
Rank: 3Rank: 3
等 级:论坛游侠
帖 子:305
专家分:139
注 册:2011-7-20
收藏
得分:0 
回复 4楼 木偶然
专业名词——不懂
2011-08-08 23:13
a9517495424
Rank: 3Rank: 3
等 级:论坛游侠
帖 子:305
专家分:139
注 册:2011-7-20
收藏
得分:0 
回复 7楼 TonyDeng
查了资料,getch就一个功能,接收字符,可是不会在每一条语句后面都加个判断是否退出吧?
2011-08-08 23:38
a9517495424
Rank: 3Rank: 3
等 级:论坛游侠
帖 子:305
专家分:139
注 册:2011-7-20
收藏
得分:0 
编写菜单驱动模块没做过...
2011-08-08 23:42
a9517495424
Rank: 3Rank: 3
等 级:论坛游侠
帖 子:305
专家分:139
注 册:2011-7-20
收藏
得分:0 
回复 11楼 TonyDeng
我查查先
2011-08-08 23:45
a9517495424
Rank: 3Rank: 3
等 级:论坛游侠
帖 子:305
专家分:139
注 册:2011-7-20
收藏
得分:0 
以下是引用voidx在2011-8-8 23:55:46的发言:

大概这样就可以
while (c = getch()) {
    if (c == 27) {    // 27 == ESC
        exit(0); // 或者 return 0;
    }
    if (c >= '0' and c <='9') {           //如果我想执行到这就退出怎么办???
        // 捕获输入的数字。  
 
    } else {
        switch (c) {
            case '+':
                ...
        }
    }
}
   
  好像也不能随时退出啊
2011-08-09 00:13
a9517495424
Rank: 3Rank: 3
等 级:论坛游侠
帖 子:305
专家分:139
注 册:2011-7-20
收藏
得分:0 
回复 17楼 lccwyj
编译没错,链接出错、
2011-08-09 11:46
a9517495424
Rank: 3Rank: 3
等 级:论坛游侠
帖 子:305
专家分:139
注 册:2011-7-20
收藏
得分:0 
回复 19楼 心的紫色
我用VC++6.0测试过可以
2011-08-09 11:49
快速回复:写了个计算器程序,求完善~
数据加载中...
 
   



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

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