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

一、需求分析

家长每天给孩子出十道算数题,给孩子做测试,为了出题方便,该程序实现了随机生成题目的功能。

二、功能实现

2.1基本功能

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

(2)剔除重复样式

(3)题目数量可定制

(4)相关参数可控制

      是否包含乘法和除法

      操作数数值范围可控

      操作数是否含负数    

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

2.2扩展功能

(1)可显示用户答对题目的数量

三、设计实现

我是用c编写的程序,程序中写入一个主函数,在主函数中完成了让题目储存在F盘下 result.txt 文件中 、控制操作范围 、控制题目数量、是否含负数、题目正确数量的累加功能。写入了一个remove函数,实现剔除重复样式功能。

四、测试运行

1.生成五道含负数题,操作数在200 以内,存在result.txt文件中,并显示答题正确数量
20194671 + 自动生成四则运算题第一版报告_第1张图片

20194671 + 自动生成四则运算题第一版报告_第2张图片
2.生成十道不含负数题,操作数在100 以内,存在result.txt文件中,并显示答题正确数量
20194671 + 自动生成四则运算题第一版报告_第3张图片

20194671 + 自动生成四则运算题第一版报告_第4张图片

五、代码

1.答对正确题目累加

if(c == answer) //判断答案是否正确 
  {
    score+= 1; //答对题目累加和 
  }

2.运算符做标记
int mode = 0; //运算符;0代表加 ,1代表减 ,2代表乘, 3代表除 mode = rand() % 4;
3.确定运算符

 switch(mode)        //确定运算符
   {
      case 0:
           printf("+");
            answer= x+y;      
               fprintf(fp,"%d / %d=%d\n",x,y,answer);  break;

      case 1:
           printf("- ");
              answer= x-y ;
                 fprintf(fp,"%d  -  %d=%d\n",x,y,answer);  break;
      case 2:
            printf("* ");
              answer= x*y; 
                   fprintf(fp,"%d / %d=%d\n",x,y,answer); break;
  
       case 3:
            printf("/ ");
                answer= x/y; 
                     fprintf(fp,"%d / %d=%d\n",x,y,answer); break;
        default:
            printf("有错误!\n"); break;
     }

六、总结

定义两个变量x,y作为随机操作数;

answer 是用户输入运算结果;

定义了一个score 变量用于正确题目累加;

定义了变量range 可以让客户控制操作范围;

定义一个mode 变量用于运算符标志;

用switch case选择语句确定运算符,输出算式;

七、psp

PSP7.1 任务内容 计划共完成需要的时间(min) 实际完成需要的时间(min)
Planning 计划 10 10
Estimate 估计这个任务需要多少时间,并规划大致工作步骤 5 5
Development 开发 120 150
Analysis 需求分析 10 8
Design Spec 生成设计文档 5 5
Coding Standard 代码规范 5 5
Design 具体设计 20 25
Coding 具体编码 90 100
Test 测试(测试,修改代码) 10 15
Size Measurement 计算工作量 3 3
Postmortem & Process Improvement Plan 总结 5 5

你可能感兴趣的:(20194671 + 自动生成四则运算题第一版报告)