zoukankan      html  css  js  c++  java
  • 四则运算2

    设计思路:

    将乘除法有无余数和加减有无负数封装成两个独立的函数,主函数进行调度。

    截图:

     

    程序代码:

    
    

    #include<iostream>
    #include<ctime>
    using namespace std;
    void sz()
    {
        int f;//数的范围
        cout<<"请输入数的上限:例:(0~99)输入100"<<endl;
        cin>>f;   
        int x,y,z,t;   //x,y分别表示两个数,z控制加减乘除
        int e;//控制每行输出的道数
        srand(time(NULL));//避免重复
        int n;
        int b;//负数的处理
        int a;//行间距
        cout<<"请输入题的道数;"<<endl;
        cin>>n;     
        cout<<"加减有无负数(0有,1无)"<<endl;
        cin>>b;
        cout<<"请输入每行需要打印的题数:"<<endl;
        cin>>e;
        cout<<"请输入行间距:"<<endl;
        cin>>a;
       
        cout<<"********************************"<<endl;
        for(int i=0;i<n;i++)
        {
            x=rand()%f;
            y=rand()%f;
            z=rand()%4;
            switch(z)
            {
            case 0:
                cout<<i+1<<"、 "<<x<<"+"<<y<<"="<<"     ";
                break;
               
            case 1:
                if(b==1)
                {
                if(x<y)
                {
                    t=x;
                    x=y;
                    y=t;
                }
                cout<<i+1<<"、 "<<x<<"-"<<y<<"="<<"     ";
                break;
                }
                else if(b==0)
                {
                cout<<i+1<<"、 "<<x<<"-"<<y<<"="<<"     ";
                }
            case 2:
                cout<<i+1<<"、 "<<x<<"*"<<y<<"="<<"     ";
                break;
            case 3:
                if(y!=0)
                {
                cout<<i+1<<"、 "<<x<<"/"<<y<<"="<<"     ";
                }
                else
                {
                    i=i-1;
                }
                break;
            default:
                cout<<"超出测试范围"<<endl;
                break;
            }
            if((i+1)%e==0)
            {
                for(int c=0;c<=a;c++)
                {
                    cout<<endl;
                }
            }
            if((i+1)==n)
            {
                cout<<endl;
            }
        }
    }

    
    

    void sz1()
    {
          int f;//数的范围
        cout<<"请输入数的上限:例:(0~99)输入100"<<endl;
        cin>>f;   
        int x,y,z,t;   //x,y分别表示两个数,z控制加减乘除
        int e;//控制每行输出的道数
        srand(time(NULL));//避免重复
        int n;
        int b;//负数的处理
        int a;//行间距
        cout<<"请输入题的道数;"<<endl;
        cin>>n;     
        cout<<"加减有无负数(0有,1无)"<<endl;
        cin>>b;
        cout<<"请输入每行需要打印的题数:"<<endl;
        cin>>e;
        cout<<"请输入行间距:"<<endl;
        cin>>a;
        cout<<"********************************"<<endl;
        for(int i=0;i<n;i++)
        {
            x=rand()%f;
            y=rand()%f;
            z=rand()%2;
            switch(z)
            {
            case 0:
                cout<<i+1<<"、 "<<x<<"+"<<y<<"="<<"     ";
                break;
            case 1:
                if(b==1)
                {
                if(x<y)
                {
                    t=x;
                    x=y;
                    y=t;
                }
                cout<<i+1<<"、 "<<x<<"-"<<y<<"="<<"     ";
                }
                else if(b==0)
                {
                    cout<<i+1<<"、 "<<x<<"-"<<y<<"="<<"     ";
                }
                break;
            default:
                cout<<"超出测试范围"<<endl;
                break;
            }
            if((i+1)%e==0)
            {
                for(int c=0;c<=a;c++)
                {           
                    cout<<endl;
                }
            }
            if((i+1)==n)
            {
                cout<<endl;
            }
        }
    }

    
    


    int main()
    {

    
    

        char ch;
        cout<<"是否支持乘除:(Y/N)"<<endl;
        cin>>ch;
        if(ch=='Y'||ch=='y')
        {
            sz();   
            cout<<"********************************"<<endl;
        }
       
        else if(ch=='N'||ch=='n')
        {
            sz1();
            cout<<"********************************"<<endl;
        }
        else
        {
            cout<<"输入错误,无法为您出题!"<<endl;
        }
       
        return 0;
    }

     

     代码行数:

    171行

    个人体会:

    本次实验对于我是极大的挑战,除了乘除余数的问题、加减法有无负数、控制台输出控制(行,道数),避免重复,其他要求基本没实现,总的来说,是基础太差,编程量较少。对书本的知识掌握潦潦草草。

  • 相关阅读:
    springboot学习(一):创建项目
    CS 224D lecture 5 笔记 分类: CS224D notes 2015-07-18 00:04 3人阅读 评论(0) 收藏
    CS224D Lecture 4 札记
    Ubuntu Compress a big file into plenty of small parts(压缩文件为几个小部分,) 分类: Ubuntu Trick 2015-07-13 21:29 1人阅读 评论(0) 收藏
    CS 224D Lecture 3札记 分类: CS224D notes 2015-07-12 12:03 5人阅读 评论(0) 收藏
    Ubuntu设置环境变量 分类: Ubuntu Trick 2015-07-12 01:03 6人阅读 评论(0) 收藏
    CS224D Lecture2 札记 分类: CS224D notes 2015-07-09 16:40 9人阅读 评论(0) 收藏
    CS224D Lecture 1 札记 分类: CS224D notes 2015-07-07 21:48 20人阅读 评论(0) 收藏
    Ubuntu Python Setup 分类: Ubuntu Trick 2015-07-03 23:26 5人阅读 评论(0) 收藏
    Ubuntu Matlab 2014b Setup 分类: Ubuntu Trick 2015-07-03 23:25 12人阅读 评论(0) 收藏
  • 原文地址:https://www.cnblogs.com/zjj123456/p/5269553.html
Copyright © 2011-2022 走看看