|
@ -13,36 +13,49 @@ float fetchBalanceFromBalanceString(char balance_String[MAX_LENGTH]) { |
|
|
return balance; |
|
|
return balance; |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
float getAvailableAccountBalance(int user_id) { |
|
|
|
|
|
|
|
|
float readFileAndGetAvailableBalance(FILE *file, char stringID[MAX_LENGTH]) { |
|
|
|
|
|
float balance = 0; |
|
|
bool keep_reading = true; |
|
|
bool keep_reading = true; |
|
|
float availableBalance = 0; |
|
|
|
|
|
|
|
|
|
|
|
char buffer[MAX_LENGTH]; |
|
|
char buffer[MAX_LENGTH]; |
|
|
char stringID[MAX_LENGTH] = "ID="; |
|
|
|
|
|
char user_id_as_string[MAX_LENGTH]; |
|
|
|
|
|
char balance_String[MAX_LENGTH]; |
|
|
char balance_String[MAX_LENGTH]; |
|
|
|
|
|
|
|
|
sprintf(user_id_as_string, "%d", user_id); // converts user_id to string |
|
|
|
|
|
strcat(stringID, user_id_as_string); |
|
|
|
|
|
|
|
|
|
|
|
FILE *file = fopen("CustomerData.txt", "r"); |
|
|
|
|
|
|
|
|
|
|
|
while(keep_reading) { |
|
|
while(keep_reading) { |
|
|
fgets(buffer, MAX_LENGTH, file); |
|
|
fgets(buffer, MAX_LENGTH, file); |
|
|
if (feof(file)) { |
|
|
if (feof(file)) { |
|
|
keep_reading = false; |
|
|
keep_reading = false; |
|
|
} |
|
|
} |
|
|
else if(strstr(buffer, stringID)) { |
|
|
else if(strstr(buffer, stringID)) { |
|
|
fgets(buffer, MAX_LENGTH, file); |
|
|
|
|
|
fgets(buffer, MAX_LENGTH, file); |
|
|
|
|
|
fgets(buffer, MAX_LENGTH, file); |
|
|
|
|
|
fgets(buffer, MAX_LENGTH, file); |
|
|
|
|
|
|
|
|
for (int i = 0; i < 4; i++) { |
|
|
|
|
|
fgets(buffer, MAX_LENGTH, file); |
|
|
|
|
|
} |
|
|
strcpy(balance_String, buffer); |
|
|
strcpy(balance_String, buffer); |
|
|
availableBalance = fetchBalanceFromBalanceString(balance_String); |
|
|
|
|
|
|
|
|
balance = fetchBalanceFromBalanceString(balance_String); |
|
|
keep_reading = false; |
|
|
keep_reading = false; |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
} |
|
|
} |
|
|
|
|
|
return balance; |
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
float getAvailableAccountBalance(int user_id) { |
|
|
|
|
|
float availableBalance = 0; |
|
|
|
|
|
char stringID[MAX_LENGTH] = "ID="; |
|
|
|
|
|
char user_id_as_string[MAX_LENGTH]; |
|
|
|
|
|
|
|
|
|
|
|
sprintf(user_id_as_string, "%d", user_id); // converts user_id to string |
|
|
|
|
|
strcat(stringID, user_id_as_string); |
|
|
|
|
|
// Now stringID is "ID=user_id" |
|
|
|
|
|
|
|
|
|
|
|
FILE *file = fopen(CUSTOMER_DATA_FILE, "r"); |
|
|
|
|
|
if(file == 0) { |
|
|
|
|
|
printf("Error: customer data file cannot be opened!\n"); |
|
|
|
|
|
return 0; |
|
|
|
|
|
} |
|
|
|
|
|
else { |
|
|
|
|
|
availableBalance = readFileAndGetAvailableBalance(file, stringID); |
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
fclose(file); |
|
|
fclose(file); |
|
|
|
|
|
|
|
|
return availableBalance; |
|
|
return availableBalance; |
|
|