zoukankan      html  css  js  c++  java
  • 计算与软件工程作业二

    要求

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

    ————————————————————————————————————————————————————————————————————————————————

    个人遇到的问题与总结

    1 程序编写上的困难,由于对于语言不是很熟悉,在编写程序上遇到了不小的难度,网上查找了不少的资料和他人的程序。
    2 安装git上的困难 一开始是按照发的教程去官网下载,可始终下载不成功,询问老师老师也给的官网地址,最好经由百度了解,git官网下载是较为困难的,最后是通过网上查找,寻找到了镜像地址,才能成功下载。[git下载windows](https://cdn.npm.taobao.org/dist/git-for-windows/v2.23.0-rc2.windows.1/Git-2.23.0.rc2.windows.1-64-bit.exe)
    3 在连接本地库和远程库是,git add 命令总是显示不成功,最后经过查找得知,可以直接在文件夹里创建然后在使用git add

    ——————————————————————————————————————————————————————————————————————————————————

    程序运行截图

    代码部分

     #include<iostream> 
     #include<stdarg.h>
     #include<stdlib.h>
     #include<time.h>
     #include<math.h>
     #include<fstream>
     using namespace std;
     int main()
       {
     ofstream Savefile;
     Savefile.open("cpp-home.txt");
     cout<<endl;
     cout<<"小学四则运算库"<<endl;
     cout<<endl;
     cout<<endl;
     Again:
      double Q1=1;
     int Q01;
     int Q2=1;
     int Q3=100;
     char Q4='y';
     int Q5=1;
     char Q6='n';
     char Q7='n';
     double ans=0;
     int right=0;
     cout<<" 输入题目数量:";
     cin>>Q1;
     Q01=floor(Q1);
     // cout<<"输入每行打印题目数(1-5):";
     // cin>>Q2;
      cout<<" 每行间距(正整数):";
     cin>>Q5;
     cout<<" 请输入算式中数值的最大值:";
     cin>>Q3;
     while(1)
     {
     cout<<" 是否为三年级以上学生?是:y;不是:n";
     cin>>Q4;
     cout<<" 难易程度 难:1;中:2;易:3 ";
     cin>>Q7;
     cout<<"-------------------------------------------------------------------------"<<endl;
     cout<<"开始进行答题:"<<endl;
     srand(time(NULL));
     if(Q4=='y')
     {
     while(1)
     {
     if(Q1<1)
     {
     cout<<"输入有误,请重新输入题目数量:";
     cin>>Q1;
     Q01=floor(Q1);
     }
     else
     {
     for(int j=0;j<Q01;j++)
     {
     if(j!=0&&j%Q2==0)
     {
     for(int i=0;i<Q5;i++)
     {
     cout<<endl;
     } 
     }
     int num1=rand()%Q3;
     int num2=rand()%Q3;
     int sign=rand()%4;
     switch(sign)
     {
     case 0:
     cout<<j+1<<":"<<" "<<num1<<"+"<<num2<<"="<<"	";
     cin>>ans;
     if(ans==num1+num2)
     {
     cout<<"正确"<<endl;
     right++;
     }
     else
     {
     cout<<"答错了!"<<endl;
     Savefile<<j+1<<":"<<" "<<num1<<"+"<<num2<<"="<<ans<<"	";
     Savefile<<"答错了"<<endl; 
     cout<<"正确答案是:"<<num1+num2<<endl;
     Savefile<<"正确答案是:"<<num1+num2<<endl;
     }
     break;
     case 1:
     if(Q7=='y')
     {
     cout<<j+1<<":"<<" "<<num1<<"-"<<num2<<"="<<"	";
     cin>>ans;
     if(ans==num1-num2)
     {
     cout<<"正确"<<endl;
     right++;
     }
     else
     {
    
     cout<<"答错了!"<<endl;
     cout<<"正确答案是:"<<num1-num2<<endl;
     Savefile<<j+1<<":"<<" "<<num1<<"-"<<num2<<"="<<ans<<"	";
     Savefile<<"答错了"<<endl;
     Savefile<<"正确答案是:"<<num1-num2<<endl;
     }
     }
     else
     {
     if(num1>num2)
     {
     cout<<j+1<<":"<<" "<<num1<<"-"<<num2<<"="<<"	";
     cin>>ans;
     if(ans==num1-num2)
     {
     cout<<"正确"<<endl;
     right++;
     }
     else
     {
     cout<<"答错了!"<<endl;
     cout<<"正确答案是:"<<num1-num2<<endl;
     Savefile<<j+1<<":"<<" "<<num1<<"-"<<num2<<"="<<"	";
     Savefile<<"答错了"<<endl;
     Savefile<<"正确答案是:"<<num1-num2<<endl;
     }
     }
     else
     {
     cout<<j+1<<":"<<" "<<num2<<"-"<<num1<<"="<<"	";
     cin>>ans;
     if(ans==num2-num1)
     {
     cout<<"正确"<<endl;
     right++;
     }
     else
     {
     cout<<"答错了!"<<endl;
     cout<<"正确答案是:"<<num2-num1<<endl;
     Savefile<<j+1<<":"<<" "<<num2<<"-"<<num1<<"="<<ans<<"	";
     Savefile<<"答错了"<<endl;
     Savefile<<"正确答案是:"<<num2-num1<<endl;
     }
     }
     }
     break;
     case 2:
     cout<<j+1<<":"<<" "<<num1<<"*"<<num2<<"="<<"	";
     cin>>ans;
     if(ans==num1*num2)
     {
     cout<<"正确"<<endl;
     right++;
     }
     else
     {
     cout<<"答错了!"<<endl;
     cout<<"正确答案是:"<<num1*num2<<endl;
     Savefile<<j+1<<":"<<" "<<num1<<"*"<<num2<<"="<<ans<<"	";
     Savefile<<"答错了"<<endl;
     Savefile<<"正确答案是:"<<num1*num2<<endl;
     }
     break;
     case 3:
     if(num2!=0)
     {
     cout<<j+1<<":"<<" "<<num1<<"/"<<num2<<"="<<"	";
     cin>>ans;
     if(ans==num1/num2)
     {
     cout<<"正确"<<endl;
     right++;
     }
     else
     {
     cout<<"答错了!"<<endl;
     cout<<"正确答案是:"<<num1/num2<<endl;
     Savefile<<j+1<<":"<<" "<<num1<<"/"<<num2<<"="<<ans<<"	";
     Savefile<<"答错了"<<endl;
     Savefile<<"正确答案是:"<<num1/num2<<endl;
     }
     }
     else
     {
     j--;
     }
     break;
     }
     }
     break;
     }
     }
     cout<<"共答对"<<right<<"道题;"<<"答错"<<Q01-right<<"道题。";
     break;
     }
     if(Q4=='n')
     {
     while(1)
     {
     if(Q01<1)
     {
     cout<<"输入有误,请重新输入题目数量:";
     cin>>Q1;
     Q01=floor(Q1);
     }
     else
     {
     for(int j=0;j<Q01;j++)
     {
     if(j!=0&&j%Q2==0)
     {
     for(int i=0;i<=Q5;i++)
     {
     cout<<endl;
     }
     }
     int num1=rand()%Q3;
     int num2=rand()%Q3;
     int sign=rand()%2;
     switch(sign)
     {
     case 0:
     cout<<j+1<<":"<<" "<<num1<<"+"<<num2<<"="<<"	";
     cin>>ans;
     if(ans==num1+num2)
     {
     cout<<"正确"<<endl;
     right++;
     }
     else
     {
     cout<<"答错了!"<<endl;
     cout<<"正确答案是:"<<num1+num2<<endl;
     Savefile<<j+1<<":"<<" "<<num1<<"+"<<num2<<"="<<ans<<"	";
     Savefile<<"答错了"<<endl;
     Savefile<<"正确答案是:"<<num1+num2<<endl;
     }
     break;
     case 1:
     if(Q7=='y')
     {
     cout<<j+1<<":"<<" "<<num1<<"-"<<num2<<"="<<"	";
     cin>>ans;
     if(ans==num1-num2)
     {
     cout<<"正确"<<endl;
     right++;
     }
     else
     {
     cout<<"答错了!"<<endl;
     cout<<"正确答案是:"<<num1-num2<<endl;
     Savefile<<j+1<<":"<<" "<<num1<<"-"<<num2<<"="<<ans<<"	";
     Savefile<<"答错了"<<endl;
     Savefile<<"正确答案是:"<<num1-num2<<endl;
     }
     break;
     }
     else
     {
     if(num1>num2)
     {
     cout<<j+1<<":"<<" "<<num1<<"-"<<num2<<"="<<"	";
     cin>>ans;
     if(ans==num1-num2)
     {
     cout<<"正确"<<endl;
     right++;
     }
     else
     {
     cout<<"答错了!"<<endl;
     cout<<"正确答案是:"<<num1-num2<<endl;
     Savefile<<j+1<<":"<<" "<<num1<<"-"<<num2<<"="<<ans<<"	";
     Savefile<<"答错了"<<endl;
     Savefile<<"正确答案是:"<<num1-num2<<endl;
     }
     break;
     }
     else
     {
     cout<<j+1<<":"<<" "<<num2<<"-"<<num1<<"="<<"	";
     cin>>ans;
     if(ans==num2-num1)
     {
     cout<<"正确";
     }
     else
     {
     cout<<"答错了!"<<endl;
     cout<<"正确答案是:"<<num2-num1<<endl;
     Savefile<<j+1<<":"<<" "<<num2<<"-"<<num1<<"="<<ans<<"	";
     Savefile<<"答错了"<<endl;
     Savefile<<"正确答案是:"<<num2-num1<<endl;
     }
     break;
     }
     }
     break;
     }
     }
     }
     break;
     }
     cout<<"共答对"<<right<<"道题;"<<"答错"<<Q01-right<<"道题。"<<endl;
     break;
     }
     else
     {
     cout<<"输入有误,请按要求输入!"<<endl;
     }
     }
     cout<<endl;
     while(1)
     {
     cout<<"是否继续?(y:继续;n:退出)";
     cin>>Q6;
     if(Q6=='y')
     {
       goto Again;
      }
        if(Q6=='n')
         {
        goto Exit;
         }
          else
         {
          cout<<"输入有误,请重新输入:";
          }
          }
          Savefile.close();
         Exit:
          //	SaveFile.close();
         return 0;
          }
    

    码云链接

    https://gitee.com/yuan_jia_hao/learngit.git)

  • 相关阅读:
    测试思想-测试方法 常用测试操作手段
    测试思想-测试执行 缺陷提交,优先级
    loadrunner 技巧-模拟Run Logic中的随机Action运行
    loadrunner 脚本开发-执行操作系统命令
    测试思想-测试执行 测试过程中的用例维护
    测试思想-测试执行 如何进行回归测试?
    python 全栈开发,Day62(外键的变种(三种关系),数据的增删改,单表查询,多表查询)
    python 全栈开发,Day61(库的操作,表的操作,数据类型,数据类型(2),完整性约束)
    python 全栈开发,Day60(MySQL的前戏,数据库概述,MySQL安装和基本管理,初识MySQL语句)
    python 全栈开发,Day59(小米商城)
  • 原文地址:https://www.cnblogs.com/yjh1128/p/12363002.html
Copyright © 2011-2022 走看看