ฟังก์ชัน scanf( ); | ฟังก์ชัน getch( ); | ฟังก์ชัน getchar( ); | ฟังก์ชัน gets( );

——————————————————————————————————————————

        ในการเขียนโปรแกรมทั่วไปนั้น งานที่เป็นงานหลักและขาดไม่ได้ก็คือ การรับข้อมูลเข้ามาในระบบผ่านทางคีย์บอร์ดในภาษาซีก็เช่นกัน ถือว่าเป็นงานที่จะต้องเลือกฟังก์ชันการรับข้อมูลให้มีความเหมาะสมกับลักษณะงาน
โดยในภาษาซีนั้นจะมีฟังก์ชันในการรับข้อมูลด้วยกัน 4 ฟังก์ชันคือ

1.
 ฟังก์ชัน scanf( );
2.
 ฟังก์ชัน getch( );
3.
 ฟังก์ชัน getchar( );
4.
 ฟังก์ชัน gets( );

(แหล่งข้อมูล...  คู่มือการเขียนโปรแกรมภาษา C ฉบับผู้เริ่มต้น / ประภาพร ช่างไม้)

——————————————————————————————————————————

สื่อวีดิทัศน์การสอน เรื่อง :: การรับข้อมูลจากคีย์บอร์ด ฟังก์ชัน scanf( ); ::



——————————————————————————————————————————

1. ฟังก์ชัน scanf( ); 1
        เป็นฟังก์ชันที่มีการใช้งานได้หลายรูปแบบกับตัวแปรชนิดต่าง ๆ โดยจะต้องมีการระบุรหัสรูปแบบชนิดของตัวแปรที่ต้องการรับค่าด้วย เช่น รหัสรูปแบบ %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( ) ด้วยเครื่องหมาย }

        ผลลัพธ์บนจอภาพ
                โปรแกรมจะแสดงข้อความให้กรอกตัวเลขประจำตัวนักเรียน

Enter your number :

                นักเรียนกรอกตัวเลขประจำตัวนักเรียนลงไป เช่น 9989

Enter your number : 9989

                โปรแกรมแสดงข้อความ พร้อมแสดงค่าของตัวแปร number คือ 9989 บนจอภาพ

Your number is : 9989

        การทดสอบการทำงานของโปรแกรมจากเว็บ https://repl.it/languages/c
                คลิกเครื่องหมาย  เพื่อดูผลผลลัพธ์การทำงานของโปรแกรมด้านล่าง
        (ลิงค์สำรอง https://repl.it/repls/BaggySentimentalMode)



——————————————————————————————————————————