Week 1 工程文档
计算器——工程文档
一.输入与格式
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,内容是正确的试题编号和错误的试题编号,每两个编号之间由一个逗号和一个空格隔开。
二.程序结构
程序的大体关系如图所示,由于没有相关软件,先拿画图画了一个。

三.具体实现方法
- 程序的括号
括号随机的生成,保证不造成违法的输入。可能括号内算式的优先级本来就高,加了括号不改变次序,也可能改变计算次序和计算结果。
- 算式的生成
算式生成的方法是,先生成所有互为素数的分子和分母。范围在Range之内,当range过大时,将range缩小为20000。
- 算式的计算
生成中缀表达式,Compute类中的work方法把中缀表达式变为后缀表达式,然后压栈进行计算。
- 答案输出
以字符串格式读入,处理字符串,得到数字栈和符号,依据后缀表达式来计算,最后在栈里的第一个数就是结果。
- 答案格式
答案转成字符串 以字符串格式输出。
Week 1 工程文档的更多相关文章
- Go Doc文档
Go为我们提供了快速生成文档和查看文档的工具,很容易编写查看代码文档.在项目协作过程中,可以帮助我们快速理解代码. 查看文档方式有两种:一种是通过终端查看,使用go doc命令,一种是通过网页查看,使 ...
- apidoc接口文档的快速生成
官方文档连接:http://apidocjs.com/#demo apidoc是一个轻量级的在线REST接口文档生成系统,支持多种主流语言,包括Java.C.C#.PHP和Javascript等.使用 ...
- .NET项目工程生成一份项目帮助文档chm--Sandcastle工具
Sandcastle的,由Microsoft创建的,是从创建MSDN风格的文档中使用的工具.NET程序集和关联的XML注释文件.目前的版本是 2010年6月发布.这是命令行并没有GUI前端,项目管理功 ...
- 使用Sandcastle工具为.NET项目工程生成一份项目帮助文档chm
Sandcastle的,由Microsoft创建的,是从创建MSDN风格的文档中使用的工具.NET程序集和关联的XML注释文件.目前的版本是2010年6月发布.这是命令行并没有GUI前端,项目管理功能 ...
- net core Webapi基础工程搭建(三)——在线接口文档Swagger
目录 前言 Swagger NuGet引用第三方类库 别急,还有 没错,注释 小结 前言 前后分离的好处,就是后端埋头做业务逻辑功能,不需要过多考虑用户体验,只专注于数据.性能开发,对于前端需要的数据 ...
- LDP - Linux文档工程的简介,包括帮助,向导和文档
总览 SYNOPSIS Linux文档工程(LDP)为Linux社区提供多种自由文档资源,包括向导 (guide),常见问答 (FAQ),入门 (HOWTO) 以及手册页 (man-pages). 作 ...
- 利用Java动态生成 PDF 文档
利用Java动态生成 PDF 文档,则需要开源的API.首先我们先想象需求,在企业应用中,客户会提出一些复杂的需求,比如会针对具体的业务,构建比较典型的具备文档性质的内容,一般会导出PDF进行存档.那 ...
- 拯救你的文档 – 【DevOps敏捷开发动手实验】开源文档发布
今天上海的天气真是不错,风和日丽.再次来到微软上海紫竹研发中心,心情很是愉快,喜欢这里的大草坪,喜欢这里的工程气氛,更喜欢今天来陪我的小伙伴们. 这次动手实验培训与以往最大的不同就是采用了开源文档的方 ...
- 使用Xcode HeaderDoc和Doxygen文档化你的Objective-C和Swift代码
在一个应用的整个开发过程中涉及到了无数的步骤.其中一些是应用的说明,图片的创作,应用的实现,和实现过后的测试阶段.写代码可能组成了这个过程的绝大部分,因为正是它给了应用生命,但是这样还不够,与它同等重 ...
随机推荐
- eclipse中SVN报错解决
在Eclipse市场上安装完SVN插件后连接SVN时出现以下错误: SVN: '0x00400006: Validate Repository Location' operation finished ...
- 【PAT】B1074 宇宙无敌加法器(20 分)
打一开始做就听人说这个难,吓得我把它放到了最后做,不过如此嘛. 这里说说样例的坑点 1.最后结果可能高位有0:例如样例结果07201 2.结果会进位, 3.有可能结果是0,(此处取决于你的输出方式) ...
- 寒假集训——搜索 B - Sudoku
#include <stdio.h> #include <stdlib.h> #include <string.h> #include <iostream&g ...
- 最长公共子序列(模板 LCSL)
博客: https://www.cnblogs.com/sasuke-/p/5396843.html 模板 #include<iostream>#include<cstdio> ...
- 1095 Anigram单词
基准时间限制:1 秒 空间限制:131072 KB 分值: 10 难度:2级算法题 收藏 关注 一个单词a如果通过交换单词中字母的顺序可以得到另外的单词b,那么定义b是a的Anigram,例如单词 ...
- D - C Looooops POJ - 2115 欧几里德拓展
题意:就是看看for(; ;)多久停止. 最让我蛋疼的是1L和1LL的区别!让我足足wa了12发! 1L 是long类型的, 1LL为long long类型的! 思路: 这就是欧几里德扩展的标准式子了 ...
- go标准库的学习-strconv-字符串转换
参考:https://studygolang.com/pkgdoc 导入: import "strconv" strconv包实现了基本数据类型和其字符串表示的相互转换. 1)ap ...
- 监控nginx
vi nginx_status.sh #!/bin/bash HOST="127.0.0.1" PORT="9222" # 检测nginx进程是否存在 func ...
- 安装docker后访问外网失败
服务器网段是(172.17)与docker默认桥接的网桥号段相同 docker version 17.03.2-ce 1.centOS6 原文链接 http://www.bubuko.com/info ...
- web安全之攻击
转自 知乎https://www.zhihu.com/question/22953267 作者:潘良虎链接:https://www.zhihu.com/question/22953267/answer ...