2020面向对象程序设计寒假作业2 题解

编程题

题目

题目要求

  1. 实现以 汉字 为变量名的,范围为 零至九十九整数

  2. 实现 整数......等于 操作,使得上述变量得以申请与赋初值

  3. 实现 增加减少 操作,使得上述变量得以修改

  4. 实现 看看 操作,使得上述变量的值得以输出

可能存在的要求:

  1. 实现 整数 操作,使得申请上述变量

  2. 实现 等于 操作,给上述变量赋值

  3. 设计错误抛出,避免程序崩溃

需求分析

  1. 输入输出全为中文,需要实现汉字与阿拉伯数字的互相转化

  2. 对于非法的输入,需要实现对非法输入的发现与错误的抛出

  3. 对于定义、增加、减少、赋值语句的实现

  4. 对语句的识别

思考过程

由于变量的个数是未知的,故全过程涉及到的类,包括:变量库(VariableRepository)、数字库(NumberRepository)、操控者(World)

下面分别考虑各个类(下面提到的方法不涉及构造方法与析构方法):

类名 属性 方法
变量库
(VariableRepository)
1. 用 vector 储存的变量值(variableValue)
2. 用 map 实现的,从变量名到变量地址的映射(variableMap)
1. 查询变量地址(VariableFind)
2. 申请新变量(VariableApply)
3. 变量赋值(VariableAssign)
4. 变量增加(VariableAdd)
5. 变量减少(VariableMinus)
6. 变量输出(VariableShow)
数字库
(NumberRepository)
1. 用 vector 实现的数字汉字转化(numberChar) 1. 汉字转数字(ToNumber)
2. 数字转汉字(ToChar)
操控者
(World)
1. 用 string 实现的指令(order)
2. 变量库(variable)
3. 数字库(number)
1. 指令输入(Input)
2. 指令识别(Understand)
3. 变量修改(Update)
4. 变量申请(Apply)
5. 变量输出(Print)
6. 抛出错误变量不存在(NotExist)
7. 抛出错误变量已申请(Applied)
8. 抛出错误数字错误(NumberError)
9. 抛出错误语句无法识别(CanNotUnderstand)
10.运行(Run)

猜你喜欢

转载自www.cnblogs.com/JustinRochester/p/12239933.html