1. bool checkID(string strIDNum) {
    2. int weight[] = {7, 9, 10, 5, 8, 4, 2, 1, 6, 3, 7, 9, 10, 5, 8, 4, 2};
    3. char validate[] = {'1', '0', 'X', '9', '8', '7', '6', '5', '4', '3', '2'};
    4. int sum = 0;
    5. int mode = 0;
    6. int i = 0;
    7. int length = strIDNum.length();
    8. if (length == 18) {
    9. for (
    10. i = 0;
    11. i < length - 1; i++) {
    12. sum = sum + (strIDNum[i] - '0') * weight[i];
    13. }
    14. mode = sum % 11;
    15. if (validate[mode] == strIDNum[17]) {
    16. return true;
    17. }
    18. }
    19. return false;
    20. }