计算器——工程文档

一.输入与格式

1.数据规模

本文档的输入基于如下的要求:

(1)既然是小学生,我们假设他们不会计算超过10亿的数字。

(2)既然是出考试题,那么也不会出超过10亿道题目。

也就是说 n , r ∈ int;

2.格式要求:

本文档的输出格式为:

(1)       当制造试题时,输出为n行,每行是算式编号、一个句号和一个空格,后面是一个算式。算式包含等号。四则运算符号和等号前后各有一个空格。其余符号则没有。答案输出为n行,每行是算式编号、一个句号和一个空格,后面是一个答案。

(2)       试题的输出文件夹为Exercises.txt,答案的输出是Answer.txt。

(3)       当对比答案时,接收控制台指令 –e xxx –a xxx 。xxx为试题文件和对比的答案文件。读入试题时读入至文件结束,每行读入格式为算式编号、一个句号和一个空格,后面是一个算式。算式包含等号。四则运算符号和等号前后各有一个空格。其余符号则没有。读入答案时每行是算式编号、一个句号和一个空格,后面是一个答案。

(4)       输出一个文件,为正误信息。文件是Grade.txt,内容是正确的试题编号和错误的试题编号,每两个编号之间由一个逗号和一个空格隔开。

二.程序结构

程序的大体关系如图所示,由于没有相关软件,先拿画图画了一个。

三.具体实现方法

  1. 程序的括号

括号随机的生成,保证不造成违法的输入。可能括号内算式的优先级本来就高,加了括号不改变次序,也可能改变计算次序和计算结果。

  1. 算式的生成

算式生成的方法是,先生成所有互为素数的分子和分母。范围在Range之内,当range过大时,将range缩小为20000。

  1. 算式的计算

生成中缀表达式,Compute类中的work方法把中缀表达式变为后缀表达式,然后压栈进行计算。

  1. 答案输出

以字符串格式读入,处理字符串,得到数字栈和符号,依据后缀表达式来计算,最后在栈里的第一个数就是结果。

  1. 答案格式

答案转成字符串 以字符串格式输出。

Week 1 工程文档的更多相关文章

  1. Go Doc文档

    Go为我们提供了快速生成文档和查看文档的工具,很容易编写查看代码文档.在项目协作过程中,可以帮助我们快速理解代码. 查看文档方式有两种:一种是通过终端查看,使用go doc命令,一种是通过网页查看,使 ...

  2. apidoc接口文档的快速生成

    官方文档连接:http://apidocjs.com/#demo apidoc是一个轻量级的在线REST接口文档生成系统,支持多种主流语言,包括Java.C.C#.PHP和Javascript等.使用 ...

  3. .NET项目工程生成一份项目帮助文档chm--Sandcastle工具

    Sandcastle的,由Microsoft创建的,是从创建MSDN风格的文档中使用的工具.NET程序集和关联的XML注释文件.目前的版本是 2010年6月发布.这是命令行并没有GUI前端,项目管理功 ...

  4. 使用Sandcastle工具为.NET项目工程生成一份项目帮助文档chm

    Sandcastle的,由Microsoft创建的,是从创建MSDN风格的文档中使用的工具.NET程序集和关联的XML注释文件.目前的版本是2010年6月发布.这是命令行并没有GUI前端,项目管理功能 ...

  5. net core Webapi基础工程搭建(三)——在线接口文档Swagger

    目录 前言 Swagger NuGet引用第三方类库 别急,还有 没错,注释 小结 前言 前后分离的好处,就是后端埋头做业务逻辑功能,不需要过多考虑用户体验,只专注于数据.性能开发,对于前端需要的数据 ...

  6. LDP - Linux文档工程的简介,包括帮助,向导和文档

    总览 SYNOPSIS Linux文档工程(LDP)为Linux社区提供多种自由文档资源,包括向导 (guide),常见问答 (FAQ),入门 (HOWTO) 以及手册页 (man-pages). 作 ...

  7. 利用Java动态生成 PDF 文档

    利用Java动态生成 PDF 文档,则需要开源的API.首先我们先想象需求,在企业应用中,客户会提出一些复杂的需求,比如会针对具体的业务,构建比较典型的具备文档性质的内容,一般会导出PDF进行存档.那 ...

  8. 拯救你的文档 – 【DevOps敏捷开发动手实验】开源文档发布

    今天上海的天气真是不错,风和日丽.再次来到微软上海紫竹研发中心,心情很是愉快,喜欢这里的大草坪,喜欢这里的工程气氛,更喜欢今天来陪我的小伙伴们. 这次动手实验培训与以往最大的不同就是采用了开源文档的方 ...

  9. 使用Xcode HeaderDoc和Doxygen文档化你的Objective-C和Swift代码

    在一个应用的整个开发过程中涉及到了无数的步骤.其中一些是应用的说明,图片的创作,应用的实现,和实现过后的测试阶段.写代码可能组成了这个过程的绝大部分,因为正是它给了应用生命,但是这样还不够,与它同等重 ...

