• 计算与软件工程 作业二


    作业要求https://edu.cnblogs.com/campus/jssf/infor_computation17-31/homework/10402

    作业一

    一、预习

    1、psp:软件工程包括了开发,运营, 维护软件的过程中有很多技术, 做法, 习惯, 和思想。软件工程把这些相关的技术和过程统一到一个体系中, 叫“软件开发流程”,软件开发流程的目的是为了提高软件开发, 运营, 维护的效率,以及用户满意度, 可靠性,和软件的可维护性。
    2、程序效能分析:首先是编写代码完成程序,保证正确性之后再进行效能分析,如何更好的,更高效的完成这一系列的操作,对代码进行不断的优化。

    二、个人程序

    要求
    分别能够实现小学一、二、三、四、五年级的四则运算要求, 逐步实现各个年级的难度
    要求能够通过输入来选择不同年级,每个年级还得区分难,中,易三个等级
    对于三、四、五年级需要支持括号与多个运算符
    程序支持判断对错及累计得分与时间
    一次可以出100道题目,而且不能重复(比如2+3 与 3+2 算重复的)
    充分发挥想象增加满足小学生数学检测需要的功能

    #include "iostream"
    #include "stdlib.h"
    #include "math.h"
    #include "time.h"
    using namespace std;
    int main()
    {
    	int m,x=0;
    	int z=5; //z为题目数目,看情况修改即可
    cout<<"请输入年级,一年级为“1”,二年级为“2”,以此类推"<<endl;
    //一年级:加减运算  二年级:乘除运算   三年级:加减乘除四则运算  四年级:加入负数   五年级:加入括号
    cin>>m;
    cout<<"输入难度简单难度为“7”,中为“8”,难为“9”"<<endl;
    //简单难度为10以内得,中等为50以内,难为100以内
    cin>>x;
    	switch(m){
    	case(1):
    		{
    			switch(x){
    			case(9):
    				{
        int flag,a,b,score=0;
    	int n=0;
        int x[100],y[100];
        srand((unsigned)time(NULL));
        while(n<z)
        {
            a=rand()%100;
            b=rand()%100;
            if(a>b)
            {
                flag=rand()%2;
                if(flag==1)
                {
                    cout<<n<<" "<<a<<"+"<<b<<"="<<endl;
                    x[n]=a+b;
                }
                else
                {
                    cout<<n<<" "<<a<<"-"<<b<<"="<<endl;
                    x[n]=a-b;
                }
            }
    		else
    		{ 
    			cout<<n<<" "<<a<<"+"<<b<<"="<<endl;
                x[n]=a+b;
    		}
       cout<<"输入结果!"<<endl;
            cin>>y[n];
            if(y[n]==x[n])
            {
              cout<<"正确"<<endl;
    		  score++;
            }
                    
            else
            {
    			cout<<"错误,正确结果为"<<x[n]<<endl;
                
            }
    		n++;
    	}
    		cout<<z<<"道题结束,你的得分为"<<score<<endl;  break;  break;
    				}
    	case(7):
    		{    
    			int flag,a,b,score=0;
    			int n=0;
        int x[100],y[100];
        srand((unsigned)time(NULL));
        while(n<z)
        {
            a=rand()%10;
            b=rand()%10;
            if(a>b)
            {
                flag=rand()%2;
                if(flag==1)
                {
                    cout<<n<<" "<<a<<"+"<<b<<"="<<endl;
                    x[n]=a+b;
                }
                else
                {
                    cout<<n<<" "<<a<<"-"<<b<<"="<<endl;
                    x[n]=a-b;
                }
            }
    		else
    		{ 
    			cout<<n<<" "<<a<<"+"<<b<<"="<<endl;
                x[n]=a+b;
    		}
       cout<<"输入结果!"<<endl;
            cin>>y[n];
            if(y[n]==x[n])
            {
              cout<<"正确"<<endl;
    		  score++;
            }
                    
            else
            {
    			cout<<"错误,正确结果为"<<x[n]<<endl;
                
            }
    		n++;
    	}
    		cout<<z<<"道题结束,你的得分为"<<score<<endl;  break;
    				}
    	case(8):
    		{    
    			int flag,a,b,score=0;
    			int n=0;
        int x[100],y[100];
        srand((unsigned)time(NULL));
        while(n<z)
        {
            a=rand()%50;
            b=rand()%50;
            if(a>b)
            {
                flag=rand()%2;
                if(flag==1)
                {
                    cout<<n<<" "<<a<<"+"<<b<<"="<<endl;
                    x[n]=a+b;
                }
                else
                {
                    cout<<n<<" "<<a<<"-"<<b<<"="<<endl;
                    x[n]=a-b;
                }
            }
    		else
    		{ 
    			cout<<n<<" "<<a<<"+"<<b<<"="<<endl;
                x[n]=a+b;
    		}
       cout<<"输入结果!"<<endl;
            cin>>y[n];
            if(y[n]==x[n])
            {
              cout<<"正确"<<endl;
    		  score++;
            }
                    
            else
            {
    			cout<<"错误,正确结果为"<<x[n]<<endl;
                
            }
    		n++;
    	}
    		cout<<z<<"道题结束,你的得分为"<<score<<endl;  break;
    				}
    		}
    		break;
    }	
    case(2):{
    	switch(x){
    	case(7):
    	{
    					int flag,a,b,score=0;
    			int n=0;
        int x[100],y[100];
        srand((unsigned)time(NULL));
        while(n<z)
        {
            a=rand()%10;
            b=rand()%10+1;
            if(a>b&&a%b==0)
            { 
    			cout<<n<<" "<<a<<"/"<<b<<"="<<endl;
    			x[n]=a/b;
    		}
    		else
    		{ 
    			cout<<n<<" "<<a<<"*"<<b<<"="<<endl;
                x[n]=a*b;
    		}
       cout<<"输入结果!"<<endl;
            cin>>y[n];
            if(y[n]==x[n])
            {
              cout<<"正确"<<endl;
    		  score++;
            }
                    
            else
            {
    			cout<<"错误,正确结果为"<<x[n]<<endl;
                
            }
    		n++;
    	}
    		cout<<z<<"道题结束,你的得分为"<<score<<endl;  break;
    	}
    	case(8):
    		{
    								int flag,a,b,score=0;
    			int n=0;
        int x[100],y[100];
        srand((unsigned)time(NULL));
        while(n<z)
        {
            a=rand()%50;
            b=rand()%50+1;
            if(a>b&&a%b==0)
            { 
    			cout<<n<<" "<<a<<"/"<<b<<"="<<endl;
    			x[n]=a/b;
    		}
    		else
    		{ 
    			cout<<n<<" "<<a<<"*"<<b<<"="<<endl;
                x[n]=a*b;
    		}
       cout<<"输入结果!"<<endl;
            cin>>y[n];
            if(y[n]==x[n])
            {
              cout<<"正确"<<endl;
    		  score++;
            }
                    
            else
            {
    			cout<<"错误,正确结果为"<<x[n]<<endl;
                
            }
    		n++;
    	}
    		cout<<z<<"道题结束,你的得分为"<<score<<endl;  break;
    	}
    	case(9):
    		{
    					int flag,a,b,score=0;
    			int n=0;
        int x[100],y[100];
        srand((unsigned)time(NULL));
        while(n<z)
        {
            a=rand()%100;
            b=rand()%100+1;
            if(a>b&&a%b==0)
            { 
    			cout<<n<<" "<<a<<"/"<<b<<"="<<endl;
    			x[n]=a/b;
    		}
    		else
    		{ 
    			cout<<n<<" "<<a<<"*"<<b<<"="<<endl;
                x[n]=a*b;
    		}
       cout<<"输入结果!"<<endl;
            cin>>y[n];
            if(y[n]==x[n])
            {
              cout<<"正确"<<endl;
    		  score++;
            }
                    
            else
            {
    			cout<<"错误,正确结果为"<<x[n]<<endl;
                
            }
    		n++;
    	}
    		cout<<z<<"道题结束,你的得分为"<<score<<endl;  break;
    	}
    	}
    			break;	}
    		case(3):{
    			switch(x){
    			case(7):
    				{int flag,a,b,c,score=0;
    			int n=0;
        int x[100],y[100];
        srand((unsigned)time(NULL));
        while(n<z)
        {
            a=rand()%10;
            b=rand()%10+1;
    		c=rand()%10;
            if(a>b&&a%b==0)
            { 
    			cout<<n<<" "<<a<<"/"<<b<<"+"<<c<<"="<<endl;
    			x[n]=a/b+c;
    		}
    		else
    		{ 
    			cout<<n<<" "<<a<<"*"<<b<<"+"<<c<<"="<<endl;
                x[n]=a*b+c;
    		}
    	 cout<<"输入结果!"<<endl;
            cin>>y[n];
    		 if(y[n]==x[n])
            {
              cout<<"正确"<<endl;
    		  score++;
            }                
            else
            {
    			cout<<"错误,正确结果为"<<x[n]<<endl;        
            }
    		n++;
    	}
    		cout<<z<<"道题结束,你的得分为"<<score<<endl;  break;
    					}
    			case(8):
    			{int flag,a,b,c,score=0;
    			int n=0;
        int x[100],y[100];
        srand((unsigned)time(NULL));
        while(n<z)
        {
            a=rand()%50;
            b=rand()%50+1;
    		c=rand()%50;
            if(a>b&&a%b==0)
            { 
    			cout<<n<<" "<<a<<"/"<<b<<"+"<<c<<"="<<endl;
    			x[n]=a/b+c;
    		}
    		else
    		{ 
    			cout<<n<<" "<<a<<"*"<<b<<"+"<<c<<"="<<endl;
                x[n]=a*b+c;
    		}
    	 cout<<"输入结果!"<<endl;
            cin>>y[n];
    		 if(y[n]==x[n])
            {
              cout<<"正确"<<endl;
    		  score++;
            }                
            else
            {
    			cout<<"错误,正确结果为"<<x[n]<<endl;        
            }
    		n++;
    	}
    			cout<<z<<"道题结束,你的得分为"<<score<<endl;  break;
    			}
    			case(9):
    			{int flag,a,b,c,score=0;
    			int n=0;
        int x[100],y[100];
        srand((unsigned)time(NULL));
        while(n<z)
        {
            a=rand()%100;
            b=rand()%100+1;
    		c=rand()%100;
            if(a>b&&a%b==0)
            { 
    			cout<<n<<" "<<a<<"/"<<b<<"+"<<c<<"="<<endl;
    			x[n]=a/b+c;
    		}
    		else
    		{ 
    			cout<<n<<" "<<a<<"*"<<b<<"+"<<c<<"="<<endl;
                x[n]=a*b+c;
    		}
       cout<<"输入结果!"<<endl;
            cin>>y[n];
            if(y[n]==x[n])
            {
              cout<<"正确"<<endl;
    		  score++;
            }
                    
            else
            {
    			cout<<"错误,正确结果为"<<x[n]<<endl;
                
            }
    		n++;
    	}
    		cout<<z<<"道题结束,你的得分为"<<score<<endl;  break;
    			}
    			}
    		break;}
    		case(4):{
    			switch(x){
    			case(7):{int flag,a,b,c,d,e,f,score=0;
    			int n=0;
        int x[100],y[100];
        srand((unsigned)time(NULL));
        while(n<z)
        {
            a=rand()%10;
            b=rand()%10+1;
    		c=rand()%10;
    		e=rand()%10;
    		d=a-c;
    		f=c-e;
            if(f>b&&f%b==0)
            { 
    			cout<<n<<" "<<f<<"/"<<b<<"+"<<"("<<d<<")"<<"="<<endl;
    			x[n]=f/b+d;
    		}
    		else
    		{ 
    			cout<<n<<" "<<f<<"*"<<b<<"+"<<"("<<d<<")"<<"="<<endl;
                x[n]=f*b+d;
    		}
       cout<<"输入结果!"<<endl;
            cin>>y[n];
            if(y[n]==x[n])
            {
              cout<<"正确"<<endl;
    		  score++;
            }
                    
            else
            {
    			cout<<"错误,正确结果为"<<x[n]<<endl;
                
            }
    		n++;
    	}
    		cout<<z<<"道题结束,你的得分为"<<score<<endl;  break;
    					}
    			case(8):{int flag,a,b,c,d,e,f,score=0;
    			int n=0;
        int x[100],y[100];
        srand((unsigned)time(NULL));
        while(n<z)
        {
            a=rand()%50;
            b=rand()%50+1;
    		c=rand()%50;
    		e=rand()%50;
    		d=a-c;
    		f=c-e;
            if(f>b&&f%b==0)
            { 
    			cout<<n<<" "<<f<<"/"<<b<<"+"<<"("<<d<<")"<<"="<<endl;
    			x[n]=f/b+d;
    		}
    		else
    		{ 
    			cout<<n<<" "<<f<<"*"<<b<<"+"<<"("<<d<<")"<<"="<<endl;
                x[n]=f*b+d;
    		}
       cout<<"输入结果!"<<endl;
            cin>>y[n];
            if(y[n]==x[n])
            {
              cout<<"正确"<<endl;
    		  score++;
            }
                    
            else
            {
    			cout<<"错误,正确结果为"<<x[n]<<endl;
                
            }
    		n++;
    	}
    		cout<<z<<"道题结束,你的得分为"<<score<<endl;  break;
    					}
    			case(9):{
    				int flag,a,b,c,d,e,f,score=0;
    			int n=0;
        int x[100],y[100];
        srand((unsigned)time(NULL));
        while(n<z)
        {
            a=rand()%100;
            b=rand()%100+1;
    		c=rand()%100;
    		e=rand()%100;
    		d=a-c;
    		f=c-e;
            if(f>b&&f%b==0)
            { 
    			cout<<n<<" "<<f<<"/"<<b<<"+"<<"("<<d<<")"<<"="<<endl;
    			x[n]=f/b+d;
    		}
    		else
    		{ 
    			cout<<n<<" "<<f<<"*"<<b<<"+"<<"("<<d<<")"<<"="<<endl;
                x[n]=f*b+d;
    		}
       cout<<"输入结果!"<<endl;
            cin>>y[n];
            if(y[n]==x[n])
            {
              cout<<"正确"<<endl;
    		  score++;
            }
                    
            else
            {
    			cout<<"错误,正确结果为"<<x[n]<<endl;
                
            }
    		n++;
    	}
    		cout<<z<<"道题结束,你的得分为"<<score<<endl;  break;
    					}
    			}
    					break;	}
    				case(5):{
    switch(x){
    			case(7):{int flag,a,b,c,d,e,f,score=0;
    			int n=0;
        int x[100],y[100];
        srand((unsigned)time(NULL));
        while(n<z)
        {
            a=rand()%10;
            b=rand()%10+1;
    		c=rand()%10;
    		e=rand()%10;
    		d=a-c;
    		f=c-e;
            if(f>b&&f%b==0)
            { 
    			cout<<n<<" "<<f<<"/"<<b<<"+"<<"("<<d<<")"<<"="<<endl;
    			x[n]=f/b+d;
    		}
    		else
    		{ 
    			cout<<n<<" "<<f<<"*"<<b<<"+"<<"("<<d<<")"<<"="<<endl;
                x[n]=f*b+d;
    		}
       cout<<"输入结果!"<<endl;
            cin>>y[n];
            if(y[n]==x[n])
            {
              cout<<"正确"<<endl;
    		  score++;
            }
                    
            else
            {
    			cout<<"错误,正确结果为"<<x[n]<<endl;
                
            }
    		n++;
    	}
    		cout<<z<<"道题结束,你的得分为"<<score<<endl;  break;
    					}
    			case(8):{int flag,a,b,c,d,e,f,score=0;
    			int n=0;
        int x[100],y[100];
        srand((unsigned)time(NULL));
        while(n<z)
        {
            a=rand()%50;
            b=rand()%50+1;
    		c=rand()%50;
    		e=rand()%50;
    		d=a-c;
    		f=c-e;
            if(f>b&&f%b==0)
            { 
    			cout<<n<<" "<<f<<"/"<<b<<"+"<<"("<<d<<")"<<"="<<endl;
    			x[n]=f/b+d;
    		}
    		else
    		{ 
    			cout<<n<<" "<<f<<"*"<<b<<"+"<<"("<<d<<")"<<"="<<endl;
                x[n]=f*b+d;
    		}
       cout<<"输入结果!"<<endl;
            cin>>y[n];
            if(y[n]==x[n])
            {
              cout<<"正确"<<endl;
    		  score++;
            }
                    
            else
            {
    			cout<<"错误,正确结果为"<<x[n]<<endl;
                
            }
    		n++;
    	}
    		cout<<z<<"道题结束,你的得分为"<<score<<endl;  break;
    					}
    			case(9):{
    				int flag,a,b,c,d,e,f,score=0;
    			int n=0;
        int x[100],y[100];
        srand((unsigned)time(NULL));
        while(n<z)
        {
            a=rand()%100;
            b=rand()%100+1;
    		c=rand()%100;
    		e=rand()%100;
    		d=a-c;
    		f=c-e;
            if(f>b&&f%b==0)
            { 
    			cout<<n<<" "<<f<<"/"<<b<<"+"<<"("<<d<<")"<<"="<<endl;
    			x[n]=f/b+d;
    		}
    		else
    		{ 
    			cout<<n<<" "<<f<<"*"<<b<<"+"<<"("<<d<<")"<<"="<<endl;
                x[n]=f*b+d;
    		}
       cout<<"输入结果!"<<endl;
            cin>>y[n];
            if(y[n]==x[n])
            {
              cout<<"正确"<<endl;
    		  score++;
            }
                    
            else
            {
    			cout<<"错误,正确结果为"<<x[n]<<endl;
                
            }
    		n++;
    	}
    		cout<<z<<"道题结束,你的得分为"<<score<<endl;  break;
    					}
    						}
    							break;	}
    						}
    cout<<"你的用时为:???"<<endl;
    system ("pause");
        return 0;
    }
    

    程序图片

    问题:1、中间运用switch代码太多容易看茬
    2、累计时间通过百度但没找到一个比较好的办法来统计时间,没有实现
    3、括号的运用不灵活

    作业二

    网页上传感觉更方便一点,git下完了,但是各种配置还要上传到服务器什么的,没搞明白。
    网址:https://gitee.com/jianfeng8322079/software_engineering/blob/master/work2.cpp

  • 相关阅读:
    LeetCode 67 Add Binary(二进制相加)(*)
    从头认识Spring-3.1 简单的AOP日志实现-某方法之前的前后记录日志
    Registration system
    BZOJ 1055 HAOI2008 玩具取名 动态规划
    9.Laravel5学习笔记:在laravel中注冊自己的服务到容器中
    B-Tree 索引和 Hash 索引的对照
    负载均衡之基于DNS负载
    Eclipse中git插件导入远程库和上传项目源代码到远程库
    Android开发艺术-第二章 IPC 机制
    一天教你入门struts2
  • 原文地址:https://www.cnblogs.com/jianfeng8322079/p/12395992.html
Copyright © 2020-2023  润新知