Untitled
unknown
plain_text
a year ago
5.2 kB
4
Indexable
#include <stdio.h> #include <stdlib.h> #include <string.h> #include <time.h> int main() { char IC_Number[14]; char Patient_Name[100]; char Patient_address[100]; char Patient_phone_number[20]; char Date_birth[7]; printf("Enter Patient's IC Number: "); fgets(IC_Number, sizeof(IC_Number), stdin); printf("Enter Patient's Name: "); fgets(Patient_Name, sizeof(Patient_Name), stdin); printf("Enter Patient's Address: "); fgets(Patient_address, sizeof(Patient_address), stdin); printf("Enter Patient's Phone Number: "); fgets(Patient_phone_number, sizeof(Patient_phone_number), stdin); for (int i = 0; i < sizeof(Date_birth) - 1; i++) { Date_birth[i] = IC_Number[i]; } Date_birth[6] = '\0'; char day[3]; // Day component char month[3]; // Month component char year[3]; // Year component for (int i = 0; i < 2; i++) { day[i] = Date_birth[i + 4]; month[i] = Date_birth[i + 2]; year[i] = Date_birth[i]; } day[2] = '\0'; month[2] = '\0'; year[2] = '\0'; printf("\nRegistration Summary\n"); printf("Name: %s", Patient_Name); printf("Address: %s", Patient_address); printf("Date of birth (dd/mm/yy) : %s/%s/%s\n", day, month, year); printf("Contact Number: %s", Patient_phone_number); printf("Malaysian IC Number: %s", IC_Number); // Calculate age time_t current_time = time(NULL); struct tm *local_time = localtime(¤t_time); int current_year = local_time->tm_year + 1900; int current_month = local_time->tm_mon + 1; int current_day = local_time->tm_mday; int birth_year = atoi(year); int birth_month = atoi(month); int birth_day = atoi(day); // Determine the century based on the first two digits of the current year int century = current_year - (current_year % 100); if (birth_year >= 0 && birth_year <= (current_year % 100)) { birth_year += century; } else { birth_year += century - 100; } int age = current_year - birth_year; // Adjust age if the current month and day are before the birth month and day if (current_month < birth_month || (current_month == birth_month && current_day < birth_day)) { age--; } printf("Age: %d\n", age); // Determine state based on the 7th and 8th numbers of the IC number int state_code = atoi(IC_Number + 6); char state[50]; switch (state_code) { case 1: case 21: case 22: case 23: case 24: strcpy(state, "Johor"); break; case 2: case 25: case 26: case 27: strcpy(state, "Kedah"); break; case 3: case 28: case 29: strcpy(state, "Kelantan"); break; case 4: case 30: strcpy(state, "Malacca"); break; case 5: case 31: case 59: strcpy(state, "Negeri Sembilan"); break; case 6: case 32: case 33: strcpy(state, "Pahang"); break; case 7: case 34: case 35: strcpy(state, "Penang"); break; case 8: case 36: case 37: case 38: case 39: strcpy(state, "Perak"); break; case 9: case 40: strcpy(state, "Perlis"); break; case 10: case 41: case 42: case 43: case 44: strcpy(state, "Selangor"); break; case 11: case 45: case 46: strcpy(state, "Terengganu"); break; case 12: case 47: case 48: case 49: strcpy(state, "Sabah"); break; case 13: case 50: case 51: case 52: case 53: strcpy(state, "Sarawak"); break; case 14: case 54: case 55: case 56: case 57: strcpy(state, "Federal Territory of Kuala Lumpur"); break; case 15: case 58: strcpy(state, "Federal Territory of Labuan"); break; case 16: strcpy(state, "Federal Territory of Putrajaya"); break; default: strcpy(state, "Unknown State"); break; } printf("State of Birth: %s\n", state); char formatted_time[100]; strftime(formatted_time, sizeof(formatted_time), "%Y-%m-%d %H:%M:%S", localtime(¤t_time)); FILE *file = fopen("registration_data.txt", "w"); if (file == NULL) { printf("Failed to open the file.\n"); return 1; } fprintf(file, "Registration Summary\n"); fprintf(file, "Name: %s", Patient_Name); fprintf(file, "Address: %s", Patient_address); fprintf(file, "Date of birth: %s/%s/%s\n", day, month, year); fprintf(file, "Contact Number: %s", Patient_phone_number); fprintf(file, "Malaysian IC Number: %s", IC_Number); fprintf(file, "Age: %d\n", age); fprintf(file, "State of Birth: %s\n", state); fprintf(file, "Registration Date and Time: %s\n", formatted_time); fclose(file); printf("Data saved to registration_data.txt.\n"); return 0; }
Editor is loading...
Leave a Comment