EAN13码 校验位 Cpp 代码
时间: 2023-12-14 07:04:12 浏览: 23
以下是一个计算EAN13码校验位的Cpp代码示例:
```cpp
#include <iostream>
#include <string>
using namespace std;
int main() {
string code;
cout << "请输入12位EAN13码:" << endl;
cin >> code;
if (code.length() != 12) {
cout << "EAN13码必须为12位!" << endl;
return 0;
}
int sum = 0;
for (int i = 0; i < code.length(); i++) {
int num = code[i] - '0';
if (i % 2 == 0) {
sum += num * 1;
} else {
sum += num * 3;
}
}
int check_bit = (10 - (sum % 10)) % 10;
cout << "校验位为:" << check_bit << endl;
cout << "完整的EAN13码为:" << code << check_bit << endl;
return 0;
}
```
该程序会要求用户输入12位的EAN13码,然后计算出校验位,并输出完整的EAN13码。程序的计算方法遵循EAN13码的规则,即将偶数位的数字乘以1,奇数位的数字乘以3,然后将所有数字相加并取10的余数,最后再用10减去余数得到校验位。