⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 main.c

📁 这是一个用c语言编写的
💻 C
字号:
#include <stdio.h>
#include <string.h>

#define age   (107-((arrNewID[8]-'0')*10 + (arrNewID[9]-'0')))
#define month ((arrNewID[10]-'0')*10 + (arrNewID[11]-'0'))
#define day   ((arrNewID[12]-'0')*10 + (arrNewID[13]-'0')) 
#define year  ((arrNewID[6]-'0')*1000 + (arrNewID[7]-'0')*100 +(arrNewID[8]-'0')*10+(arrNewID[9]-'0'))  


int IdConvert(char oldID[] , char newID[18])
{	
    char verify[11] = "10X98765432";
	char numSave[15];	
	int Q[17] = {7,9,10,5,8,4,2,1,6,3,7,9,10,5,8,4,2};
	int i,j,sum=0;

	if(strlen(oldID) == 15)
	{
		for(i=0; i<15; i++)
		{
			if(oldID[i]>='0' && oldID[i]<='9')     //如果输入的15位数是合法的			
				numSave[i] = oldID[i];				                
			else
				return -1;		                  //如果输入的数不合法,重新输入
		}		
	}
	else
	{
		return -2;		                         //如果输入的位数不是15位,重新输入
	}
    
    newID[6] = '1';
	newID[7] = '9';
	for(i=0; i<6; i++)
	{
		newID[i] = numSave[i];
	}

	for(i=8,j=6; i<17,j<15; i++,j++)
	{
		newID[i] = numSave[j];
	}

	for(i=0; i<17; i++) 
    { 
        sum += (newID[i]-'0') * Q[i];   
    }     
    newID[17] = verify[sum % 11]; 	
	return 1;
}


int main()
{
	char arrOldID[15];
	char arrNewID[18];
	int funResult,i;	
	       
    printf("请您输入您的旧身份证号码:\n"); 
	while(1)
	{
		scanf( "%s", arrOldID ); 		
        funResult = IdConvert(arrOldID ,arrNewID);
		switch(funResult)
		{
		   case -1:			   
		          printf("输入了非数字数据,为无效身份证号码!\n");
		          continue;		
		    case -2:
			      printf("您输入的位数是%d,不等于15,请重新输入\n",strlen(arrOldID));
		          continue;		
		    case 1:
			      printf("新的身份证号码是:");
				  for(i =0; i<18; i++)
				  {
		           printf("%c",arrNewID[i]);
				  }
				  printf("\n你出生于:%d年%d月%d日\n",year,month,day);
				  printf("年龄:%d\n",age);	
				  if(arrNewID[16]%2 ==0 )
					  printf("性别:女\n");
				  else
					  printf("性别:男\n");  

	              printf("转化成功!\n");
			      break;
		}
		return 0;
	}	
}
       




			



	
	

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -