Untitled
unknown
plain_text
2 years ago
2.8 kB
6
Indexable
#include <iostream>
#include <iomanip>
#include <limits> // Include the limits header for numeric_limits
// Define the structure for household data
struct Household {
int id; // Identification number
double income; // Annual income
int members; // Number of family members
};
const int MAX_HOUSEHOLDS = 13; // Maximum number of households
int main() {
using namespace std;
Household households[MAX_HOUSEHOLDS]; // Array to store household data
// Input data for each household
for (int i = 0; i < MAX_HOUSEHOLDS; i++) {
// Prompt and input identification number
cout << "Please enter the identification number for household " << i + 1 << ": ";
cin >> households[i].id;
// Prompt and input annual income
cout << "Please enter the annual income for household " << i + 1 << " (RM): ";
cin >> households[i].income;
// Prompt and input number of family members
cout << "Please enter the number of family members for household " << i + 1 << ": ";
cin >> households[i].members;
// Clear the input buffer
cin.ignore(numeric_limits<streamsize>::max(), '\n');
}
// Calculate the average household income
double totalIncome = 0.0;
for (int i = 0; i < MAX_HOUSEHOLDS; i++) {
totalIncome += households[i].income;
}
double averageIncome = totalIncome / MAX_HOUSEHOLDS;
// Display the household data
cout << "\nHousehold Data:\n";
cout << "ID\tIncome\tMembers\n";
for (int i = 0; i < MAX_HOUSEHOLDS; i++) {
cout << households[i].id << "\tRM" << fixed << setprecision(2) << households[i].income << "\t" << households[i].members << "\n";
}
// Display households with income above average
cout << "\nHouseholds with income above average:\n";
cout << "ID\tIncome\n";
for (int i = 0; i < MAX_HOUSEHOLDS; i++) {
if (households[i].income > averageIncome) {
cout << households[i].id << "\tRM" << fixed << setprecision(2) << households[i].income << "\n";
}
}
// Calculate and display the percentage of households below the poverty level
int householdsBelowPoverty = 0;
for (int i = 0; i < MAX_HOUSEHOLDS; i++) {
double povertyLevel = 6500.00 + 950.00 * (households[i].members - 2);
if (households[i].income < povertyLevel) {
householdsBelowPoverty++;
}
}
double percentageBelowPoverty = (static_cast<double>(householdsBelowPoverty) / MAX_HOUSEHOLDS) * 100.0;
// Display the percentage of households below the poverty level
cout << "\nPercentage of households below the poverty level: " << fixed << setprecision(2) << percentageBelowPoverty << "%" << endl;
return 0;
}
Editor is loading...