#include <iostream> using namespace std; class LoopCounter { private: int lower; // 下限 int upper; // 上限 int current; // 当前值 public: LoopCounter(int lower, int upper, int current) { this->lower = lower; this->upper = upper; this->current = current; } void add(int num) { // 加操作 current += num; while (current > upper) { // 超过上限,从下限重新开始 current -= (upper - lower + 1); } } void minus(int num) { // 减操作 current -= num; while (current < lower) { // 小于下限,从上限重新开始 current += (upper - lower + 1); } } void show() { // 显示当前值 cout << lower << " " << upper << " " << current << endl; } }; int main() { char op; int lower, upper, current, num; cin >> op; cin >> lower >> upper >> current; LoopCounter lc(lower, upper, current); // 初始化 while (op != 'D') { // 不断进行操作 switch (op) { case 'A': // 初始化 cin >> lower >> upper >> current; lc = LoopCounter(lower, upper, current); lc.show(); break; case 'B': // 加操作 cin >> num; lc.add(num); lc.show(); break; case 'C': // 减操作 cin >> num; lc.minus(num); lc.show(); break; default: break; } cin >> op; } return 0; }
时间: 2024-02-14 09:08:06 浏览: 126
这是一段 C++ 代码,实现了一个 LoopCounter 类,可以进行加减操作,并且在超过上限或小于下限时会从另一端重新开始计数。主函数中使用了一个 while 循环,不断进行操作,直到输入字符为 'D' 时退出循环。在 'A' 操作中,会重新初始化 LoopCounter 对象。在 'B' 和 'C' 操作中,会进行加减操作,并且输出当前值。
阅读全文