Download as txt, pdf, or txt
Download as txt, pdf, or txt
You are on page 1of 2

#include <iostream>

#include <string>
using namespace std ;

const int MAX_HO = 100; // Giả sử tối đa có 100 hộ gia đình


const int THANG = 12;

struct HoGiaDinh {
string tenChuHo;
float luongDienTieuThu[THANG];
};

void nhapDuLieu(HoGiaDinh danhSachHoGiaDinh[], int& N) {


cout << "Nhap so luong ho gia dinh: ";
cin >> N;
cin.ignore(); // Xóa bộ nhớ đệm trước khi nhập chuỗi
for (int i = 0; i < N; ++i) {
cout << "Nhap ten chu ho gia dinh thu " << i + 1 << ": ";
getline(cin, danhSachHoGiaDinh[i].tenChuHo);
for (int j = 0; j < THANG; ++j) {
cout << "Nhap luong dien tieu thu cho thang " << j + 1 << ": ";
cin >> danhSachHoGiaDinh[i].luongDienTieuThu[j];
}
cin.ignore(); // Xóa bộ nhớ đệm sau khi nhập số
}
}

void xemToanBo(HoGiaDinh danhSachHoGiaDinh[], int N) {


for (int i = 0; i < N; ++i) {
cout << "Chu ho: " << danhSachHoGiaDinh[i].tenChuHo << "\n";
for (int j = 0; j < THANG; ++j) {
cout << "Thang " << j + 1 << ": " <<
danhSachHoGiaDinh[i].luongDienTieuThu[j] << " kWh\n";
}
cout << "\n";
}
}

void timKiem(HoGiaDinh danhSachHoGiaDinh[], int N) {


string tenChuHo;
char tiepTuc;
do {
cout << "Nhap ten chu ho can tim kiem: ";
getline(cin, tenChuHo);
bool timThay = false;
for (int i = 0; i < N; ++i) {
if (danhSachHoGiaDinh[i].tenChuHo == tenChuHo) {
cout << "Chu ho: " << danhSachHoGiaDinh[i].tenChuHo << "\n";
for (int j = 0; j < THANG; ++j) {
cout << "Thang " << j + 1 << ": " <<
danhSachHoGiaDinh[i].luongDienTieuThu[j] << " kWh\n";
}
timThay = true;
break;
}
}
if (!timThay) {
cout << "Khong tim thay ho gia dinh voi ten chu ho la: " << tenChuHo <<
"\n";
}
cout << "Ban co muon tiep tuc tim kiem? (Y/N): ";
cin >> tiepTuc;
cin.ignore(); // Xóa bộ nhớ đệm sau khi nhập ký tự
} while (tiepTuc == 'Y' || tiepTuc == 'y');
}

void thongKe(HoGiaDinh danhSachHoGiaDinh[], int N) {


float tongDienTieuThu[THANG] = {0};
for (int i = 0; i < N; ++i) {
for (int j = 0; j < THANG; ++j) {
tongDienTieuThu[j] += danhSachHoGiaDinh[i].luongDienTieuThu[j];
}
}
for (int j = 0; j < THANG; ++j) {
cout << "Tong dien tieu thu cho thang " << j + 1 << ": " <<
tongDienTieuThu[j] << " kWh\n";
}
}

int main() {
HoGiaDinh danhSachHoGiaDinh[MAX_HO];
int N = 0;

nhapDuLieu(danhSachHoGiaDinh, N);
xemToanBo(danhSachHoGiaDinh, N);
timKiem(danhSachHoGiaDinh, N);
thongKe(danhSachHoGiaDinh, N);

return 0;
}

You might also like