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

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

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

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

3. ฟังก์ชัน getchar( ); 1
        ฟังก์ชัน getchar( ); เป็นฟังก์ชันที่ใช้รับค่าข้อมูลอักขระ 1 ตัวเข้ามาทางคีย์บอร์ด มีลักษณะ
การทำงานคล้าย ๆ กับ getch( ); แต่ฟังก์ชัน getchar( ); นั้น เมื่อมีการรับเข้ามาแล้ว 1 ตัวอักขระ
จะต้องกดปุ่ม Enter ด้วยถึงจะมีการนำค่าเข้ามาประมวลผลฟังก์ชัน getchar( ); มีรูปแบบการใช้งานดังนี้

Variable_Name = getchar( );

        ตัวอย่างโปรแกรม
                คุณครูต้องการทราบตัวเลขนำโชค 0-9 ของนักเรียน โดยให้นักเรียนกรอกตัวเลขนำโชคของ
        นักเรียน โดยจะต้องกดปุ่ม Enter และแสดงผลบนจอภาพ เช่น Your lucky number is 9 เป็นต้น
        จึงให้นักเรียนเขียนโปรแกรมเพื่อแสดงผลข้อมูลดังนี้
                “ให้นักเรียนเขียนโปรแกรมโดยแสดงข้อความ Enter your lucky number (0-9) :
        บนจอภาพ และรับค่าตัวแปร number ที่เก็บเลขนำโชคของนักเรียน โดยใช้ Format Code
        ชนิด Character ด้วยฟังก์ชัน getchar( ); จากนักเรียน แล้วแสดงข้อความ Your lucky number is :       ตามด้วยค่าของตัวแปร number ที่เก็บเลขนำโชค บนจอภาพ”


        วิเคราะห์ปัญหา (Analysis)
                สิ่งที่โจทย์กำหนด :: กำหนดให้ตัวแปร number ที่เก็บเลขนำโชคของนักเรียน โดยใช้ Format
        Code ชนิด Character
                สิ่งที่โจทย์ต้องการ :: รับค่าตัวแปร number ที่เก็บเลขนำโชคของนักเรียน ด้วยฟังก์ชัน
        getchar( ); จากนักเรียน และแสดงข้อความ Your number is: ตามด้วยค่าจากตัวแปร number
        ที่เก็บเลขนำโชคของนักเรียนบนจอภาพ


        การแก้ปัญหา (Problem Solving) ตามแนวทางการคิดเชิงคำนวณ โดยการคิดแบบ "ขั้นตอนวิธี" (Algorithm) ดังนี้

Pseudo Code
Flowchart
Algorithm Function putchar( );
        1. Start
        2. char number
        3. Print Enter your lucky number (0-9) :
        4. Input number
By Function getchar( );
        5. Print Your lucky number is %c
        6. End

       เขียนโปรแกรม (Coding) 

บรรทัดที่
โปรแกรม
1
2
3
4
5
6
7
8
#include <stdio.h>
char number;
int main( )
{
        printf("Enter your lucky number (0-9) : ");
        number = getchar( );
        printf("Your lucky number is : %c",number);
}

        อธิบายโปรแกรม

บรรทัดที่ 1
เรียกใช้ไลบรารีฟังก์ชัน stdio.h
บรรทัดที่ 2
สร้างตัวแปร number ชนิด Character
บรรทัดที่ 3
เข้าสู่โปรแกรมหลัก int main( )
บรรทัดที่ 4
เริ่มต้นการทำงานของโปรแกรมหลัก int main( ) ด้วยเครื่องหมาย {
บรรทัดที่ 5
แสดงข้อความ "Enter your lucky number (0-9) : " บนจอภาพ
บรรทัดที่ 6
รับค่าตัวแปร number ด้วยฟังก์ชัน getchar( )
บรรทัดที่ 7
แสดงข้อความ "Your lucky number is : " ตามด้วยค่าของตัวแปร number
บรรทัดที่ 8
สิ้นสุดการทำงานของโปรแกรมหลัก int main( ) ด้วยเครื่องหมาย }

        ผลลัพธ์บนจอภาพ
                เมื่อทำการรันโปรแกรมแล้วจะแสดงข้อความให้ผู้ใช้งานกดตัวเลขนำโชค โดยเมื่อกด
        ตัวเลขแล้วระบบจะทำการแสดงตัวเลขนั้น พร้อมกับรอการกดปุ่ม Enter จากนักเรียน ซึ่งจะ
        แตกต่างจากฟังก์ชัน getch( ); จากนั้นเมื่อกดปุ่ม Enter แล้ว โปรแกรมก็จะแสดงตัวเลขที่กดให้
        ทราบอีกครั้งหนึ่ง

Enter your lucky number (0-9) : 3
Your lucky number is 3

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

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