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

mac2022-06-30  78

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

一、需求分析:

需要为小学生生成一个可以自动生成四则运算题的小程序,并储存到外部txt文件中储存,并且需要根据不同的需求控制不同的变量。

二、 功能设计

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

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

(3)题目数量可定制

(4)相关参数可控制

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

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

扩展功能

能实现答案的展示

三、 设计实现

创建了以下函数

signal函数提供随机的运算符号random函数提供随即运算操作数并控制是否有负数fun函数剔除重复算式result函数输出运算结果

以上函数均在主函数内被调用

并在主函数内实现了文件的创建,对运算题目及答案输出的循环,

四、测试运行

五、 粘贴自己觉得比较独特的或满意的代码片段,用博客园正确的代码控件来显示。(提示:要有必要的注释说明,提示:不要贴所有代码!不符合规定的要倒扣分)

//主题函数 for(i=1;i<=n;i++) { a=random(x,sym); b=random(x,sym); s=signal(f); fun(a,s,b); if(result(a,s,b,r)<100) { fprintf(fp,"%d%c%d=\n",a,s,b); fprintf(fp1,"%.2f\n",result(a,s,b,r)); } else continue; } char signal(int f)//提供随机的运算符号 { char c[4]={'+','-','*','/'}; if(f==2) { return c[rand()%2]; } else if(f==4) { return c[rand()%4]; } } //输出结果 if(r==0) printf("Thanks for your use!"); else { switch(s) { case '+':return a+b;break; case '-':return a-b;break; case '*':return a*b;break; case '/':return (double)a/b;break; } if(s=='/'&&b==0) printf("ERROR!"); } //实现外部文件输出并控制输出结果范围 FILE *fp,*fp1; fp=fopen("result.txt","w+");//创建文件 fp1=fopen("答案.txt","w+"); if(result(a,s,b,r)<100) { fprintf(fp,"%d%c%d=\n",a,s,b); fprintf(fp1,"%.2f\n",result(a,s,b,r)); } else continue;

六、总结:

首先实现最基础的自动生成四则运算题算法 然后根据不同的需求增加单一函数 并通过在主函数中的调用实现函数功能 单一部分测试无误之后再进行下一模块的编辑

七、PSP

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

转载于:https://www.cnblogs.com/Xyz0314777/p/11519005.html

最新回复(0)