| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 433 人关注过本帖
标题:如果编码错误,我想让他自动跳过重新随机刷一次数字,怎么让它回去?
取消只看楼主 加入收藏
gzliujie5
Rank: 1
来 自:贵州
等 级:新手上路
帖 子:22
专家分:5
注 册:2011-8-13
结帖率:66.67%
收藏
已结贴  问题点数:10 回复次数:2 
如果编码错误,我想让他自动跳过重新随机刷一次数字,怎么让它回去?
刚学,说不清楚,下面出代码,其中除数我要求   (b==0 && a/b!=0)a/b!=0的意思好像是不被整除的意思吧?难道我理解错误,看编码~~~

===============================================================================================================
#include "iostream.h"
#include "stdlib.h"
#include "time.h"
int main()
{
    int a,b;
    float numOfQues=0,numOfRight=0;
    char inquiry;
    srand(time(NULL));
    cout<<"欢迎来计算两位数的加减法运算!"<<endl;
    do
    {
        int temp=3;//为了测试除数正确性,特意改成3的
        a=rand()%10;//产生一个10以内的随机数
        b=rand()%10;//产生一个10以内的随机数
        switch (temp)
        {
        case 0:
            {
                int ans;//用来存放答案
                cout<<a<<'+'<<b<<'=';
                cin>>ans;
                if (ans==a+b)
                {
                    numOfRight++;
                    cout<<"恭喜你答对了!"<<endl;
                }
                else cout<<"很遗憾答错了,加油!"<<endl;
                break;
            }
        case 1:
            {
                int ans;
                cout<<a<<'-'<<b<<'=';
                cin>>ans;
                if (a>b)
                {
                    continue;
                }
                else
                {
                    if (ans==a-b)
                    {
                        numOfRight++;
                        cout<<"恭喜你答对了!"<<endl;
                    }
                    else cout<<"很遗憾答错了,加油!"<<endl;
                    break;
                }
            }
        case 2:
            {
                int ans;
                cout<<a<<'*'<<b<<'=';
                cin>>ans;
                if (ans==a*b)
                {
                    numOfRight++;
                    cout<<"恭喜你答对了!"<<endl;
                }
                else cout<<"很遗憾答错了,加油!"<<endl;
                break;
            }
        case 3:
            {
                int ans;
                cout<<a<<'/'<<b<<'=';
                cin>>ans;
                if (b==0 && a/b==0)
                {
                    break;
                }
                else
                {
                    if (ans=a/b)
                    {
                        numOfRight++;
                        cout<<"恭喜你答对了!"<<endl;
                    }
                    else cout<<"很遗憾答错了,加油!"<<endl;
                    break;
                }
            }
        }
        numOfQues++;
        cout<<"还要再做吗一个题吗?"<<endl;
        cin>>inquiry;
    }while (inquiry!='n'&&inquiry!='N');
    cout<<"你的答题正确率为:"<<numOfRight*100/numOfQues<<"%。再见!"<<endl;
    return 0;
}
搜索更多相关主题的帖子: 测试 include 加减法 
2011-08-14 13:59
gzliujie5
Rank: 1
来 自:贵州
等 级:新手上路
帖 子:22
专家分:5
注 册:2011-8-13
收藏
得分:0 
回复 2楼 pangding
                if (b==0 && a/b==0)
                {
                    break;
                }

这里不是说,如果 (b==0 与 a/b==0) 的话
                    打断循环;

不是这个意思么?我是这样理解的
2011-08-15 10:46
gzliujie5
Rank: 1
来 自:贵州
等 级:新手上路
帖 子:22
专家分:5
注 册:2011-8-13
收藏
得分:0 
回复 4楼 naruto01
无论是b==0   还是 a/b==0
运行的结果都是break;
都是打断啊;
2011-08-15 11:14
快速回复:如果编码错误,我想让他自动跳过重新随机刷一次数字,怎么让它回去?
数据加载中...
 
   



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

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