综合评价——功效系数法 C++代码
时间: 2023-09-03 10:10:45 浏览: 74
功效系数法是一种综合评价方法,其核心思想是将每个指标的重要性进行量化,计算出其权重,再根据数据对每个指标的表现进行评分,最后通过加权求和得到综合评价结果。
以下是使用C++实现功效系数法的代码示例:
```c++
#include <iostream>
#include <vector>
using namespace std;
// 定义一个结构体,表示每个指标的权重和得分
struct Index {
double weight; // 权重
double score; // 得分
};
// 计算每个指标的权重
vector<double> calcWeight(const vector<double>& importance) {
vector<double> weight(importance.size());
double sum = 0;
for (int i = 0; i < importance.size(); i++) {
sum += importance[i];
}
for (int i = 0; i < importance.size(); i++) {
weight[i] = importance[i] / sum;
}
return weight;
}
// 计算综合评价分数
double calcScore(const vector<Index>& indices) {
double score = 0;
for (int i = 0; i < indices.size(); i++) {
score += indices[i].weight * indices[i].score;
}
return score;
}
int main() {
// 输入每个指标的重要性
vector<double> importance = {0.3, 0.5, 0.2};
// 计算每个指标的权重
vector<double> weight = calcWeight(importance);
// 输入每个指标的得分
vector<Index> indices = {{weight[0], 80}, {weight[1], 90}, {weight[2], 70}};
// 计算综合评价分数
double score = calcScore(indices);
// 输出结果
cout << "综合评价分数为:" << score << endl;
return 0;
}
```
在这个示例中,我们首先输入了每个指标的重要性,然后通过计算得到每个指标的权重。接着,我们输入每个指标的得分,并将权重和得分组合成一个结构体。最后,我们通过加权求和计算出综合评价分数,并将其输出。