20194672自动生成四则运算题第一版报告

一、需求分析

  本程序设计的初衷是减轻父母的负担,使孩子能够熟练掌握四则运算。本程序可以生成100以内的加、减、乘、除四则运算,采用随机出题的机制,确保十道题中的每一题都不重复。

二、功能设计

1、100以内的加、减、乘、除计算题,要求运算结果也在100以内;

2、可以对出题的数量进行快速的选择;

3、生成的运算题存储到外部文件result.txt中;
4、程序一次运行生成的题目不能重复,即任何两道题目不能通过有限次交换+和×左右的算术表达式变换为同一道题目。例如,23 + 45 = 和26 + 19= 是重复的题目,7 × 9= 和9 × 7 = 也是重复的题目。

三、设计实现

1、利用for循环剔除重复算式;
2、利用printf和scanf控制题目数量和相关参数;
3、利用random产生随机不重复函数

四、测试运行

五、代码片段


public boolean FS() {// 是否存在负数
int flag;
flag = S.nextInt();
if (1 == flag)
return true;
else
return false;
}
public boolean BaoCun() {// 是否保存
int flag;
flag = S.nextInt();
if (1 == flag)
return true;
else
return false;
}
public int Number() { // 出题个数
int n;
n = S.nextInt();
return n;
}

public int oppNumber() {// 是否存在乘除
int oppn;
oppn = S.nextInt();
if (1 == oppn)
return 4;
else
return 2;
}
public int selectNumber() {// 操作数的范围
int sel;
sel = S.nextInt();
if (1 == sel)
return 101;
else
return 1001;
}

public void MENU() {
int inputNumber, oppNumber, selectNumber;
boolean isNegative, ifSave;
System.out.println("《学生计算题出题系统欢迎您的到来》");
System.out.println("**输入要打印的题目数:");
inputNumber = this.inputNumber();
System.out.println("**题中是否出现乘除计算,输入1出现,输入其他数字不出现");
oppNumber = this.oppNumber();
System.out.println("**选择打印操作数数值范围,输入1打印100以内,输入其他数字打印1000以内");
selectNumber = this.selectNumber();
System.out.println("**操作数是否含负数,输入1出现负号,输入其他数字不出现");
isNegative = this.isNegative();
System.out.println("**是否将结果存到计算机中,输入1存,输入其他数字不存");
ifSave = this.isSave();
this.opptt(inputNumber, oppNumber, selectNumber, isNegative, ifSave);
}
}

六、最后总结

从本次作业中我发现自己编程基础还有待提高,代码只能实现一些基本功能,缺乏拓展功能,希望在课下继续夯实基础。虽然在实现功能的过程中遇到一些困难,但同时也丰富了编程经验。

七、PSP撰写

PSP 预估时间 实际时间
计划 1 1.5
需求分析 0.5 0.5
生成设计文档 0.5 1
代码规范 0.5 0.5
具体设计 1 1
具体编码 2 4
代码复审 1 2
测试 1 2
总结 1 1
总共花费时间 8.5 13.5
posted @ 2019-09-17 20:50  黄晓天20194672  阅读(136)  评论(1编辑  收藏  举报