zoukankan      html  css  js  c++  java
  • 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文件中,并显示答题正确数量


    2.生成十道不含负数题,操作数在100 以内,存在result.txt文件中,并显示答题正确数量

    五、代码

    1.答对正确题目累加

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

    2.运算符做标记

      mode = rand() % 4; 
    

    3.确定运算符

     switch(mode)        //确定运算符
       {
          case 0:
               printf("+");
                answer= x+y;      
                   fprintf(fp,"%d / %d=%d
    ",x,y,answer);  break;
    
          case 1:
               printf("- ");
                  answer= x-y ;
                     fprintf(fp,"%d  -  %d=%d
    ",x,y,answer);  break;
          case 2:
                printf("* ");
                  answer= x*y; 
                       fprintf(fp,"%d / %d=%d
    ",x,y,answer); break;
      
           case 3:
                printf("/ ");
                    answer= x/y; 
                         fprintf(fp,"%d / %d=%d
    ",x,y,answer); break;
            default:
                printf("有错误!
    "); 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
  • 相关阅读:
    正方形矩阵顺时针旋转90度
    225. Implement Stack using Queues
    leetcode上题目的分类
    215. Kth Largest Element in an Array
    Android基础_Service
    Android基础_ContentProvider组件
    java struts学习-拦截器
    Jquery_基础(三) ajax与json
    Jquery_基础(二) 包装集
    Jquery_基础(一) 常用方法与选择器
  • 原文地址:https://www.cnblogs.com/shanshan3/p/11520636.html
Copyright © 2011-2022 走看看