zoukankan      html  css  js  c++  java
  • 20194643 自动生成四则运算第一版报告

     1.需求分析

                     解决小学老师给学生出题,(+-*/)四则运算.

    2. 功能设计

                    基本功能

                         (1)题目数量可定制

                         (2)控制是否包含乘法和除法

                         (3)操作数数值范围可控(如操作数 在100以内   还是1000以内)

                         (4)操作数是否含负数 

                     扩展功能

           (1)带答案供老师参考            

     3. 设计实现

     4. 测试运行

    5. 粘贴自己觉得比较独特的或满意的代码片段,用博客园正确的代码控件来显示

    输出函数,主要功能接受用户需求,输出数据。

    void printf_equation(int number,int chengchu,int fanwei,int fushu)
    {
            FILE *fp=fopen("suanshu.txt","at");
            while(1)
            {
                int result ;
                int x1=Number(fanwei,fushu);
                char x2=Sign(chengchu);
                int  x3=Number(fanwei,fushu);
                switch(x2)
                {
                    case '+': result =x1+x3;break;
                    case '-': result =x1-x3;break;
                    case '*': result =x1*x3;break;
                    case '/': result =x1/x3;break;
                }
                if(result<=100&&result>=-100)
                {
                    fprintf(fp,"%d %c %d = %d
    ",x1,x2,x3,result);
                    number--;
                }            
              
              if(!number)break;                    
            } 
        
            char ch; 
            if((fp=fopen("suanshu.txt","r"))==NULL) 
               { 
               printf(" 
     保存失败  
    "); 
               exit(0); 
               }
               else
               { 
               printf(" 
     保存在suanshu.txt成功  
    ");  
               }            
               ch=fgetc(fp); 
               while(ch!=EOF) 
               { 
                 putchar(ch); 
                 ch=fgetc(fp); 
                } 
            fclose(fp);
        
        
    }

    操作数函数主要功能控制操作数范围,和正负

    int Number(int x,int symbol)
    {
        
        if(symbol) 
        return rand()%x+1 ;
        else
        {
            int flag = rand()%2;
            if(flag)
            {
                return (rand()%x+1)*-1;
            }
            else
            {
                return (rand()%x+1);
            }
        } 
        
    }

     

             

    6. 总结:你设计的程序如何实现软件设计的“模块化”原则。

    函数分别实现具体功能

    7. 尝试撰写PSP,这个环节重要的是让自己看到自己的估计和实际消耗时间,哪个环节耗时最多,哪个环节估计和实践相差巨大?为什么?

    PSP2.1

    任务内容

    计划共完成需要的时间(min)

    实际完成需要的时间(min)

    Planning

    计划

    2

    30

    ·       Estimate

    ·  估计这个任务需要多少时间,并规划大致工作步骤

    8

    5

    Development

    开发

    400

    500

    ··       Analysis

      需求分析 (包括学习新技术)

    6

    10

    ·       Design Spec

    ·  生成设计文档

    5

    10

    ·       Design Review

    ·  设计复审 (和同事审核设计文档)

    4

    10

    ·       Coding Standard

      代码规范 (为目前的开发制定合适的规范)

    3

    0

    ·       Design

      具体设计

    10

    10

    ·       Coding

      具体编码

    36

    10

    ·       Code Review

    ·  代码复审

    7

    20

    ·       Test

    ·  测试(自我测试,修改代码,提交修改)

    13

    10

    Reporting

    报告

    9

    30

    ··       Test Report

    ·  测试报告

    3

    10

    ·       Size Measurement

      计算工作量

    2

    1

    ·       Postmortem & Process Improvement Plan

    ·  事后总结 ,并提出过程改进计划

    3

    3

  • 相关阅读:
    说说那些低级错误
    vue双向数据绑定
    妙用$.extend
    写一个限制执行次数的函数
    强类型语言不好的地方,比如这样:
    form表单里的坑
    Java Day 09
    Java Day 08
    Java Day 07
    Java Day 06
  • 原文地址:https://www.cnblogs.com/When6/p/11515156.html
Copyright © 2011-2022 走看看