TXT四则运算计算器 后日谈
经过了软件工程第一个个人项目——<<四则运算器>>的开发后,对软件开发有了新的认识。题目中并没有明确说明对小数和负数是否应该提供支持。在第一个项目结束后,第二个项目则是针对上一个项目进行细致的优化,高度API要求和可交换性考验着第一个项目的模块化设计理念。封装性、参数可调性和交换后的兼容性是第二个项目的主要内容。作为第一个结对项目,在上一个项目中存在着很多会导致这次项目出现兼容性问题的原因。

曾经听过调侃:“客户从不改需求(扇子脸)”。客户的需求,说变就变←_←|||,如果需求恒定,那基本是不可能的,随着软件的开发,越来越多的bug就会浮出水面。这里所指的bug不仅仅是由于函数的不完善、特殊值引起的算法异常终止。而是在一些客户未明确提出,咨询客户又怕觉得智障、实现起来有不是捎带手就完成的方面。例如个人项目中,是否添加小数的运算?是否添加小数和分数混合的运算支持?当用户进行非法输入时,程序是弹出警告框提示用户重新输入还是如何都没有界定的标准。设想下,如果第一次个人项目要求的word中,统一注明了程序的每个具体功能模块,每个模块传入的参数、返回的参数、名称都有明确的规定,就像是工业元件的名牌一样参数分明,程序的可移植性将会更好吧。虽然这样做就会限制思路了,但毕竟第一个项目都是当个人项目看待的,应该没有人想到跟别人程序的契合度吧╮( ̄▽ ̄")╭
TXT四则运算计算器 后日谈的更多相关文章
- TXT四则运算计算器
基本思想:使用getline函数从TXT文件中依次读出中缀表达式,将其转为后缀表达式后计算结果,并与用户结果比对. 整数.分数.小数的处理:将小数和整数都视为默认分母为1的分数.建立分数类,在中缀转换 ...
- 深入浅出数据结构C语言版(8)——后缀表达式、栈与四则运算计算器
在深入浅出数据结构(7)的末尾,我们提到了栈可以用于实现计算器,并且我们给出了存储表达式的数据结构(结构体及该结构体组成的数组),如下: //SIZE用于多个场合,如栈的大小.表达式数组的大小 #de ...
- 利用ANTLR4实现一个简单的四则运算计算器
利用ANTLR4实现一个简单的四则运算计算器 ANTLR4介绍 ANTLR能够自动地帮助你完成词法分析和语法分析的工作, 免去了手写去写词法分析器和语法分析器的麻烦 它是基于LL(k)的, 以递归下降 ...
- java 24 - 8 GUI之创建四则运算计算器(未校验版)
这个是用NetBeans软件制作的,因为这个软件制作GUI任务比较方便 通过拖拽控件生成的窗体:(红色的名称是更改后的控件名称) 拉拽好布局后,要进行的步骤: A:更改想要进行操作的控件的名称(右键控 ...
- php实现一个简单的四则运算计算器
php实现一个简单的四则运算计算器(还不支持括号的优先级).利用栈这种数据结构来计算表达式很赞. 这里可以使用栈的结构,由于php的数组“天然”就有栈的特性,这里直接就利用了数组.当然可以使用栈结构写 ...
- Object-C,四则运算计算器
下面是是一个比较复杂的类. 定义一个四则运算计算器Caculator的接口和实现. 在main函数中,让用户输入四则运算表达式,比如a+b,a-b. 最后,在控制台输出结果. 用到的语法:接口.类的定 ...
- 【实践】js实现简易的四则运算计算器
最近看了一个大神推荐的某公司面试程序员的js 面试题,题目是用js 做一个计算器于是跟着大神的思想自己做了一下 ps:功能还没有完善好毕竟自己还是一只菜鸟还在不断学习中. 闲话不多说先上css代码 & ...
- mfc基于对话框的简单四则运算计算器
1.①创建mfc对话框窗口,对话框中所有控件都delete. ②绘制界面,按键都button,显示区域edit control,计算器名字用static text. ③所有控件ID改成语义化ID(可不 ...
- MIPS汇编程序设计——四则运算计算器
实验目的 运用简单的MIPS实现一个能够整数加减乘除的计算器,同时使自己更加熟悉这些指令吧 MIPS代码 #sample example 'a small calculater’ # data sec ...
随机推荐
- angularjs-ngTable select filter
jsp <td title="'Status'" filter="{status: 'select'}" filter-data="fn.sta ...
- JavaScript Comparison and Logical Operators
Ref:http://www.w3schools.com/js/js_comparisons.asp var r = 1; var result = r || 2; console.log(resul ...
- System.Data.DbType的字符串和数据库中字符串类型对应关系
前两天项目中因为历史原因数据库中的一个字段是varchar类型,在做SQL参数化处理时候默认都是DbType.String, 免得查询出现数据转换,于是做类型一致,搜了下对应关系还没找到,只好自己打开 ...
- $(document).ready(function(){});不执行
这里可能会有以下几种原因,请你挨个排查: 1.jqury的文件一定要引入1.js文件的引用路径不正确,特别是使用了命名空间,容易造成路径错误,使用绝对路径看是否成功 2.某一些函数使用错误,举个例子, ...
- 一则自用iptables例子解释
公网IP:110.24.3.83内网IP:10.252.214.186局域网数据库:10.252.214.100 通过NAT端口转发,访问110.24.3.83:3308端口跳转到局域网数据库机器的3 ...
- 2016.7.16equals的使用(一)
class V{ private int a; V(int a){ rhis a=a; } public boolean equals(int a,int b){ if(this.a equals( ...
- TCP/UDP基本概念部分
最近在读<Unix网络编程>和<TCP/IP详解>两本书,有了一些自己的心得与体会,总结下其中典型的问题. 1. 为什么建立连接需要三次握手? 谢希仁的<计算机网络> ...
- php中的JSON中文处理
最近在PHP中要输出JSON,上网查了一下,对中文支持不太好,要不就先转成utf-8的编码,再用json_encode生成,客户端还要再utf-8转中文.对于网页已经用GB2312的服务器,不想这样折 ...
- SGU 142.Keyword
时间限制:0.5s 空间限制:16M 题意 给出一个仅由'a',‘b’组成的字符串S,长度小于500 000,求一个由‘a’,‘b’组成的不是S子串的字符串T. 输出T的长度和T. Sample In ...
- 【HDU3487】【splay分裂合并】Play with Chain
Problem Description YaoYao is fond of playing his chains. He has a chain containing n diamonds on it ...