/************************************************ CS317 Homework 1 Class ID Generator By: Bin Lin Date: March 31, 2004 *************************************************/ #include #include using namespace std; int main(int argc, char* argv[]) { unsigned int ssn_num, ssn_p1, ssn_p2, ssn_p3; int rand1, rand2; int ssn_p3_d1, ssn_p3_d4, sh1, sh2; char uuid[128]; FILE *handler; if(argc != 2) { cerr << "Usage: " << argv[0] << "YOUR_9_DIGIT_SSN"; exit(1); } if(strlen(argv[1]) != 9) { cerr << "SSN should have 9 digits"; exit(1); } ssn_num = atoi(argv[1]); cout << "SSN_NUM: " << ssn_num << endl; ssn_p1 = ssn_num / 1000000; ssn_p2 = (ssn_num - ssn_p1 * 1000000) / 10000; ssn_p3 = ssn_num - ssn_p1 * 1000000 - ssn_p2 * 10000; ssn_p3_d1 = ssn_p3 / 1000; ssn_p3_d4 = ssn_p3 % 10; sh1 = ssn_p3_d1 * 10 + ssn_p3_d4; sh2 = (ssn_p3 - ssn_p3_d1 * 1000 - ssn_p3_d4) / 10; srand(ssn_p1); rand1 = rand() % 10000; srand(ssn_p2); rand2 = rand() % 10000; if(ssn_p3_d4 % 2) sprintf(uuid, "%d%d%c%c", rand1, rand2, sh1+65, sh2+65); else sprintf(uuid, "%c%c%d%d", sh1+65, sh2+65, rand1, rand2); cout << "Your unique class id is " << uuid << endl; handler = fopen("ID.txt", "w+"); fprintf(handler, "Your unique class id is %s\n", uuid); fclose(handler); return 0; }