สวัสดีครับ น้องๆ โจทย์ตัวอย่างภาษา C++ ข้อนี้ มาเบาๆ กันกับ การเขียนโปรแกรมคำนวณเงินเดือนของพนักงาน เทคนิคที่ใช้ไม่มีอะไรมากครับ มีการแสดงผล รับข้อมูล การตัดสินใจ และการตรวจสอบข้อมูล ตามเงื่อนไขที่โจทย์กำหนดให้ เอาล่ะครับมาลองทำกันดูดีกว่า ข้อนี้เหมาะสำหรับผู้เริ่มต้นมากๆ ครับ ^^
โจทย์
จงเขียนโปรแกรมคำนวณเงินเดือนของพนักงาน โดยมีข้อกำหนดดังนี้ ให้มีการรับเงินเดือนพนักงานผ่านทางคีย์บอร์ดและทำการถามผู้ใช้ว่าพนักงานคนนี้เข้างานสายหรือไม่ ถ้าไม่ เพิ่มเงินเดือนอีก 1,000 บาท และถามผู้ใช้อีกว่าพนักงานคนนี้มี OT หรือไม่ ถ้ามีทำการรับค่าชั่วโมง OT โดย OT ของบริษัทนี้ได้ชั่วโมงละ 200 บาท
Source Code
#include <iostream>
using namespace std;int main()
{
int salary,ot_hour;
char choice_late,choice_OT;
cout << "Enter Salary : ";
cin >> salary;
do
{
cout << "Has Late (Y/N) : ";
cin >> choice_late;
}
while(!(choice_late == 'Y' || choice_late == 'y' || choice_late == 'N' || choice_late == 'n'));
if(choice_late == 'N' || choice_late == 'n')
{
salary = salary + 1000;
}
do
{
cout << "Has OT Hour (Y/N) : ";
cin >> choice_OT;
}
while(!(choice_OT == 'Y' || choice_OT == 'y' || choice_OT == 'N' || choice_OT == 'n'));
if(choice_OT == 'Y' || choice_OT == 'y')
{
cout << "Enter OT Hour : ";
cin >> ot_hour;
salary = salary + (ot_hour * 200);
}
cout << "Salary : " << salary;
cout << endl << endl;
system("pause");
return 0;
}
อธิบาย Source Code
#include <iostream>
using namespace std;int main()
{
//ประกาศตัวแปร
// salary เก็บเงินเดือน , ot_hour เก็บจำนวนชั่วโมง OT
// choice_late เก็บคำตอบเรื่องมาสาย , choice_OT เก็บคำตอบเรื่อง OT
int salary,ot_hour;
char choice_late,choice_OT;
cout << "Enter Salary : "; //แสดงผลการรับค่าเงินเดือน
cin >> salary; //รับค่าเงินเดือน
do
{
cout << "Has Late (Y/N) : "; //แสดงผลถามว่ามีสายไหม ?
cin >> choice_late; //รับค่าตัวอักษร
}
//ตรวจสอบ ถ้า choice_late เป็น Y,y,N,n หรือไม่ ถ้าไม่เป็นวนรับซ้ำ
while(!(choice_late == 'Y' || choice_late == 'y' || choice_late == 'N' || choice_late == 'n'));
//ตรวจสอบว่า ไม่มีการ มาสาย ใช่หรือไม่
if(choice_late == 'N' || choice_late == 'n')
{
//ถ้าจริง
// เพิ่มเงินเดือน 1000
salary = salary + 1000;
}
do
{
cout << "Has OT Hour (Y/N) : "; //แสดงผลว่า มี OT ไหม
cin >> choice_OT; //รับค่าตัวอักษร
}
//ตรวจสอบ ถ้า choice_late เป็น Y,y,N,n หรือไม่ ถ้าไม่เป็นวนรับซ้ำ
while(!(choice_OT == 'Y' || choice_OT == 'y' || choice_OT == 'N' || choice_OT == 'n'));
//ตรวจสอบว่า มี OT ใช่หรือไม่
if(choice_OT == 'Y' || choice_OT == 'y')
{
//ถ้าจริง
cout << "Enter OT Hour : "; //แสดงผลรับชั่วโมง
cin >> ot_hour; //รับค่าชั่วโมง
salary = salary + (ot_hour * 200); //คำนวณหา OT แล้วบวกรวมกับเงินเดือน
}
cout << "Salary : " << salary; //แสดงค่า เงินเดือน
//ใช้สำหรับหยุดหน้าจอ ให้แสดงผลลัพธ์ค้างไว้
cout << endl << endl;
system("pause");
return 0;
}
ตัวอย่างการ Run โปรแกรม
ตัวอย่างการ Run ครั้งที่ 1
ทดสอบ เงินเดือน 10,000 ไม่สาย ไม่ทำ OT
ตัวอย่างการ Run ครั้งที่ 2
ทดสอบ เงินเดือน 10,000 สาย ไม่ทำ OT
ตัวอย่างการ Run ครั้งที่ 3
ทดสอบ เงินเดือน 20,000 ไม่สาย ทำ OT 5 ชั่วโมง
ตัวอย่างการ Run ครั้งที่ 4
ทดสอบ เงินเดือน 20,000 ไม่สาย (ทดสอบไม่กรอก Y,y,N,n) ไม่ทำ OT
เป็นยังไงบ้างครับ ข้อนี้ ได้อะไรดีๆ หลายอย่างเลยทีเดียว ทั้งการคำนวณแบบเก็บค่า การตรวจสอบข้อมูลให้ถูกต้องก่อนทำงานขั้นต่อไป ลองนำไปใช้กับโปรแกรมของน้องๆ กันดูนะครับ
หากน้องๆ มีข้อสงสัยสามารถเข้ามาสอบถามได้ที่ Fanpage TUTORTONG สอนเขียนโปรแกรมได้เลยครับ าสนุกกับการเขียนโปรแกรมไปกับเราที่ TUTORTONG สอนเขียนโปรแกรม ครับ