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

📄 id2.c

📁 Checking out the ID number
💻 C
字号:
#include <stdio.h>
#include <string.h>
#include <conio.h>
#include <ctype.h>
#include <stdlib.h>

void Get(char* id);
void ShowError(void);
int Check1(char* id);
int Check2(char* id,char* num);
void Account1(char* id, char* num);
void Account2(char* id,char* num);
int Retry(void);
int Quit(void);


int main(void)
{
    char ID[10],Num[11];
    int a;
   
    do
    {
         Get(ID);
         if((Check1(ID)==0)||(Check2(ID,Num)==0))
         {
             ShowError();
         }
         else
         {
             Account1(ID,Num);
             Account2(ID,Num);
             printf("\nYour ID is as following: %s%d\n",ID,Num[10]);
         }
         a = Retry();
    }while(a==1);
         
    Quit();
}

void Get(char* id)
{
     int a;     

     printf("Please enter 9 digits for your ID number including the letter:\n");     
     id[0] = getch();
     id[0] = toupper(id[0]);
     printf("*");
     for(a=1; a<9; a++)
     {
          id[a] = getch();
          printf("*");
     }
     id[9]='\0';
}

int Check1(char* id)
{
     if((id[0]<=65)||(id[0]>=90))
     {
         return 0;
     }
     return 1;
}

int Check2(char* id, char* num)
{
    int a;

    for(a=1; a<9; a++)
    {
        if((id[a]>='0')&&(id[a]<='9'))
        {
            num[a+1]=id[a] - '0';
        }
        else
        {
            return 0;
        }
    }
    num[11]='\0';
    return 1;
}

void Account1(char* id, char* num)
{
      if(((id[0]>=65)&&(id[0]<=72))||(id[0]==74)||(id[0]==75))
      {
          num[0] = 1;
      }
       else if(((id[0]>=76)&&(id[0]<=78))||(id[0]>=80)||(id[0]<=86))
       {
           num[0] = 2;
       }
        else if((id[0]>=87)&&(id[0]<=90)||(id[0]==73)||(id[0]==79))
        {
            num[0] = 3;
        }
}

void Account2(char* id,char* num)
{
     int Total;
     switch (id[0])
     {
            case 'A' :
            case 'L' :
            case 'W' :
                 num[1] = 0;
                 break;
            case 'B' :
            case 'M' :
            case 'X' :
                 num[1] = 1;
                 break;
            case 'C' :
            case 'N' :
            case 'Y' :
                 num[1] = 2;
                 break;
            case 'D' :
            case 'P' :
            case 'Z' :
                 num[1] = 3;
                 break;
            case 'E' :
            case 'Q' :
            case 'I' :
                 num[1] = 4;
                 break;
            case 'F' :
            case 'R' :
            case 'O' :
                 num[1] = 5;
                 break;
            case 'G' :
            case 'S' :
                 num[1] = 6;
                 break;
            case 'H' :
            case 'T' :
                 num[1] = 7;
                 break;
            case 'J' :
            case 'U' :
                 num[1] = 8;
                 break;
            case 'K' :
            case 'V' :
                 num[1] = 9;
                 break;
     }
      
     num[1]=num[1]*9;
     num[2]=num[2]*8;
     num[3]=num[3]*7;
     num[4]=num[4]*6;
     num[5]=num[5]*5;
     num[6]=num[6]*4;
     num[7]=num[7]*3;
     num[8]=num[8]*2;
     num[9]=num[9]*1;
     Total=num[0]+num[1]+num[2]+num[3]+num[4]+num[5]+num[6]+num[7]+num[8]+num[9];
     num[10]=10-(Total%10);
     
     if (num[10]==10)
     {
            num[10]=0;
     }
}

void ShowError(void)
{
     printf("\nError!Please check out your ID and press any keys to try again\n");
     getch();
}

int Retry(void)
{    
     int d;
     
     printf("Try again?(Y/N)\n\n",d);
     d = getch();
     d = toupper(d); 
     switch (d)
     {
            case 'Y' :
                 system("cls");
                 return 1;
            case 'N' :
                 printf("Please contact with Max if you got some questions, Thanks!!\n");
                 return 0;
     }
}

int Quit(void)
{
      printf("Press any keys to quit!");
      getch();
      return 0;
}

⌨️ 快捷键说明

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