需求分析
具体分析如下如下:
需求1:自动生成10道100以内的2个操作数的四则运算算式(+ - * /),要求运算结果也在100以内
分析1:需要通过以学的编程语言产生2个随机数并且将两个随机数做随机的四则运算,整个程序都和随机密不可分
需求2:剔除重复算式。 2 + 3 = 和 2 + 3 = 是重复算式 2 + 3 = 和 3 + 2 = 不属于重复算式
分析2:因为受众群体为小学生所以只有一模一样的算式才为重复算式,位置颠倒可能就会换一种思维方式
需求3:题目数量可定制
分析3:可通过让用户自己输入循环次数来实现题目数量的定制
需求4:相关参数可控制 1)是否包含乘法和除法 2)操作数数值范围可控 3)操作数是否含负数
分析4:这一系列需求都可以通过if或switch来让用户输入不同的需要而改变从而改变面向人群
需求5:生成的运算题存储到外部文件result.txt中
分析5:在循环体的最后加如对于文本的操作即可
功能设计
设计实现
自动生成可用户自我控制的四则运算题可自动剔除重复算式并且不影响最后用户最终需要的题目数量
在程序开始会询问用户算式中是否会需要含有负数和操作数的范围
最终把生成的算式一一拷贝到D盘下的result.txt中,如果没有将自动建立result.txt文件
测试运行
以下为操作数中含有负数的运行结果:
以下为操作数中不包含负数的运行结果:
在可选择是否附带负数操作数的同时也包含着可定制题目数量和操作数范围
——————————————————————————————————————————————————————————————————————
************************************************************************************************************
以下为我的程序的gitHub的c语言程序源码:https://github.com/kingvist/My-Arithmetic
注:在gitHub中有两个版本
一个为“我的四则运算”:但在后期复盘时发现剔除重复算式是用当前操作数与前一位操作数比较来判断是否有重复算式出现
忽略考虑了当前操作数与前几位的操作数组成的算式重复问题。故做了以下更改。
另一个为“四则运算改进版”:此版本为考虑到系统漏洞时,即时作出更改与修正,用数组记录所有操作数,并且记录所有操
作数中间的加减乘除,如完全一致则为重复算式,将经行重新随机,如有不同则继续经行程序运行。
************************************************************************************************************
——————————————————————————————————————————————————————————————————————
总结:从最简单的需求开始实现一步一步的增加需求,最终完成所有的需求
PSP: