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

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

时间:2019-09-15 22:38:35      阅读:192      评论:0      收藏:0      [点我收藏+]

标签:test   过程   port   amp   while   估计   选择   使用   standard   

1.需求分析
使用C语言完成一个自动生成四则运算试题的程序。
2.功能设计
  基本功能:随机生成10道100以内的2个操作数的四则运算算式,要求运算结果也在100以内。
  扩展功能:(1)剔除重复算式
       (2)定制题目数量
       (3)是否选择包含乘法和除法
       (4)操作数数值范围是否可控
       (5)操作数是否含负数
       (6)是否选择生成答案
       (7)生成的运算题存储到result.txt文件中
3.设计实现
使用sign函数实现含有负数的随机算式、sum函数选择受否生成带有答案的算式,其他功能由主函数完成。
4.测试运行
技术图片

技术图片

5.代码片段

do {
       printf("\n请确定是否包含乘除(1.包含 2.不包含): ");
       scanf("%d",&n);
       printf("\n请确定是否输出答案(1.不输出 2.输出): ");
       scanf("%d",&f);
       printf("\n-1为退出程序:");
       scanf("%d",&y);


       switch(n) {
           case 1: {

               for(i=0; i<count; i++) {
                   a=rand()%limits*sign(x);
                   b=rand()%limits*sign(x);
                   k=rand()%4;

                   switch(k) {
                       case 0: {
                           if(a+b<=limits) {
                               fprintf(fp,"%d+%d=\n",a,b);
                               if(sum(f)==0)
                                   fprintf(fp,"%d\n",a+b);
                           } else
                               i--;
                           break;
                       }

                       case 1: {
                           if(a-b<=limits && a-b>=0) {
                               fprintf(fp,"%d-%d=\n",a,b);
                               if(sum(f)==0)
                                   fprintf(fp,"%d\n",a-b);
                           }

                           else
                               i--;
                           break;
                       }
                       case 2: {
                           if(a*b<=limits) {
                               fprintf(fp,"%d*%d=\n",a,b);
                               if(sum(f)==0)
                                   fprintf(fp,"%d\n",a*b);
                           } else
                               i--;
                           break;
                       }
                       case 3: {
                           if(a/b<=limits && b!=0) {
                               fprintf(fp,"%d/%d=\n",a,b);
                               if(sum(f)==0)
                                   fprintf(fp,"%d\n",a/b);
                           } else
                               i--;
                           break;
                       }
                   }

               }
               break;
           }
           break;
           case 2: {
               for(i=0; i<count; i++) {
                   a=rand()%limits*sign(x);
                   b=rand()%limits*sign(x);
                   k=rand()%2;
                   switch(k) {
                       case 0: {
                           if(a+b<=limits) {
                               fprintf(fp,"%d+%d=\n",a,b);
                               if(sum(f)==0)
                                   fprintf(fp,"%d\n",a+b);
                           } else
                               i--;
                           break;
                       }
                       case 1: {
                           if(a-b<=limits && a-b>=0) {
                               fprintf(fp,"%d-%d=\n",a,b);
                               if(sum(f)==0)
                                   fprintf(fp,"%d\n",a-b);
                           }

                           else
                               i--;
                           break;
                       }
                   }
               }
               break;
           }
           break;
       }
   } while(y!=-1);

6.总结 使用函数实现部分模块,其他模块都存在在主函数里的。

7.psp

PSP2.1 任务内容 计划共完成需要的时间(min) 实际完成需要的时间(min)
Planning 计划 120 200
· Estimate · 估计这个任务需要多少时间,并规划大致工作步骤 120 200
Development 开发 298 352
·· Analysis 需求分析 (包括学习新技术) 60 65
· Design Spec · 生成设计文档 20 30
· Design Review · 设计复审 (和同事审核设计文档) 20 10
· Coding Standard 代码规范 (为目前的开发制定合适的规范) 3 5
· Design 具体设计 30 42
· Coding 具体编码 150 175
· Code Review · 代码复审 10 15
· Test · 测试(自我测试,修改代码,提交修改) 5 10
Reporting 报告 17 23
·· Test Report · 测试报告 5 5
· Size Measurement 计算工作量 2 3
· Postmortem & Process Improvement Plan · 事后总结 ,并提出过程改进计划 10 15

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

标签:test   过程   port   amp   while   估计   选择   使用   standard   

原文地址:https://www.cnblogs.com/kaka1/p/11524622.html

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