| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 498 人关注过本帖
标题:计算器问题
只看楼主 加入收藏
ytiantian_ha
Rank: 2
等 级:论坛游民
帖 子:29
专家分:19
注 册:2012-7-1
结帖率:75%
收藏
已结贴  问题点数:20 回复次数:9 
计算器问题
程序代码:
#include <windows.h>
#include <stdio.h>
#include <stdlib.h>
int main(int argc, char *argv[])
{
       float Data1,Data2,tempfloat;
    char Operator;
    unsigned int temp =0;
    float (*pFunc)(float,float);
    for(;;)
    {
        printf("Input the first Data to Calculate.\n ");
        scanf("%f",&Data1);
        getchar();
        if(Data1<1)
        {
            printf("Input Wrong Data1 Format!\n");
            goto InputFail;
        }
        printf("Input the second Data to calculate.\n ");
        scanf("%f",&Data2);
        getchar();
        if(Data1<1)
        {
            printf("Input Wrong Data2 Format!\n");
            goto InputFail;
        }
        printf("Input the Operator to Calculate(+ - * / ).\n ");
        scanf("%c",&Operator);
        getchar();
        switch(Operator)
        {
        case '+': pFunc= CAdd; break;
        case '-': pFunc= CSub; break;
        case '*': pFunc= Cmul; break;
        case '/': pFunc= Cdiv; break;
        default :goto InputFail;//printf("Input Wrong Operator Fromat !\n");
        }
        tempfloat =pFunc(Data1,Data2);
        printf("The Result of Calculate is %9.2f \n",tempfloat );
InputFail:
        printf("You Will Calculate the Data Continue?(\"Y\" or\"N\")\n");
        scanf("%c",&Operator);
        getchar();
        switch(Operator)
        {
        case 'Y':
        case'y':
            goto InputFail;
        case 'N':
        case'n':
            goto Terminate;
        default:
            printf("What do You want to do ? I don't understand.\n");
            goto InputFail;
        }
    }
Terminate: //Program Finished
getchar();
    return 0;
}
// define the Function implementation you want to use float CAdd(float d1,float d2)
float CAdd(float d1,float d2)
{
    return d1+d2;
}
float CSub(float d1,float d2)
{
    return d1-d2;
}
float Cmul(float d1,float d2)
{
    return d1*d2;
}
float Cdiv(float d1,float d2)
{
    if(d2 ==0)
    {
        printf("Dvide by zero ,Error ! \n");
        return 0;
    }
    return d1/d2;
  printf("Hello World!\n");
  printf("Press ENTER to continue...\n");
  getchar();
  return 0;
}
求姐脱!求姐救!求姐压!求姐释!求修改、、为什么能在VS2010中运行,而DEV C++不行?
搜索更多相关主题的帖子: 计算器 
2012-07-04 15:58
ytiantian_ha
Rank: 2
等 级:论坛游民
帖 子:29
专家分:19
注 册:2012-7-1
收藏
得分:0 
计算器问题在线等很久很久很久
2012-07-04 15:59
embed_xuel
Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19
等 级:贵宾
威 望:58
帖 子:3845
专家分:11385
注 册:2011-9-13
收藏
得分:5 
是编译问题还是运行有问题?

总有那身价贱的人给作业贴回复完整的代码
2012-07-04 16:01
ytiantian_ha
Rank: 2
等 级:论坛游民
帖 子:29
专家分:19
注 册:2012-7-1
收藏
得分:0 
回复 3楼 embed_xuel
VS2010能通过  DEV到case那里就报错
2012-07-04 16:09
zklhp
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
来 自:china
等 级:贵宾
威 望:254
帖 子:11485
专家分:33241
注 册:2007-7-10
收藏
得分:5 
//#include <windows.h>
#include <stdio.h>
#include <stdlib.h>

float CAdd(float d1,float d2);
float CSub(float d1,float d2);
float Cmul(float d1,float d2);
float Cdiv(float d1,float d2);

加声明 顺便 貌似也没有什么windows函数啊 不用windows.h罢

gcc 4.6.2 编译通过
2012-07-04 16:22
zklhp
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
来 自:china
等 级:贵宾
威 望:254
帖 子:11485
专家分:33241
注 册:2007-7-10
收藏
得分:0 
新人要学会看编译错误信息
2012-07-04 16:23
zklhp
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
来 自:china
等 级:贵宾
威 望:254
帖 子:11485
专家分:33241
注 册:2007-7-10
收藏
得分:0 
对了 忘说了 你很喜欢用goto嘛 有没有兴趣学习学习汇编呢 呵呵
2012-07-04 16:29
ytiantian_ha
Rank: 2
等 级:论坛游民
帖 子:29
专家分:19
注 册:2012-7-1
收藏
得分:0 
回复 7楼 zklhp
大一学了很多乱七八糟的东西。语言就学了C,大二学C++。我不喜欢用goto的。没办法被逼的而已 我感觉能做个大的循环 但是以我现在的水平还写不到  只能看懂别人写的
2012-07-05 13:12
随风飘荡
Rank: 7Rank: 7Rank: 7
等 级:黑侠
威 望:3
帖 子:208
专家分:598
注 册:2011-9-9
收藏
得分:5 
z版我想学汇编
2012-07-05 15:16
ly2222
Rank: 7Rank: 7Rank: 7
等 级:黑侠
帖 子:217
专家分:618
注 册:2012-6-15
收藏
得分:5 
坚持学c
2012-07-05 17:19
快速回复:计算器问题
数据加载中...
 
   



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

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