编程思路:
设置一个一维数组,数组里面存放随机产生的数,数组的长度有宏定义来完成,数组里面无重复的数
1、避免重复:设置一个整型变量B,当一个四则运算等式生成后,整型变量A的值加1;
2、可定制:由用户设置要打印的页数和每一页要打印的题目数量;
3、是否有乘除法:随机生成的数(加减乘除分别为1 2 3 4)是否有3和4;
4、数值范围:宏定义一个值,使得随机生成的数在这个范围之内;
5、加减有无负数:设置一个if...else...语句判断数是否大于0;
6、除法有无余数:看被除数和除数进行取余,看它的值是否为零;
7、是否支持分数:在程序的前面使这个随机产生的数是double类型,如若不支持分数,把他强制转换为整型;
程序源代码:
#include<iostream> #define W 100000 #define N 100//控制数值范围 using namespace std; void main() { double a0,b0,a1=0,b1=0,k;//k控制加减乘除的变化 a0=rand()%N;b0=rand()%N;k=rand()%4; double A[W];//存储随机产生的数存储在数组里面 int Page=1,Iz,Tp;//Page表示一共有多少页,Iz表示一共有多少道题目,Tp表示每页一共有多少道题目 int B;//B表示存进多少题目的数量 cout<<"****************************"<<endl; cout<<" 四则运算 "<<endl; cout<<"****************************"<<endl; cout<<"请选择(有请选1,无请选0):"<<endl; cout<<"1、是否有乘除法;"<<endl; cout<<"2、加减有无负数;"<<endl; cout<<"3、除法有无余数;"<<endl; cout<<"4、是否支持分数;"<<endl; int f1,f2,f3,f4; cin>>f1>>f2>>f3>>f4; cout<<"您好!请输入您一共要打印多少道题目,每页有多少道题目?"<<endl; cin>>Iz>>Tp; for(int i=0;i<Iz;i++) { int t=0; if(t==0) cout<<"第【"<<Page<<"】页:"<<endl; if(t==Tp) t=0;Page++; do { a1=rand()%N; b1=rand()%N; }while(a1==0||b1==0); int a=(int)a0,b=(int)b0; for(int m=0;m<W;m++) for(int n=m+1;n<W-1;n++) if(A[m]==A[n]) A[m]=0; if(f1==0&&(k==3||k==4)) i--; if(f3==0&&(a1!=0)&&(b1!=0)) i--; if(k==1) { if(f2==1) cout<<"(-"<<a<<")+(-"<<b<<")="<<endl; else cout<<a<<"+"<<b<<"="<<endl; if(f4==1&&a1!=0&&b1!=0) cout<<a<<"/"<<a1<<"+"<<b<<"/"<<b1<<"="<<endl; else cout<<a<<"+"<<b<<"="<<endl; A[i]=a;A[i+1]=b; t++; B++; } if(k==2) { if(f2==1) cout<<"(-"<<a<<")-(-"<<b<<")="<<endl; else cout<<a<<"-"<<b<<"="<<endl; if(f4==1&&a1!=0&&b1!=0) cout<<a<<"/"<<a1<<"-"<<b<<"/"<<b1<<"="<<endl; else cout<<a<<"-"<<b<<"="<<endl; A[i]=a;A[i+1]=b; t++; B++; } if(k==3) { if(f4==1) cout<<a<<"/"<<a1<<"*"<<b<<"/"<<b1<<"="<<endl; else cout<<a<<"*"<<b<<"="<<endl; A[i]=a;A[i+1]=b; t++; B++; } if(k==4) { if(f4==1&&a1!=0&&b1!=0) cout<<"("<<a<<"/"<<a1<<")/"<<"("<<b<<"/"<<b1<<")="<<endl; else cout<<a<<"/"<<b<<"="<<endl; A[i]=a;A[i+1]=b; t++; B++; } } }
总结:我修改了我的编程思路,设置一个一维数组,数组里面存放随机产生的数,数组的长度有宏定义来完成,数组里面无重复的数,我的程序错误:每页输出之后,会陷入死循环;程序设置的布局非常重要,条理要清晰,当程序比较多的时候,每行必要的时候添上注释,表明这句的功能;生成程序没有错误,但是有警告的时候,最好修改一下!
学生:陈杰 日期:19/3/2015 教师:王建民 课程:软件工程概论
日期 |
开始时间 |
结束时间 |
中断时间 |
净时间 |
活动 |
备注 |
3/14 |
11:00 |
12:10 |
20 |
50 |
设置程序的布局和思路 |
|
3/15 |
10:00 |
12:00 |
25 |
95 |
避免重复和打印方式 |
|
3/16 |
10:50 |
11:50 |
10 |
50 |
控制一些参数 |
|
3/17 |
19:00 |
21:00 |
50 |
30 |
调试程序,修改错误 |
|
3/18 |
14:00 |
15:00 |
10 |
40 |
反复修改 |
|
3/19 |
16:00 |
18:00 |
50 |
70 |
实验截图,上传博客 |