哪个网站可以做结婚请柬/百度账号申诉
实验项目
实现安全计数器:实现 Counter 结构,确保计数范围为 0~100。
实验要求:
1、使用 struct 封装计数值value;
2、计数器初值为 0;
3、increment() 方法增加计数,但不能超过 100;
4、decrement() 方法减少计数,但不能小于 0;
5、get_count() 方法返回当前计数值;
6、释放计数器。
7、编写测试代码,注意测试边界条件。
以上1-7用c语言编写
8、用c++构造计数器类,同样包含上述功能,无需测试
提交:
1. 代码
2. 测试用例
3. 过程及结果截图
目录
实验项目
实验步骤、实验结果及结果分析:
1. 代码
1、使用 struct 封装计数值value;
2、计数器初值为 0;
3、increment() 方法增加计数,但不能超过 100;
4、decrement() 方法减少计数,但不能小于 0;
5、get_count() 方法返回当前计数值;
6、释放计数器。
2. 测试用例
7、编写测试代码。
8、用c++构造计数器类,同样包含上述功能
3. 过程及结果截图
实验步骤、实验结果及结果分析:
1. 代码
1、使用 struct 封装计数值value;
typedef struct {int value;
} Counter;
2、计数器初值为 0;
Counter* create_counter() {Counter* counter = (Counter*)malloc(sizeof(Counter));if (counter != NULL) {counter->value = 0; // 初始化为0}return counter;
}
3、increment() 方法增加计数,但不能超过 100;
void increment(Counter* counter) {if (counter->value < 100) {counter->value++;}
}
4、decrement() 方法减少计数,但不能小于 0;
void decrement(Counter* counter) {if (counter->value > 0) {counter->value--;}
}
5、get_count() 方法返回当前计数值;
int get_count(Counter* counter) {return counter->value;
}
6、释放计数器。
void destroy_counter(Counter* counter) {free(counter);
}
2. 测试用例
7、编写测试代码。
// 创建计数器Counter* counter = create_counter();// 测试初始值printf("Initial count: %d \n", get_count(counter));// 测试增加到上限for (int i = 0; i < 105; i++) {increment(counter);}printf("After 105 increments: %d \n", get_count(counter));// 测试减少到下限for (int i = 0; i < 105; i++) {decrement(counter);}printf("After 105 decrements: %d \n", get_count(counter));// 测试边界附近的单个操作increment(counter);printf("After increment at 0: %d \n", get_count(counter));increment(counter);printf("After increment at 0: %d \n", get_count(counter));decrement(counter);printf("After decrement at 1: %d \n", get_count(counter));decrement(counter);printf("After decrement at 1: %d \n", get_count(counter));decrement(counter);printf("After decrement at 1: %d \n", get_count(counter));// 边界精确测试 for (int i = 0; i < 100; i++) increment(counter); printf("After exactly 100 increments: %d\n", get_count(counter)); // 混合操作测试 for (int i = 0; i < 200; i++) {if (i % 3 == 0) decrement(counter);else increment(counter); } printf("After mixed 200 operations: %d\n", get_count(counter)); // 释放计数器destroy_counter(counter);
8、用c++构造计数器类,同样包含上述功能
#include <iostream>
class Counter {
private:int value;
public:// 1. 使用类封装计数值value// 2. 构造函数初始化计数器为0Counter() : value(0) {}// 3. increment()方法增加计数(不超过100)void increment() {if (value < 100) {value++;}}// 4. decrement()方法减少计数(不小于0)void decrement() {if (value > 0) {value--;}}// 5. get_count()方法返回当前计数值int get_count() const {return value;}// 6. 析构函数自动释放资源~Counter() = default;
};
3. 过程及结果截图
计数器程序运行结果符合预期,边界条件和操作逻辑都实现。