码迷,mamicode.com
首页 > 其他好文 > 详细

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

时间:2019-09-16 16:29:29      阅读:94      评论:0      收藏:0      [点我收藏+]

标签:stdout   and   出现   数值范围   png   res   技术   nbsp   java语言   

需求分析:

    设计一个能够自动生成小学生四则运算试题的程序。使用C语言或者Java语言(这里使用的是C语言,编译器为vc++ 6.0)

 

 

设计功能:

  • 基本功能

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

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

题目数量可定制

相关参数可控制,是否包含乘法和除法,操作数数值范围可控(如操作数 在100以内   还是1000以内),操作数是否含负数    

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

 

  • 扩展功能

两个随机数相乘,结果大于100的容错

两个随机数相减,结果为负数的容错

 

 

设计实现:

C语言没有类的概念。函数为C语言自带的头文件函数<stdlin.h>,<stdio.h>

 

 

测试运行:

因为使用了freopen("D:\\result.txt", "w", stdout);代码,所以产生的结果不会在c的命令行中出现,结果直接保存到了D盘的result.txt文档中,result.txt中所得的四则运算不一定为10条,因为随机数相减为负数的四则运算并未打印,下图代码为红色的部分并未运行,只是做了容错,去掉注释之后可以运行。

 

case 1:
                result=first_num-second_num;
                //小学没有正负数的概念,如果产生正负数则跳过此题
                if(result<0)
                {
                    //如果出现负数,重新生成新的随机数字,直到结果出现正数为止,增加了时间复杂度
                    /*while(1)
                    {
                        if(result<0)    
                        {
                            first_num=rand()%50;
                            second_num=rand()%50;
                            result=first_num-second_num;
                        }
                        else if(result>=0)
                        {
                            printf("%d-%d=%d\n",first_num,second_num,result);
                            break;
                        }
                    }*/
                    continue;
                }

                else
                    printf("%d-%d=%d\n",first_num,second_num,result);
                break;

 

 

 

技术图片

 

技术图片

 

 

 

 

代码展示:

 

//小学没有正负数的概念,如果产生正负数则跳过此题
                if(result<0)
                {
                    //如果出现负数,重新生成新的随机数字,直到结果出现正数为止,增加了时间复杂度
                    /*while(1)
                    {
                        if(result<0)    
                        {
                            first_num=rand()%50;
                            second_num=rand()%50;
                            result=first_num-second_num;
                        }
                        else if(result>=0)
                        {
                            printf("%d-%d=%d\n",first_num,second_num,result);
                            break;
                        }
                    }*/
                    continue;
                }

 

//对结果超过100的进行容错,当两个随机数相乘大于100,重新生成新的随机数
                if(result>100)
                {
                    first_num=rand()%10;
                    second_num=rand()%10;
                    result=first_num*second_num;

                }

 

 

 

 

总结:

在进行设计时,先对需要设计的程序进行了分部设计。如先设计代码的主体功能:实现程序的四则运算,当主体功能能够进行实现,在进行程序的容错处理,例如结果在100以内的容错,小学不存在负数概念的容错等等,最后进行代码测试。

 

 

 

Psp:

 

任务内容

计划功完成需要时间(min)

时间完成需要时间(min)

估计任务所需时间以及大致步骤

10

8

开发

150

160

需求分析

3

4

生成设计文档

20

40

代码规范

6

5

具体设计

20

10

具体编码

120

180

测试

30

50

测试报告

20

30

计算工作量

2

2

事后总结

20

60

 

 

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

标签:stdout   and   出现   数值范围   png   res   技术   nbsp   java语言   

原文地址:https://www.cnblogs.com/-123/p/11527721.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!