這個程式允許不斷輸入一位員工的薪資,計算其調薪後的薪資。當輸入非數字(A~Z之任一字元)時,程式結束。
csharp
Copy code
using System;
class Program {
static void Main(string[] args) {
while (true) {
Console.WriteLine("請輸入員工的薪資(輸入A~Z之任一字元結束):");
string input = Console.ReadLine();
// 檢查輸入是否為結束條件的字母
if (input.Length == 1 && char.IsLetter(input[0])) {
Console.WriteLine("程式結束。");
break;
}
// 嘗試將輸入轉換為薪資數值
if (double.TryParse(input, out double salary)) {
if (salary < 50000) {
// 計算調薪後的薪資,但不超過5萬元
double adjustedSalary = Math.Min(salary * 1.03, 50000);
Console.WriteLine($"調薪後的薪資為:{adjustedSalary}");
} else {
// 薪資已達或超過5萬元,不調薪
Console.WriteLine("薪資已達或超過5萬元,不調薪。");
}
} else {
Console.WriteLine("輸入的不是有效的薪資數值,請重新輸入。");
}
}
}
}
這段程式碼使用了 while (true) 迴圈來實現不斷的輸入。當輸入的是數字時,它會判斷薪資是否低於50000元,如果是,則按照要求調整薪資並輸出;如果薪資已達或超過50000元,則輸出不調薪的訊息。當輸入的是字母時,程式將結束。使用 double.TryParse 來安全地將輸入的字串轉換成薪資數值,如果轉換失敗(表示輸入的不是數字),則提示用戶重新輸入。