设为首页
收藏本站
开启辅助访问
切换到窄版
登录
立即注册
中问网首页
我的收藏
站长博客
搜索
搜索
本版
帖子
用户
第一问答网
»
论坛
›
中问网
›
问答
›
怎样把身份证号码用C++的结构体表示,像截取前两位,并 ...
返回列表
发新帖
怎样把身份证号码用C++的结构体表示,像截取前两位,并是整型的
[复制链接]
11
|
3
|
2011-5-1 02:15:13
|
显示全部楼层
|
阅读模式
要求输入一串18位的省份证号码,能显示出出生省市,出生日期以及性别(为只要表达出意思即可,省市只写北京的就行)
注:省份证前两位表示省份(如11XXXXXXXXXXXXXXXX,11表示北京)
第7-14位表示出生日期(如XXXXXX19810529XXXX,出生日期位19810529)
第17位表示性别,奇数是男,偶数是女(如XXXXXXXXXXXXXXXXX2X,性别是女)
要求用C++的知识,身份证号用结构体,输出省份时用switch语句
回复
使用道具
举报
千问
|
2011-5-1 02:15:13
|
显示全部楼层
取子串用s.substr(a,b)
从下标a开始持续b位如XXXXXX19810529XXXX即s.substr(6,8) 由字符串转整数有stringstream stringstream (ss) ss>t;
回复
使用道具
举报
千问
|
2011-5-1 02:15:13
|
显示全部楼层
用switch的话必须是整数类型,假设输入的是char*字符串,用char[0],和char[1],判断是什么数字,赋值给一个整数,如int型的,可以这样int province=(char[0]-'0')*10+(char[1]-'0');然后对province进行switch。 这么一串字符串不用搞结构体
回复
使用道具
举报
千问
|
2011-5-1 02:15:13
|
显示全部楼层
不需要结构体,一维数组就可以了,或struct ID{char province [2];char null [4];char birth [8];char null2[2];char sex [1]}
回复
使用道具
举报
返回列表
发新帖
高级模式
B
Color
Image
Link
Quote
Code
Smilies
您需要登录后才可以回帖
登录
|
立即注册
本版积分规则
发表回复
回帖后跳转到最后一页
千问
主题
0
回帖
4882万
积分
论坛元老
论坛元老, 积分 48824836, 距离下一级还需 -38824837 积分
论坛元老, 积分 48824836, 距离下一级还需 -38824837 积分
积分
48824836
加好友
发消息
回复楼主
返回列表
问答
热门排行