| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 415 人关注过本帖
标题:简单计算器调试时,提示错误。
只看楼主 加入收藏
zss427607
Rank: 1
等 级:新手上路
帖 子:124
专家分:3
注 册:2008-10-28
结帖率:100%
收藏
已结贴  问题点数:20 回复次数:1 
简单计算器调试时,提示错误。
程序代码:
#include
#include
#include
int main(void)
{
    char a[10],b[10],c,q;
    int i,j,k,l,flag=0,flat;   
    printf("输入运算的数据1:\n");
asd:scanf("%s",a);
    for(i=0;a[i]!=0;i++)
        {
        if(i==0&&(a[i]=='+'||a[i]=='-'))
            {
            i++;
            continue;
            }            
        if(a[i]=='.')
            {
            flag++;
            if(flag>1) 
                {
                break;
                }
            else if(flag==1)
                {
                 continue;
                }
            }
        j=isdigit(a[i]);
        if(j==0)
            {
            break;
            }
        }
    if(j!=0)
        goto asf;
    else
        printf("输入数据无效\n");goto asd;
asf:printf("输入运算的数据2:\n");
    scanf("%s",b);
    for(k=0;b[k]!=0;k++)
    {
        if(k==0&&(b[k]=='+'||b[k]=='-'))
        {
            k++;
            continue;
        }            
        if(b[k]=='.')
        {
            flat++;
            if(flat>1)  
            {
                break;
            }
            else if(flat==1)
            {
                continue;
            }
        }
        l=isdigit(b[k]);
        if(l==0)
        {
            break;
        }
    }
    if(l!=0)
        goto asg;
    else
        printf("输入数据无效\n");goto asf;
asg:printf("输入运算符\n");
zxc:while(scanf("%s",q))
    {
        if(q=='/'&&b!=0)
        {
            switch(q)
            {
            case '+': c=a+b;break;
            case '-': c=a-b;break;
            case '*': c=a*b;break;
            case '/': c=a/b;break;
            default:{printf("输入运算符有误\n");goto zxc;}
            }
        }
        else
        {
            printf("除法运算分母不能为零!\n");goto zxc;
        }
        printf("%s",c);
    }
    system("pause");
    return 0;
}
写了简单计算器,
对输入数据进行判断不是数字重新输入,
然后在进行运算数据,
但是提示是提示错误,
没找到,请各位帮助找一下。
先谢谢了。
搜索更多相关主题的帖子: include 计算器 
2012-09-05 19:09
magicpaul007
Rank: 2
等 级:论坛游民
帖 子:7
专家分:58
注 册:2012-9-6
收藏
得分:20 
我试了一下存在比较严重的问题是在对于运算符的判断上,你的第一个if条件是除法运算符,如果不是除法,就直接跳转了,你没有实现其他功能,应该在外面判断,然后再判断除数是不是0,先判断运算符,再判断第二个数字是不是0,而且强烈建议初学者不要使用goto语句,编程习惯不好。
至于这个程序,依着我说的思路你再想想看,不行再问具体问题。
2012-09-06 21:35
快速回复:简单计算器调试时,提示错误。
数据加载中...
 
   



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

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