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\n",x1,x2,x3,result);
                number--;
            }            
          
          if(!number)break;                    
        } 
    
        char ch; 
        if((fp=fopen("suanshu.txt","r"))==NULL) 
           { 
           printf(" \n 保存失败  \n"); 
           exit(0); 
           }
           else
           { 
           printf(" \n 保存在suanshu.txt成功  \n");  
           }            
           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

posted @ 2019-09-12 20:59  When?  阅读(148)  评论(6编辑  收藏  举报