博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
四则运算2
阅读量:5139 次
发布时间:2019-06-13

本文共 7115 字,大约阅读时间需要 23 分钟。

/*四则运算生成要求:  1、题目避免重复        2、可定制(数量/打印方式)        3、可以控制下列参数           是否有乘除法           是否有括号·           数值范围           加减有无负数           除法有无余数设计思想:题目避免重复用数组,每次输出时与之前输出的比较是否相等。          输出数量由循环决定。          打印方式用if else 语句:可以直接输出,也可以输出到txt文件当中。          是否有乘除法,加减有无负数,除法有无余数都用if else语句。          正负数可以在每个数之前加一个运算符号:负号用“-”,正号用“ ”空格表示。          判断余数用z=x%y语句,判断z是否为0。          括号输出的考虑比较不周全,还不能达到随机随意添加括号。数字最多10个,符号最多9个,      创建符号的数组,如果符号数是奇数,则在没俩个数字之间添加括号;如果符号数是偶数,则第      一个数字不考虑,剩下的奇数个符号考虑与之前相同。*/#include
#include
#include
#include
using namespace std;int main(){ ofstream outfile; int i, a, b, c, d, e, f, g, l, m, o,x, y, z; int number, pcc, pccs, numf, pjj, pys, scfs; //pcc判断乘除,pccs判断随机数,numf数值范围,pf判断有无负数,pys判断有无余数,scfs输出方式 char fh1, fh2; //fh符号正负 int pdkh,pdkhs; //pdkh判断是否有括号,pdkhs括号随机数 int szgs, fhgs; //szgs数字个数,fhgs符号个数 int szsz[20]; //szsz数字数组,fhsz符号数组 char fh[4] = { '+', '-', '*', '/' }, fhsz[10]; cout << "请输入要打印的数量:"; cin >> number; cout << "请输入打印方式: 1、直接输出 2、输入到txt文件 :"; cin >> scfs; cout << "请输入数值范围:0-"; cin >> numf; cout << "是否有括号: 1、有 2、无 :"; cin >> pdkh; cout << "加减有无负数: 1、有 2、无 :"; cin >> pjj; cout << "是否有乘除法: 1、有 2、无 :"; cin >> pcc; if (pcc == 1) { cout << "除法有无余数: 1、有 2、无 :"; cin >> pys; } srand((unsigned)time(NULL));//时间种子,每次出现随机数不同 if (pdkh == 1) //判断是否有括号 { pdkhs = 3; } if (pdkh == 2) { pdkhs = 2; } if (pcc == 1) //判断是否有乘除 { pccs = 4; } if (pcc == 2) { pccs = 2; } for (i = 0; i < number; i++) { a = rand() % numf; b = rand() % numf; e = rand() % numf; f = rand() % numf; if (pjj == 1) { l = rand() % 2; m = rand() % 2; if (l == 0) //加减有负数时,随机生成正负号 { fh1 = '-'; } if (l == 1) { fh1 = ' '; } if (m == 0) { fh2 = '-'; } if (m == 1) { fh2 = ' '; } } else { fh1 = fh2 = ' '; } if (scfs == 1) //判断输出方式为直接输出 { switch (d = rand() % pdkhs) { case 0: //整数 { switch (c = rand() % pccs) { case 0:cout << fh1 << a << "+" << fh2 << b << "=" << endl; break; case 1:cout << fh1 << a << "-" << fh2 << b << "=" << endl; break; case 2:cout << a << "×" << b << "=" << endl; break; case 3: { if (pys == 2) { while (b == 0) { b = rand() % numf; } o = a%b; while (o != 0) { b = rand() % numf; while (b == 0) { a = rand() % numf; b = rand() % numf; } o = a%b; } } else { while (b == 0) { b = rand() % numf; } } cout << a << "÷" << b << "=" << endl; }break; } }break; case 1://真分数 { while (a == 0 || b == 0 || a >= b) { a = rand() % numf; b = rand() % numf; } while (e == 0 || f == 0 || e >= f) { e = rand() % numf; f = rand() % numf; } switch (g = rand() % pccs) { case 0: cout << fh1 << a << "/" << b << "+" << fh2 << e << "/" << f << "=" << endl; break; case 1: cout << fh1 << a << "/" << b << "-" << fh2 << e << "/" << f << "=" << endl; break; case 2: cout << a << "/" << b << "×" << e << "/" << f << "=" << endl; break; case 3: cout << a << "/" << b << "÷" << e << "/" << f << "=" << endl; }break; }break; case 2: { szgs = 3 + rand() % 8; //有括号时,数字和符号数组 fhgs = szgs - 1; for (y = 0; y < szgs; y++) { szsz[y] = rand() % numf; } for (y = 0; y < fhgs; y++) { x = rand() % 4; fhsz[y] = fh[x]; } fhsz[fhgs] = '='; switch (z=fhgs % 2) { case 0: { cout << szsz[0]; cout << fhsz[0]; for (y = 1; y < fhgs; y++) { cout << "("; cout << szsz[y]; cout << fhsz[y]; cout << szsz[y + 1]; cout << ")"; cout << fhsz[y + 1]; y = y + 1; }cout<

 

周活动总结表

姓名:王春帆                                                   日期:2016/03/12

 

听课

编写程序

阅读课本

 

 

 

日总结

周日3.6

 

 

 

 

 

 

 

周一

100

 

30

 

 

 

130

周二

 

 

 

 

 

 

 

周三

 

 

 

 

 

 

 

周四

100

60

 

 

 

 

160

周五

 

 

30

 

 

 

30

周六

 

450

 

 

 

 

450

周总结

200

510

60

 

 

 

770

 

时间记录日志

学生:王春帆                                        日期:3/12/2016

       教师:王建民                                        课程:软件工程        

日期

开始

时间

结束时间

中断时间

净时间

活动

备注

C

U

3/7

14:00

15:50

10

100

上课

理论学时

 

 

 

19:00

19:30

 

30

看书

《构建之法》

 

 

3/10

14:00

15:50

10

100

上课

理论学时

 

 

 

20:00

21:00

 

60

编写程序

四则运算2

 

 

3/11

19:00

19:30

 

30

看课件

上课所讲

 

 

3/12

9:00

12:00

 

180

编写程序

四则运算2

 

 

 

13:00

15:00

 

120

编写程序

四则运算2

 

 

 

15:30

18:00

 

150

编写程序

四则运算2

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

缺陷记录日志

                  学生:王春帆

                  日期:3/12/2016

                  教员:先生王

                  程序号:四则运算2

日期

编号

类型

引入阶段

排除阶段

修复时间

3/12

1

 

生成

错误列表

5min

 

描述

Char类型的赋值方式错误,应该用char a=’-’ 小括号

 

2

 

生成

调试

10min

 

描述

a/b 中b可能为0

 

3

 

生成

错误列表

1min

 

描述

If else 语句的括号错误

 

4

 

执行

修改代码

10min

 

描述

输出到文件中只有一道运算题,输出方式需要修改

 

 

 

 

 

 

转载于:https://www.cnblogs.com/-beauTiFul/p/5266293.html

你可能感兴趣的文章
[LeetCode] Find K Pairs with Smallest Sums 找和最小的K对数字
查看>>
左右轮播无缝效果
查看>>
HTML 链接是通过 <a> 标签进行定义的
查看>>
Cocos2d Box2D之静态刚体
查看>>
UDP和TCP两种协议的传输数据长度分析
查看>>
ppt 例题8 多重背包2
查看>>
倒序--逆序=2
查看>>
Java中的Nested Classes和Inner Classes
查看>>
自动创建文件夹的两种方法
查看>>
graphviz入门
查看>>
[Js-Java SE]异常结构继承图
查看>>
信度不达标的处理方式
查看>>
微信小程序数据处理
查看>>
50个有用的快捷键,提示与蜱虫你应该知道
查看>>
Func<>
查看>>
SpringBoot 整合 devtools 实现热部署
查看>>
Javascript 异步加载详解
查看>>
【js基础修炼之路】— 我理解的原型链
查看>>
Qt学习(4)
查看>>
【入门】小白的名次
查看>>