首页 > 其他 > 详细

20194609+自动生成四则运算第一版

时间:2019-09-15 13:20:27      阅读:93      评论:0      收藏:0      [点我收藏+]

一、需求分析

    通过该程序的设计,减轻老师和家长的出题负担。

二、功能设计

    1.自动生成可定制道100以内的2个操作数的四则运算算式(+ - * /),要求运算结果也在100以内

    2.题目数量可自定义

    3.操作数数值范围可自定义(100以内)

    4.其他: (1).是否包含乘法和除法

                (2).操作数是否含负数

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

 

三、设计实现
使用c语言设计实现。

四、测试运行

技术分享图片

技术分享图片

五、代码片段

1.判断是否包含正负号。

    printf("请输入是否带负号:");          //1带0不带
    scanf("%d",&g);
    for(i=0;i<n;i++){
              if(g==0){
                           a=rand()%z;
                           b=rand()%z;           //随机生成两个正数 
             }else if(g==1){
                           a=rand()%z*(rand()%100>0.5?1:-1);
                           b=rand()%z*(rand()%100>0.5?1:-1);  //随机生成两个正或负数

}

2.随机生成符号,输出。

    c=rand()%4;           //生成0-3随机数
    switch(c)  
    {
        case 0:sum=a+b;f='+';
                if(a+b<=100){
                        printf("%d+%d=",a,b);
                        printf("\n");
                        
                    }
                break;


            case 1:sum=a*b;f='*';
                       if(cc==1){
                                    if(a*b<=100){
                                      printf("%d*%d=",a,b);
                          printf("\n");        //cc=1时包含乘法
                                          }
             
                         }else if(cc==0){
                                      i--;
                              continue;
                            
                                }break;       //cc=0时不包含乘法,for处重新执行
                       

                case 2:sum=a-b;f='-';
                            printf("%d-%d=",a,b);
                    printf("\n");   
                            break;
                        
                        
                case 3:sum=a/b;f='/';
                if(cc==1){
                   printf("%d/%d=",a,b);  //cc=1时包含除法
                       }
                        
                else if(cc==0){
                                i--;
                           continue;        //cc=0时不包含除法,for处重新执行
                                
                        } 

                  printf("\n");
              break;
            }



六、总结

有的地方可能不太完美,但也是千辛万苦写出来的...希望在今后的学习中能继续提升自己的专业技能,并有所改进。

七、PSP

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

20194609+自动生成四则运算第一版

原文:https://www.cnblogs.com/weijxx91/p/11521655.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!