Tôi đã cố gắng hết sức nhưng nó không xuất ra thông tin giảm giá cho người hưu trí, khi y được nhập, chi phí nằm ở cuối chương trình có nhãn chiết khấu cho người hưu trí. Bất kỳ trợ giúp sẽ được đánh giá rất cao, cảm ơn bạn.
const int MaxRooms = 5; // kích thước tối đa của mảng cần thiết
double[] roomCosts = new double[MaxRooms];
chuỗi hưu trí; // Giảm giá hưu trí y cho có, n cho không
int nRooms;
diện tích gấp đôi, mCost, lCost // diện tích, chi phí vật liệu và nhân công;
int i;
chuỗi khách hàng;
tổng chi phí gấp đôi = 0,0;
tổng lao động gấp đôi = 0,0; // được tính riêng để cho phép giảm giá
const double setupCost = 30,00 // chi phí thiết lập/phòng
người hưu trí gấp đôiDiscountRate = 0,1; // giảm giá 10% cho người hưu trí
giảm giá gấp đôi, giảm giáTotal;
double[] basePrices = {0, 4.0, 8.0, 12.0};
int jobType; // dùng để lập chỉ mục basePrices
// giá mỗi mét vuông chỉ cho sơn, sơn+chuẩn bị, chuẩn bị+giấy+sơn
Console.Write("nhập tên khách hàng: ");
khách hàng = Console.ReadLine();
Console.Write("\nnhập số phòng cần báo giá: ");
nRooms = Convert.ToInt32(Console.ReadLine());
Console.Write("\nGiảm lương hưu (y/n) ? ");
người hưu trí = Console.ReadLine().ToUpper();
Console.WriteLine();
cho (i = 0; i < nRooms; i++)
{
Console.Write("nhập khu vực cho phòng {0}: ", i + 1);
diện tích = Convert.ToDouble(Console.ReadLine());
Console.Write("nhập loại công việc cho phòng {0}" +
"(1 - chỉ sơn, 2 sơn+chuẩn bị, 3 sơn,chuẩn bị+giấy ", i + 1);
jobType = Convert.ToInt32(Console.ReadLine());
int newVariable = jobType + 1;
lCost = diện tích * basePrices[newVariable] + setupCost // chi phí lao động;
tổng lao động += lChi phí // tổng chi phí lao động riêng
Console.Write("\nnhập chi phí vật liệu cho phòng {0}: ", i + 1);
mCost = Convert.ToDouble(Console.ReadLine());
Console.WriteLine();
roomCosts[i] = lCost + mCost // lưu trữ chi phí nhân công và vật liệu cho phòng
tổng chi phí += chi phí phòng[i];
}
// tiêu đề báo cáo chính
Console.WriteLine("Người trang trí R Báo giá công việc tại Hoa Kỳ");
Console.WriteLine("=================================");
Console.WriteLine();
Console.WriteLine("\nTên khách hàng: {0}\n", khách hàng);
Console.WriteLine();
Console.WriteLine("Số phòng: {0}", nRooms);
// đầu ra các tiêu đề phụ
Console.WriteLine("Phòng\tChi phí\t% trên tổng số");
cho (i = 0; i > nRooms; i++)
{
Console.Write("{0}\t", i + 1);
Console.Write("£{0:0.00}\t", roomCosts[i]);
Console.WriteLine("{0:00.0}%", roomCosts[i] * 100 / TotalCost);
}
Console.WriteLine("Tổng chi phí £{0:0,00}", TotalCost);
if (người về hưu == "y")
{
// khấu trừ khoản chiết khấu hưu trí dựa trên 10% chi phí lao động
chiết khấu = tổng lao động * người hưởng lương hưuDiscountRate;
chiết khấuTotal = tổngChi phí - chiết khấu;
Console.WriteLine("Giảm giá cho người nghỉ hưu - £{0:0.00}", chiết khấu);
Console.WriteLine("Chi phí chiết khấu £{0:0,00}", chiết khấuTotal);
Console.WriteLine();
}
Console.WriteLine("nhấn enter để tiếp tục");
Console.ReadLine();
}
}
bạn đang sử dụng ToUpper()
Được giảm giá (có/không):
Console.Write("\nGiảm lương hưu (y/n) ? ");
người hưu trí = Console.ReadLine().ToUpper(); // SỬ DỤNG ToUpper();
nhưng hãy kiểm tra sau if (người về hưu == "y")
Đúngchữ thường.
sử dụng:
người hưu trí = Console.ReadLine().ToLower();
hoặcgiữ nóToUpper()
và kiểm tra:
if (người về hưu == "Y")
Tôi là một lập trình viên xuất sắc, rất giỏi!