ในการเขียนโปรแกรมทั่วไปนั้น งานที่เป็นงานหลักและขาดไม่ได้ก็คือ การรับข้อมูลเข้ามาในระบบผ่านทางคีย์บอร์ดในภาษาซีก็เช่นกัน ถือว่าเป็นงานที่จะต้องเลือกฟังก์ชันการรับข้อมูลให้มีความเหมาะสมกับลักษณะงาน
โดยในภาษาซีนั้นจะมีฟังก์ชันในการรับข้อมูลด้วยกัน 4 ฟังก์ชันคือ
1. |
ฟังก์ชัน scanf( ); |
2. |
ฟังก์ชัน getch( ); |
3. |
ฟังก์ชัน getchar( ); |
4. |
ฟังก์ชัน gets( ); |
(แหล่งข้อมูล... คู่มือการเขียนโปรแกรมภาษา C ฉบับผู้เริ่มต้น / ประภาพร ช่างไม้)
——————————————————————————————————————————
สื่อวีดิทัศน์การสอน เรื่อง :: การรับข้อมูลจากคีย์บอร์ด ฟังก์ชัน scanf( ); ::
——————————————————————————————————————————
1. ฟังก์ชัน scanf( );
เป็นฟังก์ชันที่มีการใช้งานได้หลายรูปแบบกับตัวแปรชนิดต่าง ๆ โดยจะต้องมีการระบุรหัสรูปแบบชนิดของตัวแปรที่ต้องการรับค่าด้วย เช่น รหัสรูปแบบ %c %s %d เป็นต้น ฟังก์ชัน scanf( );
มีรูปแบบการใช้งานดังนี้
scanf("Format_Code",&Variable); |
อธิบาย
Format_Code |
เป็นรหัสรูปแบบของการรับค่าเช่น %c ใช้รับค่าที่เป็น char, %s ใช้รับค่าที่เป็น string, %d ใช้รับค่าที่เป็นตัวเลขจำนวนเต็ม เป็นต้น |
Variable |
เป็นการกำหนดตัวแปรที่ใช้ในการรับค่า โดยจะต้องมีเครื่องหมาย & นำหน้าตัวแปรเสมอ เมื่อมีการรับค่าจากผู้ใช้ค่าที่รับเข้านั้น จะถูกเก็บไว้ในตัวแปรนั้น ๆ |
ตัวอย่างโปรแกรม
คุณครูต้องการทราบเลขประจำตัวของนักเรียน โดยให้นักเรียนกรอกเลขประจำตัวนักเรียน
และแสดงผลบนจอภาพ เช่น Your number is 12575 เป็นต้น จึงให้นักเรียนเขียนโปรแกรมเพื่อ
แสดงผลข้อมูล ดังนี้
“ให้นักเรียนเขียนโปรแกรม โดยแสดงข้อความว่า Enter your number บนจอภาพ และรับ
ค่าตัวแปร number ที่เก็บเลขประจำตัวนักเรียน โดยใช้ Format Code ชนิด Integer จากนักเรียนด้วย
ฟังก์ชัน scanf( ); แล้วแสดงข้อความ Your number is: ตามด้วยค่าจากตัวแปร number ที่เก็บ
เลขประจำตัวนักเรียนบนจอภาพ”
วิเคราะห์ปัญหา (Analysis)
สิ่งที่โจทย์กำหนด :: กำหนดให้ตัวแปร number ที่เก็บเลขประจำตัวนักเรียน โดยใช้ Format
Code ชนิด Integer
สิ่งที่โจทย์ต้องการ :: รับค่าตัวแปร number ที่เก็บเลขประจำตัวนักเรียน จากนักเรียน ด้วยฟังก์ชัน
scanf( ); และแสดงข้อความ Your number is: ตามด้วยค่าจากตัวแปร number บนจอภาพ
การแก้ปัญหา (Problem Solving) ตามแนวทางการคิดเชิงคำนวณ โดยการคิดแบบ "ขั้นตอนวิธี" (Algorithm) ดังนี้
Pseudo Code |
Flowchart |
Algorithm Function scanf( );
1. Start
2. int number
3. Print Enter your number
4. Input number By Function scanf( );
5. Print Your number is %d
6. End |
|
เขียนโปรแกรม (Coding)
บรรทัดที่ |
โปรแกรม |
1
2
3
4
5
6
7
8
|
#include <stdio.h>
int number;
int main( )
{
printf("Enter your number :" );
scanf("%d",&number);
printf("Your number is : %d \n",number);
} |
อธิบายโปรแกรม
บรรทัดที่ 1 |
เรียกใช้ไลบรารีฟังก์ชัน stdio.h |
บรรทัดที่ 2 |
สร้างตัวแปร number ชนิด integer |
บรรทัดที่ 3 |
เข้าสู่การทำงานโปรแกรมหลัก int main( ) |
บรรทัดที่ 4 |
เริ่มต้นการทำงานของโปรแกรมหลัก int main( ) ด้วยเครื่องหมาย { |
บรรทัดที่ 5 |
แสดงข้อความ "Enter your number" บนจอภาพ |
บรรทัดที่ 6 |
รับค่าตัวแปร number จากผู้ใช้งาน |
บรรทัดที่ 7 |
แสดงข้อความ "Your number is: " ตามด้วยค่าจาก
ตัวแปร number บนจอภาพ |
บรรทัดที่ 8 |
สิ้นสุดการทำงานของโปรแกรมหลัก int main( ) ด้วยเครื่องหมาย } |
ผลลัพธ์บนจอภาพ
โปรแกรมจะแสดงข้อความให้กรอกตัวเลขประจำตัวนักเรียน
นักเรียนกรอกตัวเลขประจำตัวนักเรียนลงไป เช่น 9989
โปรแกรมแสดงข้อความ พร้อมแสดงค่าของตัวแปร number
คือ 9989 บนจอภาพ
—————————————————————————————————————————— |