Đăng nhập để hỏi chi tiết


Hãy luôn nhớ cảm ơn và vote 5*
nếu câu trả lời hữu ích nhé!
#include <stdio.h>
#define MAX_MAY 50
#define CONG_SUAT 400
#define GIA_DIEN 750
typedef struct {
int trangThai;
} MayTinh;
void inTrangThai(MayTinh may[]) {
for (int i = 0; i < MAX_MAY; i++) {
printf("Máy %d: %s\n", i + 1, may[i].trangThai ? "Đang sử dụng" : "Rỗi");
}
}
void inDienNang(MayTinh may[], int soMaySuDung) {
int dienNangTieuThu = soMaySuDung * CONG_SUAT;
printf("Điện năng tiêu thụ tích lũy: %d Watt\n", dienNangTieuThu);
printf("Tổng điện năng tiêu thụ: %.2f KW\n", dienNangTieuThu / 1000.0);
printf("Tiền điện thanh toán: %.2f VNĐ\n", (dienNangTieuThu / 1000.0) * GIA_DIEN);
}
int main() {
MayTinh may[MAX_MAY] = {0};
int luaChon, soMaySuDung = 0;
while (1) {
printf("Menu:\n");
printf("1. Dùng máy\n");
printf("2. Rời máy\n");
printf("3. In trạng thái máy\n");
printf("4. In điện năng tiêu thụ\n");
printf("5. Thoát\n");
printf("Chọn: ");
scanf("%d", &luaChon);
switch (luaChon) {
case 1: {
int soMay;
printf("Nhập số hiệu máy (1-%d): ", MAX_MAY);
scanf("%d", &soMay);
if (soMay < 1 || soMay > MAX_MAY) {
printf("Số hiệu máy không hợp lệ.\n");
} else if (may[soMay - 1].trangThai) {
printf("Máy đã được sử dụng.\n");
} else {
may[soMay - 1].trangThai = 1;
soMaySuDung++;
printf("Cấp máy %d thành công.\n", soMay);
}
break;
}
case 2: {
int soMay;
printf("Nhập số hiệu máy để rời (1-%d): ", MAX_MAY);
scanf("%d", &soMay);
if (soMay < 1 || soMay > MAX_MAY) {
printf("Số hiệu máy không hợp lệ.\n");
} else if (!may[soMay - 1].trangThai) {
printf("Máy không đang sử dụng.\n");
} else {
may[soMay - 1].trangThai = 0;
soMaySuDung--;
printf("Rời máy %d thành công.\n", soMay);
}
break;
}
case 3:
inTrangThai(may);
break;
case 4:
inDienNang(may, soMaySuDung);
break;
case 5:
return 0;
default:
printf("Lựa chọn không hợp lệ.\n");
}
}
return 0;
}
Hãy giúp mọi người biết câu trả lời này thế nào?
Bảng tin