#Include <stdio.h>
#include <stdlib.h>

int main(){
	int i;
	int mode,total;
	char check[11],create[11];
	char data[26] = {'A','B','C','D','E','F','G','H','J','K','L','M'
		,'N','P','Q','R','S','T','U','V','W','X','Y','Z','I','O'};
	printf("Please select mode!\n [1] Check\n [2] Create\nYour choice : ");
	scanf("%d",&mode);
	if(mode == 1){
		printf("Input : ");
		scanf("%s",check);
		for(i = 0;i < 26;i++)
			if(check[0] == data[i])
				total = i + 10;
		total = (total / 10) + (total % 10) * 9;
		for(i = 1;i < 9;i++)
			total += ((check[i] - '0') * (9 - i));
		total += (check[9] - '0');
		if(total % 10 == 0 && (check[1] == '1' || check[1] == '2'))
			printf("\nCorrect!");
		else
			printf("\nIncorrect");
	} else if(mode == 2){
		randomize();
		create[0] = random(26) + 'A';
		for(i = 0;i < 26;i++)
			if(create[0] == data[i])
				total = i + 10;
		total = (total / 10) + (total % 10) * 9;
		create[1] = random(2) + 1 + '0';
		for(i = 2;i < 9;i++)
			create[i] = random(10) + '0';
		for(i = 1;i < 9;i++)
			total += ((create[i] - '0') * (9 - i));
		create[9] = (10 - (total % 10) + '0');
		create[10] = 0;
		puts(create);
	} else
		printf("Input error");
	return 0;
}

