第一周实验

这个项目来自于网络下载。
运行环境是devc++,
之前的代码是:#include
using namespace std;

int main() {
char op;
float num1, num2;

cout << "Enter operator (+, -, *, /): ";
cin >> op;

cout << "Enter two numbers: ";
cin >> num1 >> num2;

switch (op) {
    case '+':
        cout << "Result: " << num1 + num2 << endl;
        break;
    case '-':
        cout << "Result: " << num1 - num2 << endl;
        break;
    case '*':
        cout << "Result: " << num1 * num2 << endl;
        break;
    case '/':
        if (num2 != 0) {
            cout << "Result: " << num1 / num2 << endl;
        } else {
            cout << "Error: Division by zero!" << endl;
        }
        break;
    default:
        cout << "Invalid operator!" << endl;
        break;
}

return 0;

}
主要问题及改善如下:代码的可读性和可维护性较差,同时添加、删除或修改有效运算符也比较麻烦,所以我使用 STL 的 algorithm 和 vector,使用了 algorithm 中的 find 函数和 vector 来存储有效的运算符。如果用户输入的除数为零,程序会显示错误消息。我加了对除数为零的错误处理这样可以提高程序的健壮性,避免出现除以零的错误。同时修改后的代码变量和函数名的选择也尽量符合语义,使得代码更加清晰。
新代码为:

include

include

include

using namespace std;

int main() {
char op;
float num1, num2;

cout << "Enter operator (+, -, *, /): ";
cin >> op;

cout << "Enter two numbers: ";
cin >> num1 >> num2;

vector<char> validOperators = {'+', '-', '*', '/'};
if (find(validOperators.begin(), validOperators.end(), op) != validOperators.end()) {
    switch (op) {
        case '+':
            cout << "Result: " << num1 + num2 << endl;
            break;
        case '-':
            cout << "Result: " << num1 - num2 << endl;
            break;
        case '*':
            cout << "Result: " << num1 * num2 << endl;
            break;
        case '/':
            if (num2 != 0) {
                cout << "Result: " << num1 / num2 << endl;
            } else {
                cout << "Error: Division by zero!" << endl;
            }
            break;
    }
} else {
    cout << "Invalid operator!" << endl;
}

return 0;

}

总结:优化项目时,我们通常会关注性能方面的改进,比如减少代码的执行时间、减少内存占用等。我们可以思考哪些部分的性能可以进一步优化,以及采取什么样的方法来实现这些优化。也可能会发现一些代码质量方面的问题,比如重复代码、耦合度过高等。我们可以思考如何改进代码质量,使代码更易于维护和扩展。优化不仅仅是为了提高性能,还要考虑代码的可读性和可维护性。我们可以思考如何使代码更易于理解和修改,以及如何添加适当的注释和文档。

posted @ 2024-03-04 22:32  Elont  阅读(25)  评论(0)    收藏  举报