随机推荐

  1. Web服务并发I/O模型

    I/O模型: 阻塞型.非阻塞型.复用型.信号驱动型.异步 同步/异步: 关注消息通知机制 消息通知: 同步:等待对方返回消息 异步:被调用者通过状态.通知或回调机制通知调用者被调用者的运行状态 阻塞/ ...

  2. 17LaTeX学习系列之---LaTeX的版面设计

    目录 目录 前言 (一)基础知识 1.纸张大小的设置 2.边距的设置 3.页眉页脚的设置 4.横分割线的设置 5.行间距与段间距 (二)实例 1.源代码 2.输出效果: 目录 本系列是有关LaTeX的 ...

  3. Html引入百度富文本编辑器ueditor

    在日常工作用,肯定有用到富文本编辑器的时候,富文本编辑器功能强大使用方便,我用的是百度富文本编辑器,首先需要下载好百度编辑器的demo, 然后创建ueditor.html文件,引入百度编辑器,然后在h ...

  4. 12个HTML和CSS必须知道的重点难点问题

    这12个问题,基本上就是HTML和CSS基础中的重点个难点了,也是必须要弄清楚的基本问题,其中定位的绝对定位和相对定位到底相对什么定位?这个还是容易被忽视的,浮动也是一个大坑,有很多细节.这12个知识 ...

  5. C#异步编程のWPF Invoke和BeginInvoke

    我们先看个简单的例子: private void Window_Loaded(object sender, RoutedEventArgs e) { Console.WriteLine("B ...

  6. matlab数字图像处理 入门基础

    本代码基于张铮主编的<数字图像处理与机器视觉>一书. 源图片:lena A = imread ('lena.jpg'); %读入图像lena.jpg,赋给变量A %imwrite(A,'l ...

  7. Color the ball HDU - 1556 (非线段树做法)

    题意:在1到n的气球中,在不同的区域中涂颜色,问每个气球涂几次. #include<cstdio>int num[100010];int main(){ int n, x, y;; whi ...

  8. Ros使用Arduino 3用rosserial创建一个subscriber

    在前面的一节中,我们已经使用arduino创建了一个publisher节点,接下来将会用arduino来创建一个subscriber,接收电脑传去的信息并做出相应的反应. 1启动Arduino 将ar ...

  9. Unicode(UTF-8, UTF-16)令人混淆的概念(转)

    文章转自http://www.cnblogs.com/kingcat/archive/2012/10/16/2726334.html (http://swiftlet.net/archives/cat ...

  10. leetcode46. Permutations 、47. Permutations II、 剑指offer字符串的排列

    字符串排列和PermutationsII差不多 Permutations第一种解法: 这种方法从0开始遍历,通过visited来存储是否被访问到,level代表每次已经存储了多少个数字 class S ...