作业要求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