1
1
h>
#include <stdlib.h>
#include <string.h>
struct User {
float income;
float expenses;
float savings;
float investments;
struct Transaction transactions[50];
int numTransactions;
};
// Function prototypes
void displayMenu();
void addTransaction(struct User *user, char *type);
void calculateBudget(struct User *user);
void displayReport(struct User *user);
int main() {
struct User user = {0, 0, 0, 0, {}, 0};
int choice;
do {
displayMenu();
printf("Enter your choice: ");
scanf("%d", &choice);
switch (choice) {
case 1:
addTransaction(&user, "income");
break;
case 2:
addTransaction(&user, "expenses");
break;
case 3:
addTransaction(&user, "savings");
break;
case 4:
addTransaction(&user, "investments");
break;
case 5:
calculateBudget(&user);
break;
case 6:
displayReport(&user);
break;
case 0:
printf("Exiting the Personal Finance Manager. Goodbye!\n");
break;
default:
printf("Invalid choice. Please try again.\n");
}
} while (choice != 0);
return 0;
}
void displayMenu() {
printf("\nPersonal Finance Manager Menu\n");
printf("1. Add Income\n");
printf("2. Add Expenses\n");
printf("3. Add Savings\n");
printf("4. Add Investments\n");
printf("5. Calculate Budget\n");
printf("6. Display Financial Report\n");
printf("0. Exit\n");
}