江泽平

  博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理

a.需求分析

看了大家对于本课程的目标和规划,很多同学都希望能提高自己的实践能力,没有捷径可走,就是练习、练习再练习!那么就从第一个个人项目开始吧,用一周的时间完成一个基于控制台的四则运算程序,实现一个自动生成小学四则运算题目的命令行程序

从《构建之法》第一章的 “程序” 例子出发,像阿超那样,花二十分钟写一个能自动生成小学四则运算题目的命令行 “软件”,满足以下需求:

    1. 除了整数以外,还要支持真分数的四则运算,真分数的运算,例如:1/6 + 1/8 = 7/24
    2. 运算符为 +, −, ×, ÷
    3. 并且要求能处理用户的输入,并判断对错,打分统计正确率。
    4. 要求能处理用户输入的真分数, 如 1/2, 5/12 等
    5. 使用 -n 参数控制生成题目的个数,例如执行下面命令将生成10个题目
      Myapp.exe -n 10


b.功能设计

  • 基本功能 :生成表达式,运算结果,检验答案

c.设计实现

  1.生成表达式

    以w+的方式打开文件,覆盖原来的数据

    首先把一个数分成整数,分子,分母三部分创建三个数组zhengshu[],fenzi[],分母[];

    将四个符号放在一个数组里面{‘+’,‘ −’,‘ 3’,‘ 4’}后面的三四分别代表 ×和 ÷,因为我是用C语言写的,而×, ÷都是占两个字符;

    在只有三个操作数的情况下,括号一般为三种情况分别是:无括号,前两个数括号起来,后两个数括号起来。

    

  2.运算结果

    以w+的方式打开文件,覆盖原来的数据;

    根据括号类型和符号类型,将计算的结果都放进fenzi[],fenmu[]中;

    对fenzi[],fenmu[]进行约分,以1'3/1,2形式存入文件

  3.检验结果

    由于前面的答案以字符串形式存入文件,所以直接读取字符串和文件中的字符串比较

d.代码说明

  1.主函数

 

  2.创建表达式

 

 

  3.进行约分

 

  4.判断结果

 

 

 

e.测试运行

 

 

 

 

f. psp

PSP2.1Personal Software Process StagesTime Senior StudentTime
Planning 计划 20 20
Estimate 估计这个任务需要多少时间 5 5
Development 开发 4000 4000
Analysis 需求分析 (包括学习新技术) 20 10
Design Spec 生成设计文档 50 10
Design Review 设计复审 2 1
Coding Standard 代码规范 1 1
Design 具体设计 20 30
Coding 具体编码 4500 4700
Code Review 代码复审 10 8
Test 测试(自我测试,修改代码,提交修改) 50 120
Reporting 报告 60 120
  测试报告 24 45
  计算工作量 3 5
  并提出过程改进计划 8 10

代码仓库地址:https://coding.net/u/jiangzeping/p/expression/git

posted on 2017-09-24 11:30  jiangzeping  阅读(483)  评论(1编辑  收藏  举报