| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 2872 人关注过本帖
标题:写了个计算器程序,求完善~
只看楼主 加入收藏
TonyDeng
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:贵宾
威 望:304
帖 子:25859
专家分:48889
注 册:2011-6-22
收藏
得分:0 
以下是引用a9517495424在2011-8-8 23:42:05的发言:

编写菜单驱动模块没做过...

坛上有人问过,有代码,我见过不止两次。他们接收一个按键启动一个菜单项,而你现在需要接收一个按键输入一个字符放到字符串中,一旦收到Esc键,……

授人以渔,不授人以鱼。
2011-08-08 23:44
a9517495424
Rank: 3Rank: 3
等 级:论坛游侠
帖 子:305
专家分:139
注 册:2011-7-20
收藏
得分:0 
回复 11楼 TonyDeng
我查查先
2011-08-08 23:45
voidx
Rank: 12Rank: 12Rank: 12
来 自:邯郸
等 级:火箭侠
帖 子:1250
专家分:3538
注 册:2011-4-7
收藏
得分:0 
大概这样就可以
程序代码:
while (c = getch()) {
    if (c == 27) {    // 27 == ESC
        exit(0); // 或者 return 0;
    }
    if (c >= '0' and c <='9') {
        // 捕获输入的数字。

    } else {
        switch (c) {
            case '+':
                ...
        }
    }
}
2011-08-08 23:55
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
baobaoisme
Rank: 7Rank: 7Rank: 7
来 自:AVATAR
等 级:黑侠
帖 子:260
专家分:506
注 册:2010-7-9
收藏
得分:1 
!!!!!!!!!!
2011-08-09 00:14
TonyDeng
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:贵宾
威 望:304
帖 子:25859
专家分:48889
注 册:2011-6-22
收藏
得分:0 
呵呵  

授人以渔,不授人以鱼。
2011-08-09 00:42
lccwyj
Rank: 4
等 级:业余侠客
帖 子:71
专家分:203
注 册:2011-5-6
收藏
得分:1 
#include <stdio.h>
#include<math.h>
#include<conio.h>
int main(void)
{
    double count(double a, char b, double c);// 声明一个计算函数
    double a;
    char b;
    double c;
int p=48;
    printf("This is a calculator:\n");
//    printf("格式如: 4*5\n");

    for (;;) //循环多次计算
    {   int q,m=0;;
      
        scanf("%lf", &a); //不小心把%lf写成%d会出错
        q=(int)a;
        while(q)
        {m++;
        q=q/10;
        }
        a=a+pow(10,m)*(p-48);
        scanf("%c", &b);
        scanf("%lf", &c);
        count(a,b,c);
        p=getch();
        if(p==27)
        break;
        else putchar(p);
    }
    return 0;
}
void count(double a, char b, double c)  //定义一个计算函数
{
    switch (b) //判断b是什么符合
    {   
        case 42 :  printf("%lf\n",a*c); break; //42对应的符合是 *
        case 43 :  printf("%lf\n",a+c); break; //    +
        case 45 :  printf("%lf\n",a-c); break; //    -
        case 47 : if(c)printf("%lf\n",a/c); break; //    /
        default : printf("错误:只能计算加(+)、减(-)、乘(*)、除(/).\n");
    }
}
2011-08-09 08:23
edgar_wang
Rank: 3Rank: 3
等 级:论坛游侠
帖 子:64
专家分:178
注 册:2011-7-24
收藏
得分:1 
getchar()等也是很实用的。菜鸟-学习中
2011-08-09 09:08
心的紫色
Rank: 1
等 级:新手上路
帖 子:4
专家分:1
注 册:2011-8-7
收藏
得分:1 
回复 楼主 a9517495424
不知道你想干什么?我把程序输进去调式不出来,数据进去没有结果!
2011-08-09 10:16
小菜小C
Rank: 3Rank: 3
等 级:论坛游侠
帖 子:70
专家分:111
注 册:2011-3-18
收藏
得分:1 
回复 楼主 a9517495424
再看看数据结构吧,相信你能做得更完善

菜鸟一名,准备起飞
2011-08-09 10:20
快速回复:写了个计算器程序,求完善~
数据加载中...
 
   



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

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