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

1.需求分析

使用C或Java语言完成一个自动生成四则运算试题的程序。

2.功能设计

基本功能:

(1)自动生成10道100以内的2个操作数的四则运算算式(+ - *  /),要求运算结果也在100以内

(2)剔除重复算式。  2 + 3 =    和  2 + 3 =     是重复算式      2 + 3 =   和   3 + 2 =  不属于重复算式

(3)题目数量可定制

(4)相关参数可控制

          是否包含乘法和除法

          操作数数值范围可控(如操作数 在100以内   还是1000以内)

          操作数是否含负数    

  (5)生成的运算题存储到外部文件result.txt中

扩展功能:算出答案

3.设计实现

设计了一个类完成了所有功能,调用了Random,Scanner类等等来实现自动生成四则运算。

4.测试运行

  可定制题目数量

  可定制是否包含乘除法

  可定制操作数范围

   可选择是否含负数

 

5.代码片段

根据提问定制题目

 1     //提问一
 2            System.out.print("请输入需要的题数:");
 3           Scanner scan = new Scanner(System.in);
 4           String read = scan.nextLine();
 5           int m = Integer.parseInt(read);
 6             //提问二
 7            System.out.print("请输入是否包含乘法和除法(1包含,2不包含):");
 8           String read1 = scan.nextLine(); 9 int m1 = Integer.parseInt(read1); 10 //提问三 11 System.out.print("请输入操作数值范围(1在100以内,2在1000以内):"); 12 String read2 = scan.nextLine(); 13 int m2 = Integer.parseInt(read2); 14 //提问四 15 System.out.print("请输入操作是否含负数(1包含,2不包含):"); 16 String read3 = scan.nextLine();

向外部文件result.txt里存储题目

 1 switch(k)
 2                  {
 3                      case 0:
 4                          no=p+l;
 5                          try {
 6                                  int answers = v+(l); 7 if(answers>1000){ 8 p--; 9 break; 10  } 11 if(m2==1&&answers>100){ 12 p--; 13 break; 14  } 15 if(m3 == 2 && answers<0){ 16 p--; 17 break; 18  } 19  String result; 20 int p1 = p+1; 21 if(l<0){ 22 result = "第"+p1+"题:"+v+"+("+l+")=" + answers; 23 }else{ 24 result = "第"+p1+"题:"+v+"+"+l+"=" + answers; 25  } 26  System.out.print(result); 27 //1、打开流 28 Writer w=new FileWriter("e:/result.txt",true); 29 //2、写入内容 30  w.write(result); 31 w.write("\r\n"); 32 //3、关闭流 33 w.close();

 随机生成数字

 1 Random rn = new Random(); 
 2 for(int p=0;p<m;p++){
 3     int i=rn.nextInt(10);//十位
 4     int j=rn.nextInt(10);//个位
 5     int bai = rn.nextInt(10);//百位
 6     int x=rn.nextInt(10);//十位
 7     int y=rn.nextInt(10);//个位
 8     int z = rn.nextInt(10);//百位
 9 while(y==0||x==0){
10     x=rn.nextInt(10);
11     y=rn.nextInt(10);
12 }                        

6.总结

先根据需求整理思路,构建框架。再逐步细分为具体的功能模块,把每个模块的功能依次实现,最后结合需求进行测试,看是否符合用户需求,以便程序顺利完成。

7.psp

 

PSP2.1任务内容计划共完成需要的时间(min)实际完成需要的时间(min)
   Planning   计划1015
   Estimate   估计这个任务需要多少时间,并规划大致工作步骤1520
   Development   开发400520
   Analysis   需求分析 (包括学习新技术)1020
   Design Spec   生成设计文档00
   Design Review   设计复审 (和同事审核设计文档)00
   Coding Standard   代码规范 (为目前的开发制定合适的规范)55
   Design   具体设计1520
   Coding   具体编码350410
   Code Review   代码复审1010
   Test   测试(自我测试,修改代码,提交修改)1020
   Reporting   报告3050
   Test Report   测试报告1530
   Size Measurement   计算工作量00
   Postmortem & Process Improvement Plan   事后总结 ,并提出过程改进计划1020

转载于:https://www.cnblogs.com/-huyue-/p/11530871.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值