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