int totalExpenses(double[], double, string, int);
int totalIncome(double);
void saveExpense(int, double);
int main()
{
string month;
double otherExpense = 0;
double sum = 0;
string choice;
int total = 0;
const int Num_Bills = 5;
double income = 0;
double ratio =0;
string expenseFile;
Near the end of the program in the saveExpense function, remove the line: "total = totalExpenses(...);" That function already recieves the total, see "int saveExpenses( int total, double income )."
Once you remove that line it should run no problem.
When casting a double to an int (i.e. total += otherExpenses) you should always use an explicit cast: "total += (int) otherExpenses;" That way you wont get a compiler warning. Alternately you could change the variable type of total to double; that actually makes more sense because money have dollars and cent (decimal) values. I wonder if the flood of double to int cast warnings are what made it hard for you to figure this one out.