zoukankan
html css js c++ java
一个身份证号码转换程序
/**/
/*
* 身份证号码结构:
* 十七位数字本体 + 一位校验码
* 从左到右依次为:
* 六位数地址码+八位数出身日期+三位数顺序码和一位校验码
* 地址码 : 由出生地区行政码划分
* 年出生日期码 : 年月日,之间不用分隔符
* 顺序码 : 同年同月同日生,男为奇数,女为偶数
* 校验码 : (1)十七位数字本体码加权求和公式
* s = sum(ai*wi),i=0,...,16
* ai: 第i位置上的身份证号码数字值
* wi: 第i位置上的加权因子
* wi: 7 9 10 5 8 4 2 1 6 3 7 9 10 5 8 4 2
* (2)求模
* Y = mod(s,11)
* (3)通过模得到对应的校验码
* Y: 0 1 2 3 4 5 6 7 8 9 10
* 校验码: 1 0 X 9 8 7 6 5 4 3 2
*/
/**/
/////////////////////////////////////////////////////////
//
#include
<
iostream
>
#include
<
fstream
>
#include
<
cstdlib
>
#include
<
assert.h
>
#pragma
warning(disable:4786)
using
namespace
std;
/**/
/////////////////////////////////////////////////////////
//
//
参数入口定义
#define
IN
#define
OUT
//
常用值定义
#define
FALSE 0
#define
TRUE !(FALSE)
const
int
MODIFY_SPLITER
=
1
;
const
int
MODIFY_LENGTH
=
2
;
//
对应表格定义
//
加权因子
const
unsigned
int
w[
17
]
=
...
{
7
,
9
,
10
,
5
,
8
,
4
,
2
,
1
,
6
,
3
,
7
,
9
,
10
,
5
,
8
,
4
,
2
}
;
//
校验码
const
char
check_code[
11
]
=
...
{
'
1
'
,
'
0
'
,
'
X
'
,
'
9
'
,
'
8
'
,
'
7
'
,
'
6
'
,
'
5
'
,
'
4
'
,
'
3
'
,
'
2
'
}
;
/**/
/////////////////////////////////////////////////////////
//
//
函数声明
/**/
///////////////////////////////////////////////////////////////////////////
//
这个函数从OOP角度讲应该是private属性的
//
----------------------------------------------------------------------
//
void
ChangeIDInLine(IN
const
char
*
source, OUT
char
*
dest, IN unsigned
int
from);
/**/
/*
【source】: 以'
/*
*
* Copyright (c) 2011 Ubunoon.
* All rights reserved.
*
* email: netubu#gmail.com replace '#' to '@'
* http://www.cnblogs.com/ubunoon
* 欢迎来邮件定制各类验证码识别,条码识别,图像处理等软件
* 推荐不错的珍珠饰品,欢迎订购 *
宜臣珍珠(淡水好珍珠)
*/
查看全文
相关阅读:
java开发中遇到的问题及解决方法(持续更新)
java.lang.UnsatisfiedLinkError: no XXX in java.library.path
JNI与JNA性能比较
JNA—JNI终结者
JNI的替代者—使用JNA访问Java外部功能接口
iOS开发UI篇—多控制器和导航控制器简单介绍
李洪强iOS开发-网络新闻获取数据思路回顾
iOS开发UI篇—Date Picker和UITool Bar控件简单介绍
iOS开发UI篇—程序启动原理和UIApplication
iOS开发UI篇—常见的项目文件介绍
原文地址:https://www.cnblogs.com/ubunoon/p/2058928.html
最新文章
(转)教你手工mysql拆库
(转)mysql自增列导致主键重复问题分析
(转)线程池总结(二)
(转)MYSQL线程池总结(一)
(转)MySQL备份原理详解
关于父类私有属性在子类构造函数中super调用的解释
简单了解json以及使用google json 2.2
进制的转换
简单使用dom4j
JDK配置 java跨平台性
热门文章
MYeclipes项目导入导出
U盘安装linix
java 生成xml文件
java读取xml文件
函数
Java集合类: Set、List、Map、Queue使用场景梳理
java提高篇(九)-----详解匿名内部类
ObjectOutputStream 追加写入读取错误
ObjectOutputStream 追加写入读取错误
JAVA JNI
Copyright © 2011-2022 走看看