การทำงานของโปรแกรมส่วนใหญ่มักจะเป็นการเชื่อมโยงกับผู้ใช้แบบ 2 ทิศทาง คือ ทั้งภาคของการแสดงผลการทำงานออกทางหน้าจอ และภาคของการรับข้อมูลจากผู้ใช้เข้ามาทางคีย์บอร์ด เพื่อร่วมในการประมวลผลของโปรแกรม
คำสั่ง scanf()
ในภาษา C การรับข้อมูลจากคีย์บอร์ดสามารถทำได้โดยการเรียกใช้ฟังก์ชัน scanf() ซึ่งเป็นฟังก์ชัน มาตรฐานสำหรับรับข้อมูลจากคีย์บอร์ด โดยสามารถรับข้อมูลได้ทุกประเภท ไม่ว่าจะเป็นจำนวนเต็ม ทศนิยม อักขระ หรือข้อความ
รูปแบบคำสั่ง scanf()
scanf(“format”,&variable);
format การใช้รหัสควบคุมรูปแบบ เพื่อกำหนดชนิดของข้อมูลที่จะรับเข้ามาจากคีย์บอร์ด โดยรหัสควบคุมรูปแบบใช้ชุดเดียวกับคำสั่ง printf()
variable ตัวแปรที่จะใช้เก็บค่าข้อมูลที่รับเข้ามาจากคีย์บอร์ด โดยชนิดของตัวแปรจะต้องตรงกับรหัสควบคุมรูปแบบที่กำหนดไว้ นอกจากนี้หน้าชื่อของตัวแปรจะต้องนำหน้าด้วยเครื่องหมาย & ยกเว้นตัวแปรสตริง สำหรับเก็บข้อความเท่านั้นที่ไม่ต้องนำหน้าด้วยเครื่องหมาย &
ตัวอย่างการใช้งานคำสั่ง scanf() เพื่อรับข้อมูลจากคีย์บอร์ด
ตัวอย่างที่ 1
int speed; สร้างตัวแปรชนิด int สำหรับเก็บค่าตัวเลขจำนวนเต็ม
printf(“Enter wind speef : “); แสดงข้อความให้กรอกค่าความเร็วลมเป็นจำนวนเต็ม
scanf(“%d”,&speed); รับค่าความเร็วลมเข้ามาเก็บไว้ในตัวแปร speed
ตัวอย่างที่ 2
char answer; สร้างตัวแปรชนิด char สำหรับเก็บอักขระ
printf(“Enter Figure (Y : N) : “) แสดงข้อความให้ป้อนอักขระ Y หรือ N
scanf(“%c”,&answer รับอักขระเข้ามาเก็บไว้ในตัวแปร answer
ตัวอย่างที่ 3
char name[10]; สร้างตัวแปรสตริงสำหรับเก็บข้อความ
printf(“Enter your name = “); แสดงข้อความให้ป้อนชื่อ
scanf(“%s”,name) รับชื่อเข้ามาเก็บไว้ในตัวแปร name สังเกตจะไม่ใส่
เครื่องหมาย & ตัวแปรชนิดข้อความ
ตัวอย่างที่ 4
#include <stdio.h>
int main()
{
int x,y,sum;
printf(“Enter The Length is : “);
scanf (“%d”,&x);
printf(“Enter The Width is : “);
scanf (“%d”,&y);
sum = x*y;
printf(“The area is :%d”,sum);
getch();
return 0;
}
ผลลัพธ์โปรแกรม
Enter The Length is : 15
Enter The Width is : 5
The area is : 75
รหัสควบคุมรูปแบบการรับค่าจากคีย์บอร์ด แสดงได้ดังนี้
รหัสควบคุมรูปแบบ การนำไปใช้งาน
%d ตัวแปรชนิดจำนวนเต็ม
%u ตัวแปรชนิดจำนวนเต็มบวก
%f ตัวแปรชนิดจำนวนทศนิยม
%c อักขระ 1 ตัว
%s ข้อความ หรืออักขระมากกว่า 1 ตัว