I have just started to play around with C++ and I want to make my code efficient and clutter free.  Please critique this code constructively and give feedback that will help me in my programming career.#include <iostream>#include <iomanip>#include <limits>using namespace std;/*This structure will hold my initialized structure set forthis assignment.*/struct Set_Budget{double set_housing;double set_utilities;double set_household_expenses;double set_transportation;double set_food;double set_medical;double set_insurance;double set_entertainment;double set_clothing;double set_miscellaneous;};/*This structure will receive the values entered throughout this assignment.*/struct Asked_Budget{double asked_housing;double asked_utilities;double asked_household_expenses;double asked_transportation;double asked_food;double asked_medical;double asked_insurance;double asked_entertainment;double asked_clothing;double asked_miscellaneous;};/* My prototypes for the functionswhich I will use in this program*/void amounts (Asked_Budget&); // Input passed by referencevoid compare_budgets (Asked_Budget);void budget_alert (double);/* This will me the main for thisprogram.  It will only define my  Asked_Budget  structureand send its values to my functions.*/void main (){Asked_Budget student; // Define my Structureamounts ( student ); // Sending Structure to functioncompare_budgets ( student ); // Sending structure to function}/*This Function will receive the values fromthe user and access my Asked.Budget structureto assign the received values*/void amounts ( Asked_Budget &amount) // Reference Parameter{cout <<    PLEASE ENTER YOUR MONTHLY HOUSING EXPENSE:  .......... $;cin >> amount.asked_housing; // Assigning the value to the structurecout <<    PLEASE ENTER YOUR MONTHLY UTILITIES EXPENSE:  .......... $;cin >> amount.asked_utilities;// Assigning the value to the structurecout <<    PLEASE ENTER YOUR MONTHKY HOUSE-HOLD EXPENSES:  .......... $;cin >> amount.asked_household_expenses;// Assigning the value to the structurecout <<    PLEASE ENTER YOUR MONTHLY TRANSPORTATION EXPENSE:  .......... $;cin >> amount.asked_transportation;// Assigning the value to the structurecout <<    PLEASE ENTER YOUR MONTHLY FOOD EXPENSE:  .......... $;cin >> amount.asked_food;// Assigning the value to the structurecout <<    PLEASE ENTER YOUR MONTHLY MEDICAL EXPENSE:  .......... $;cin >> amount.asked_medical;// Assigning the value to the structurecout <<    PLEASE ENTER YOUR MONTHLY INSURANCE EXPENSE:  .......... $;cin >> amount.asked_insurance;// Assigning the value to the structurecout <<    PLEASE ENTER YOUR MONTHLY ENTERTAINMENT EXPENSE:  .......... $;cin >> amount.asked_entertainment;// Assigning the value to the structurecout <<    PLEASE ENTER YOUR MONTHLY CLOTHING EXPENSE:  .......... $;cin >> amount.asked_clothing;// Assigning the value to the structurecout <<    PLEASE ENTER YOUR MONTHLY MISCELLANEOUS EXPENSE:  .......... $;cin >> amount.asked_miscellaneous;// Assigning the value to the structure}/*This function will initialize my  Set_Budget  structure and compare it to the  Asked_Budget structure.This Function will also display the budget resultsfor every category. As well as the over all Budgetresult for the month.*/void compare_budgets (Asked_Budget amount){Set_Budget monthly = { 500.00, 150.00, 65.00, 50.00, 250.00, 30.00, 100.00, 150.00, 75.00, 50.00}; // Initialize my  Set_Budget  Structure with values// Variables to hold the results for each  budget categorydouble result_housing;double result_utilities;double result_household_expenses;double result_transportation;double result_food;double result_medical;double result_insurance;double result_entertainment;double result_clothing;double result_miscellaneous;double result_budget = 0;// This section will compare both structures and the differences are assign to their corresponding variableresult_housing = monthly.set_housing - amount.asked_housing;result_utilities = monthly.set_utilities - amount.asked_utilities;result_household_expenses = monthly.set_household_expenses - amount.asked_household_expenses; result_transportation = monthly.set_transportation - amount.asked_transportation;result_food  = monthly.set_food- amount.asked_food;result_medical = monthly.set_medical - amount.asked_medical;result_insurance = monthly.set_insurance - amount.asked_insurance;result_entertainment = monthly.set_entertainment - amount.asked_entertainment;result_clothing = monthly.set_clothing- amount.asked_clothing;result_miscellaneous = monthly.set_miscellaneous - amount.asked_miscellaneous;// Simple mechanism, asking the user to press enter to continuecout <<  \n\n\n\n\n ;cout <<  \t\t\t    PRESS ENTER TO CONTINUE ;cin.ignore(std::numeric_limits<streamsize>::max(),'\n');cin.get();cout <<  \n\n\n\n\n;/*    This section will show the comparison results    for each category. This section will also     show the user if they are either  At  ,      Over , or  Under  budget for the month.    This was done by sending the entered values     to another function to compare the result.*/cout <<   RESULTING BUDGET DIFFERENCE FOR YOUR ( HOUSING ) CATEGORY: $ << fixed << setprecision (2) << result_housing; // I used set percision to reduce the output to 2 decimal placesbudget_alert ( result_housing); // Sending the comparison variable to another function.cout <<  \n\n;cout <<   RESULTING BUDGET DIFFERENCE FOR YOUR ( UTILITIES ) CATEGORY: $ << fixed <<  setprecision (2) << result_utilities;budget_alert ( result_utilities);cout <<  \n\n;cout <<   RESULTING BUDGET DIFFERENCE FOR YOUR ( HOUSE HOLD EXPENSES ) CATEGORY: $ << fixed <<  setprecision (2) << result_household_expenses;budget_alert ( result_household_expenses);cout <<  \n\n;cout <<   RESULTING BUDGET DIFFERENCE FOR YOUR ( TRANSPORTATION ) CATEGORY: $ << fixed <<  setprecision (2) << result_transportation;budget_alert ( result_transportation);cout <<  \n\n;cout <<   RESULTING BUDGET DIFFERENCE FOR YOUR ( FOOD ) CATEGORY: $ << fixed <<  setprecision (2) << result_food;budget_alert ( result_food);cout <<  \n\n;cout <<   RESULTING BUDGET DIFFERENCE FOR YOUR ( MEDICAL ) CATEGORY: $ << fixed <<  setprecision (2) << result_medical;budget_alert ( result_medical);cout <<  \n\n;cout <<   RESULTING BUDGET DIFFERENCE FOR YOUR ( INSURANCE ) CATEGORY: $ << fixed <<  setprecision (2) << result_insurance;budget_alert ( result_insurance);cout <<  \n\n;cout <<   RESULTING BUDGET DIFFERENCE FOR YOUR ( ENTERTAINMENT ) CATEGORY: $ << fixed <<  setprecision (2) << result_entertainment;budget_alert ( result_entertainment);cout <<  \n\n;cout <<   RESULTING BUDGET DIFFERENCE FOR YOUR ( CLOTHING ) CATEGORY: $ << fixed <<  setprecision (2) << result_clothing;budget_alert ( result_clothing);cout <<  \n\n;cout <<   RESULTING BUDGET DIFFERENCE FOR YOUR ( MISCELLANEOUS ) CATEGORY: $ << fixed <<  setprecision (2) << result_miscellaneous;budget_alert ( result_miscellaneous);cout <<  \n\n;// This will add up all the result for the month and give me an over view of the monthly budget.result_budget = result_housing + result_utilities + result_household_expenses + result_transportation + result_food                 + result_medical + result_insurance + result_entertainment + result_clothing + result_miscellaneous + result_budget;// Simple mechanism, asking the user to press enter to continuecout <<  \n\n\n\n\n ;cout <<  \t\t\t    PRESS ENTER TWICE TO CONTINUE ;cin.ignore(std::numeric_limits<streamsize>::max(),'\n');cin.get();cout <<  \n\n\n\n\n;// This section will show the over all monthly budget.cout <<  \t\t YOUR RESULT FOR THIS MONTH'S BUDGET IS : ....  $ << setprecision (2) << result_budget <<  \t\t\t\t\t ;budget_alert ( result_miscellaneous); // sending the result to my other functioncout <<  \n\n ;system (  pause );}/*This function will receive values and compare them to zeroif the value is below 0 it is under budget , over 0 it meansit is over budget, or if it is equal to 0 it means it is exactly at budget.This function will display the results corresponding message*/void budget_alert ( double alert){if ( alert == 0 )// comparing result to 0{    cout <<  \n\t\t\t\t  ( RIGHT AT BUDGET ) ; // message given after result is compared}if ( alert > 0 ){    cout <<  \n\t\t\t\t  ( UNDER BUDGET ) ;}if ( alert < 0 ){    cout <<  \n\t\t\t\t   ( OVER BUDGET )  ;}}
Managing student budgets
c++