标签:
编程思路:
设置一个一维数组,数组里面存放随机产生的数,数组的长度有宏定义来完成,数组里面无重复的数
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 |
实验截图,上传博客 |
标签:
原文地址:http://www.cnblogs.com/chenjie00/p/4351013.html