薪資計算程式

這是作業 我有上網看過要怎麼做 可是都看不懂 但又是作業

有請高手 解救

設計一個打工薪資計算程式,可以讓使用者輸入打工時數(整數):

90小時以下,每小時120元;超過90小時的部分算125元;超過100小時部分算130元。

例如110小時計算公式: 90*120+10*125+10*130。

最後再輸出"本月打工薪資共:xxx元"

以下是老師給的 真的不懂

<html>

<head>

<title>第一個javascript程式</title>

<script>var student_name = "Tom";

var student_age = 16;

var a=100;

var b=200;

var c=0;

var A=10;

var B=20;

document.write("<br>Student Name : " + student_name);

document.write(" Age : " + student_age);

c=a;

a=b;

b=c;

document.write(" <br> a=" + a);

document.write(" <br> b=" + b);

A=prompt("Input A", "");

B=prompt("Input B", "");

c=A+B;

document.write(" <br> A+B=" + c);

A=parseInt(A); //函數 函式

B=parseInt(B);

c=A+B;

document.write(" <br> A+B=" + c);

</script>

</head>

<body>

<h1>!!</h>

</body>

</html>

1 Answer

Rating
  • sponge
    Lv 6
    7 years ago
    Favorite Answer

    請參考以下 code, 由您貼的老師範例修改而來,不過請注意

    從發問研判您是初學者,所以有些 += 等簡化式的語法暫不使用

    <html>

    <head>

    <meta http-equiv="content-type" content="text/html; charset=BIG5"/>

    <title>薪資計算程式</title>

    <script>

    var hour = prompt("輸入打工時數"); // (1)

    var salary = 0;

    hour = parseInt(hour); // (2)

    if (hour <= 90) salary = hour * 120; // (3)

    else {

    salary = 90 * 120; // (4)

    if (hour <= 100) salary = salary + (hour - 90) * 125; // (5)

    else {

    salary = salary + 10 * 125; // (6)

    salary = salary + (hour - 100) * 130; // (7)

    }

    }

    document.write(" <br> 本月打工薪資共:" + salary + "元"); // (8)

    </script>

    </head>

    <body>

    <h1>!!</h1>

    </body>

    </html>

    這些 javascript 會在開啟網頁時立刻執行

    從這裡針對 code 裡有標記數字處解釋:

    (1)

    prompt 是一個函式,向使用者索取輸入

    若確定則輸入值存在 hour 變數,為字串型態

    (2)

    parseInt 函式把輸入字串轉成整數型態

    若輸入為純數字,無此行也能運算正確結果

    但 parseInt 能抓出部分無效輸入,如英文等

    較有利於排除無效輸入,但更好的做法為使用「正規表達式」

    (3)

    這是 javascript 的判斷式寫法,時數未超過 90 時薪水計算

    (4)

    因為 else 裡確定時數大於 90, 薪水從 90 * 120 起算

    (5)

    把 91~100 小時的薪水累加上去

    此處也可用 salary += (hour - 90) * 125 效果一樣而語法精簡

    (6)

    與 (4) 一樣,薪水至少要再加 10 * 125

    (7)

    與 (5) 一樣,把 101 小時以後的薪水累加上去

    (8)

    document.write 能將指定的內容加入至網頁

    因此這邊將計算結果寫入網頁,輸入完畢將看到打工薪資輸出

    但一開始網頁內容 body 部分並無填入這些字樣

    字串間的 + 意思是連接字串,與整數加法有別

    更詳細解釋建議 Google, 像 W3School 就有完整的文件參考

    註:

    另外,回答中有 meta 這行,指定網頁內容為 BIG5 編碼

    它應與 htm 檔存檔時編碼方式一致,否則瀏覽器打開會是亂碼

    若未指定此行,將無法預期瀏覽器會把網頁用何種編碼解讀

    希望如上回答對您有幫助!

    Source(s): W3School.com
Still have questions? Get your answers by asking now.