四则运算可能需要注意的地方V1.1
作业:https://edu.cnblogs.com/campus/nenu/SWE2017FALL/homework/997
文档下载:https://coding.net/u/Dawnfox/p/f4/git/tree/master/doc
Vesion | 开始时间 | 结束时间 | 备注 |
---|---|---|---|
(V1.0) | 2017/10/4 9:44:22 | 2017/10/4 11:33:12 | 初稿总结 |
(V1.1) | 2017/10/4 15:57:08 | 2017/10/4 16:00:57 | 补充题目自动生成,并非用户手动输入 |
备忘:用于最后检验代码的功能是否完善,有遗漏的地方之后再补充。
一、正文
可执行文件(.exe)的文件名为f4,“>”表示可执行文件所在的文件目录,四则运算的题目是由程序生成而并非用户手动输入,用户只输入题目数量或者计算的结果。
功能1
仅支持四则基础运算,此时不支持括号。
a. 四则基础运算是指加(+),减(-),乘(*),除(/)。
b. 操作数的范围题目没明确指出,此处限定操作数的范围为-9999~9999,操作数应为整数或分数。
c. 功能1限定题目数量为20道。
d. 输入格式
在控制台输入“f4 回车”(无命令行参数)。
用户计算出的表达式结果的输入格式为“?a”,a为正确答案。如“?10”。
e. 输出格式
如果用户输入答案与题目正确的答案相等,则输出“答对啦,你真是天才!”,否则输出“再想想吧,答案似乎是(正确答案数字)喔!”。
用户答完20道题后,最后输出“你一共答对a道题,共b道题”。a为答对的题数量,b为题的总数,此时为20。还需注意最后这句话上面有一行空行。
f. 分数
1/3 != 0.33333333333333333333333333333333,而是无限长。该段话说明分数能够除尽时则可以用小数表示,否则应为分数形式。
功能2
在功能1基础上进行拓展,支持括号。
a. 括号此处只包括小括号(),不包括中括号[]与大括号{}。
b. 其他注意事项见功能1。
功能3
可定制题目数量,生成的题目两两之间不相同,将题目与正确答案打印到控制台与txt文件中。
a. 参数意义
两个命令行参数,参数1为-c,参数2代表题目数量。例:f4 -c 5 回车,该命令表示生成5道题目。
b. 参数格式
代表题目数量的参数2必须为正整数,如果为负数、小数、字符串、0或其他格式的不合法参数,输出“题目数量必须是 正整数。”。例:
f4 -c -200
题目数量必须是 正整数。
c. 相同题目的定义
普遍认为的相同题目是指题目A与题目B的操作符与操作数数量、顺序与形式都一致,如:题目A为1+2+3+4,而题目B为1+2+3+4。此处还需对“相同题目”进行定义,指看起来不一样的表达式通过交换律、结合律、分配律变换成另一道题目。如:题目A为12+32,题目B为2(1+3)+0。
d. 输出方式
“你忘记怎么调用打印机了,就把答案与题目横向对齐,输出在文件的右边。告诉老师txt文件可以用WORD打开,也能打印。”从这句话推断出,功能3不仅需要在控制台输出题目与正确答案,同时需要将题目与正确答案记录在相应的txt文件中。
e. 输出格式
答案与题目横向对齐,输出在文件的右边。需要注意题目是左对齐,而答案则是题目水平右侧且答案的第一个数字竖直方向对齐。例:
f4 -c 3
1+2(3+4)= 15
(1+2)3+5= 14
((1/2)-4)5= 17.5
功能4
待定,附加题,暂不考虑
四则运算可能需要注意的地方V1.1的更多相关文章
- [转]使用spring中的@Transactional注解时,可能需要注意的地方
前情提要 在编写业务层方法时,会遇到很多需要事务提交的操作,spring框架为我们提供很方便的做法,就是在需要事务提交的方法上添加@Transactional注解,比起我们自己开启事务.提交以及控制回 ...
- 使用spring中的@Transactional注解时,可能需要注意的地方
前情提要 在编写业务层方法时,会遇到很多需要事务提交的操作,spring框架为我们提供很方便的做法,就是在需要事务提交的方法上添加@Transactional注解,比起我们自己开启事务.提交以及控制回 ...
- [转]keil使用详解
第一节 系统概述 Keil C51是美国Keil Software公司出品的51系列兼容单片机C语言软件开发系统,与汇编相比,C语言在功能上.结构性.可读性.可维护性上有明显的优势,因而易学易用.用过 ...
- 设计模式(一):“穿越火线”中的“策略模式”(Strategy Pattern)
在前段时间呢陆陆续续的更新了一系列关于重构的文章.在重构我们既有的代码时,往往会用到设计模式.在之前重构系列的博客中,我们在重构时用到了“工厂模式”.“策略模式”.“状态模式”等.当然在重构时,有的地 ...
- *HDU2254 矩阵乘法
奥运 Time Limit: 1000/1000 MS (Java/Others) Memory Limit: 65536/65536 K (Java/Others)Total Submissi ...
- ENode框架Conference案例分析系列之 - ENode框架初始化
前言 Conference案例是使用ENode框架来开发的.之前我没有介绍过ENode框架是如何启动的,以及启动时要注意的一些点,估计很多人对ENode框架的初始化这一块感觉很复杂,一头雾水.所以,本 ...
- Log4j 与 Logback的ConversionPattern对比
为了能将log4j的配置无缝转到logback,需要了解其中ConversionPattern的差异,以下是对比表格,内容来自: log4j官网 logback官网 其中可能需要转换的地方主要有两块: ...
- 温故而知新 OOP
设计原则1: 找出应用中可能需要发生改变的地方,把它们独立出来,不要和那些不需要变化的代码混在一起换句话说,如果每次新的需求一来,都会使某方面的代码发生变化,此时你就可以确定,这部分代码属于不稳定代码 ...
- springmvc源码分析
Spring MVC源码分析--初始化过程 标签: springmvcconstructioniocclass 2012-09-09 21:32 26578人阅读 评论(3) 收藏 举报 版权声明:本 ...
随机推荐
- 文件操作_26th,Nov 2018
文件:操作系统问应用程序或用户提供一种操作硬盘的虚拟单位 --文件时操作系统提供的虚拟单位 --应用程序或用户对文件的读写操作都是向操作系统发送指令 --文件包括文本文件和二进制文件 为何要用文件:文 ...
- python QMainWindow QWidget
from PyQt5 import QtWidgetsfrom untitled import Ui_MainWindowfrom PyQt5.QtWidgets import QFileDialog ...
- laravel文件上传(本人使用的ftp驱动配置,本地测试总结)
1.电脑端在:控制面板->程序和功能->打开和关闭Window功能,安装:Internet信息服务的(Ftp服务器,web管理工具的IIS管理服务,万网服务的常见http功能) 2.在电脑 ...
- docker图形化管理工具portainer
本章主要介绍docker的web图形化管理工具.这里使用 portainer(类似与dockui不过dockerui只支持单节点) 镜像名称 portainer/portainer 一.启动porta ...
- 每天CSS学习之text-shadow
今天学习的是CSS3的一个属性text-shadow.该属性能映射出文字的阴影. text-shadow一共就四个属性: text-shadow: h-shadow v-shadow [blur] ...
- 【转载一】Grafana –美观、强大的可视化监控指标展示工具
在之前的InfluxDB系列教程 中,我们给大家介绍了当下流行的一款时序数据库--InfluxDB. 接下来给大家带来一款强大的,与InfluxDB搭配使用的前端指标项展示项目--Grafana. G ...
- 十三. Python基础(13)--生成器进阶
十三. Python基础(13)--生成器进阶 1 ● send()方法 generator.send(value) Resumes the execution, and "sends&qu ...
- 2.16 C++类与new和delete操作符
参考: http://www.weixueyuan.net/view/6347.html 总结: 当我们需要为类对象动态分配存储空间时,我们应该使用C++语言提供的new与new[]操作符,而不要使用 ...
- 1.6socket服务器传送文件--gui窗口
socket服务器代码 import sys,os,time,_thread from socket import * class Server(object): def __init__(self) ...
- Office 365 - For security reasons DTD is prohibited in this XML document
博客地址:http://blog.csdn.net/FoxDave 今天在测试东西的时候发现在本机运行CSOM代码或使用Office 365 PowerShell时,出现了如下错误: Connec ...