某连锁酒店共有11栋楼,用11个大写英文字母A~K表示楼号。每栋楼的层数为8层,代号1~8,每层楼有50个房间,编号为01~50。表示某个房间时,用一个字母加3位数字表示,如“D830”表示D楼第8层的30室。该酒店采用软件系统对房间进行管理。系统运行时,若输入的房间号不正确,将不予接受,并显示输入无效。 要求采用等价类划分法设计测试用例,来测试系统的"房间检查功能"。
时间: 2023-06-07 11:08:14 浏览: 54
首先对输入的房间号进行等价类划分:
有效房间号:包含11个大写英文字母A~K,每个字母后面跟着三个数字,数字范围为01~50
无效房间号:包含不在上述规定范围内的字母或数字,格式不正确的房间号
接下来列出测试用例:
有效房间号:
1. 输入 A010,期望输出“输入有效”
2. 输入 F550,期望输出“输入有效”
3. 输入 K203,期望输出“输入有效”
无效房间号:
1. 输入 L101,期望输出“输入无效”
2. 输入 A005,期望输出“输入无效”
3. 输入 M103,期望输出“输入无效”
4. 输入 D178,期望输出“输入无效”
5. 输入 B8C,期望输出“输入无效”
6. 输入 A0034,期望输出“输入无效”
7. 输入 G-10,期望输出“输入无效”
相关问题
查询跟张三在同一个宿舍的人的情况,包括学号、姓名、宿舍号、楼号、楼名
您可以使用以下SQL查询来检索与张三在同一个宿舍的人的信息:
```sql
SELECT s.student_id, s.student_name, r.dorm_number, b.building_number, b.building_name
FROM students s
JOIN rooms r ON s.dorm_id = r.dorm_id
JOIN buildings b ON r.building_id = b.building_id
WHERE s.student_name = '张三';
```
这个查询使用了三个表:students(学生信息表)、rooms(宿舍信息表)和buildings(楼栋信息表)。通过连接这些表,我们可以获取到与张三在同一个宿舍的人的学号、姓名、宿舍号、楼号和楼名。
请注意,这是一个伪代码示例,您需要根据实际的数据库结构和表名进行适当的调整。希望这对您有所帮助!
基于STM32的四层电梯控制,要求:有一个数码关显示当前电梯的楼号,用两个LED灯显示电梯上行、下行和停止,用按键来控制我们所到达的楼层,要求写出每一行代码的注释,
这是一个比较复杂的嵌入式系统项目,需要进行硬件和软件的开发。以下是示例代码,其中包含注释以帮助理解。但由于硬件平台和具体需求不同,实际项目代码可能会有所不同。
```
// 定义常量
#define FLOOR_NUM 4 // 电梯的楼层数
#define UP_LED_PIN 1 // 上行LED的引脚号
#define DOWN_LED_PIN 2 // 下行LED的引脚号
#define DIGIT_LED_PIN 3 // 数码管的引脚号
// 定义变量
int current_floor = 1; // 当前所在楼层,默认为1
int target_floor = 1; // 目标楼层,默认为1
int direction = 0; // 电梯运行方向,0表示停止,1表示上行,-1表示下行
void setup() {
// 初始化引脚模式
pinMode(UP_LED_PIN, OUTPUT);
pinMode(DOWN_LED_PIN, OUTPUT);
pinMode(DIGIT_LED_PIN, OUTPUT);
// 初始化数码管显示
displayDigit(current_floor);
}
void loop() {
// 检测按键状态,更新目标楼层
int buttonState = digitalRead(BUTTON_PIN);
if (buttonState == HIGH) {
target_floor = getButtonFloor();
}
// 更新电梯运行状态
if (target_floor > current_floor) {
direction = 1; // 上行
} else if (target_floor < current_floor) {
direction = -1; // 下行
} else {
direction = 0; // 停止
}
// 更新当前楼层,并更新数码管和LED灯显示
if (direction != 0) {
current_floor += direction;
displayDigit(current_floor);
updateLed();
}
// 延时一段时间,避免频繁更新状态
delay(1000);
}
// 显示一个数字到数码管上
void displayDigit(int digit) {
// 这里是数码管显示的代码
}
// 更新LED灯的状态
void updateLed() {
if (direction > 0) {
digitalWrite(UP_LED_PIN, HIGH);
digitalWrite(DOWN_LED_PIN, LOW);
} else if (direction < 0) {
digitalWrite(UP_LED_PIN, LOW);
digitalWrite(DOWN_LED_PIN, HIGH);
} else {
digitalWrite(UP_LED_PIN, LOW);
digitalWrite(DOWN_LED_PIN, LOW);
}
}
// 获取按键对应的楼层,需要根据实际情况修改
int getButtonFloor() {
// 这里是获取按键对应楼层的代码
}
```
以上代码仅作为参考,实际开发中需要根据具体需求进行修改和优化。同时,硬件电路的设计和连接也需要仔细考虑。