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

萝らか妹 提交于 2019-11-29 16:06:15

----------一、需求分析

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

----------二、功能设计

    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
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!