四则运算

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计划2020
Estimate估计这个任务需要多少时间55
Development开发40004000
Analysis需求分析 (包括学习新技术)2010
Design Spec生成设计文档5010
Design Review设计复审21
Coding Standard代码规范11
Design具体设计2030
Coding具体编码45004700
Code Review代码复审108
Test测试(自我测试,修改代码,提交修改)50120
Reporting报告60120
 测试报告2445
 计算工作量35
 并提出过程改进计划810

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

posted on 2017-09-24 11:30 江泽平 阅读( ...) 评论( ...) 编辑 收藏

转载于:https://www.cnblogs.com/jiangzeping/p/7586715.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值