月妹-芒果君

导航

20194588+第二次软件工程作业

环境:c_free5.0;

一:需求分析

      随着计算机的快速发展,我们可以用编程进行一系列功能的实现,为我们的生活和学习也提供了不少便捷,今天用c语言做的这个程序就可以帮助我们一些小学老师进行随机出题测试。要求 用C语言或者JAVA完成一个自动生成四则运算试题的程序,自动生成10道100以内的2个操作的四则运算算式(+-*/)运算结果也在100以内,剔除重复算式。2+3= 和3+2= 不属于重复算式,题目数量可定制,相关参数可控制,是否包含乘法和除法,操作数数值可控制,操作是否含负数,生成运算题存储到外部文件result.txt中。

二:功能设计

   >1:基本功能:(1):自动生成10道100以内的2个操作的四则运算算式(+-*/)运算结果也在100以内

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

                              (3):题目数量可定制,相关参数可控制,是否包含乘法和除法,操作数数值可控制,操作是否含负数

                              (4):生成运算题存储到外部文件result.txt中。

 

  >2:扩展功能:对除法的分母不能为零做了限制;

三:设计实现

我用的是c语言实现的程序运行,其中除了函数必须的主函数外我还设计了一个名为fun的函数,fun函数的主要是用来进行剔除重复算式而设计的,并在主函数中的分支选择函数中进行了调用,实现了剔除重复算式的功能。

四:测试运行

 

 

 

 

 

 

 

 

 

五:代码

因为程序要实现运算是否包含乘法除法,所以我就想到了用这个分支选择函数,不仅可以为程序是否包含乘除进行铺垫,也增加了程序的易读性

 

 1 switch(sf)//运用多分支选择语句来进行随机四则运算的输出 
 2 {
 3 case 1:
 4 if(fun(value1,'+',value2)==1)
 5 fprintf(q,"%d + %d=%d\n",value1,value2,value1+value2);
 6 else {
 7 i--;
 8 continue;
 9 } 
10 break;
11 case 2: 
12 if(fun(value1,'-',value2)==1)//调用了fun函数
13 fprintf(q,"%d - %d=%d\n",value1,value2,value1-value2);
14 else {
15 i--;
16 continue;
17 } 
18 break;
19 case 3: 
20 if(fun(value1,'*',value2)==1)
21 fprintf(q,"%d * %d=%d\n",value1,value2,value1*value2);
22 else {
23 i--;
24 continue;
25 } 
26 break; 
27 case 4:
28 if(fun(value1,'/',value2)==1)
29 fprintf(q,"%d / %d=%d\n",value1,value2,value1/value2);
30 else {
31 i--;
32 continue;
33 } 
34 break;
35 }

 

 

 

六:总结

定义:value1:进行运算的数字1,value2:进行运算的数字2,sf:进行运算分支选择语句的变量 

s:题目数量的变量 z:控制四则二则运算而定义的变量, f:用于是否含负数的判断而定义的变量
max: 操作数值的范围 i:循环语句定义的

运用循环对题目的数量进行控制 

运用多分支选择语句来进行随机四则运算的输出 

sf = 1 + rand() % z; //运算是否包含乘除法 

判断结果是否超出操作数范围

定义了一个fun函数来进行剔除重复算式操作;

七:psp

PSP2.1

任务内容

计划共完成需要的时间(min)

实际完成需要的时间(min)

Planning

计划

142

184

·       Estimate

·  估计这个任务需要多少时间,并规划大致工作步骤

20

25

Development

开发

30

40

··       Analysis

  需求分析 (包括学习新技术)

10

15

·       Design Spec

·  生成设计文档

5

10

·       Design Review

·  设计复审 (和同事审核设计文档)

8

10

·       Coding Standard

  代码规范 (为目前的开发制定合适的规范)

5

5

·       Design

  具体设计

10

15

·       Coding

  具体编码

30

30

·       Code Review

·  代码复审

5

5

·       Test

·  测试(自我测试,修改代码,提交修改)

8

10

Reporting

报告

3

10

··       Test Report

·  测试报告

3

5

·       Size Measurement

  计算工作量

2

1

·       Postmortem & Process Improvement Plan

·  事后总结 ,并提出过程改进计划

3

3

posted on 2019-09-11 22:26  月妹-芒果君  阅读(153)  评论(2编辑  收藏  举报