ฟังก์ชันรับข้อมูล ง30212 การเขียนโปรแกรมด้วยภาษาคอมพิวเตอร์ ศูนย์คอมพิวเตอร์ โรงเรียนปลวกแดงพิทยาคม
ฟังก์ชันรับข้อมูล เป็นฟังก์ชันที่ทำหน้าที่รับข้อมูลจากผู้ใช้เพื่อนำมาประมวลผล แบ่งออกเป็น ฟังก์ชัน scanf() ฟังก์ชัน getchar() ฟังก์ชัน getch() ฟังก์ชัน getche() ฟังก์ชัน gets()
ฟังก์ชัน scanf() เป็นฟังก์ชันในการรับข้อมูลจากแป้นพิมพ์เข้าไปเก็บตามรูปแบบที่กำหนดไว้ มีรูปแบบการใช้งานคือ scanf(“format”,&variable_name); โดยที่ format หมายถึง รหัสรูปแบบข้อมูล (format code) เพื่อกำหนดประเภทข้อมูลที่รับเข้ามาโดยเขียนอยู่ในเครื่องหมาย “ ” (double quote) variable_name หมยถึง ตัวแปรที่ใช้ในการเก็บข้อมูลที่รับเข้ามา โดยต้องเขียนนำหน้าชื่อตัวแปรด้วยเครื่องหมาย & ยกเว้นตัวแปรประเภทข้อความ ถ้ามีตัวแปรมากกว่า 1 ตัวให้ใช้เครื่องหมาย , คั่นระหว่างตัวแปร
ตัวอย่าง ฟังก์ชัน scanf() 1: #include <stdio.h> 3: char name[20]; 4: int age; 5: main() { 7: printf(“What is your name : ”); 8: scanf(“%s”,name); 9: printf(“How old are you : ”); 10: scanf(“%f”,&age); 12: getchar(); 11: printf(“%s is %d years old\n”,name,age); 13: getchar(); 14:}
ข้อสังเกตจากตัวอย่าง จากโปรแกรมบันทัดที่ 8 จะเห็นว่าตวแปร name ไม่มี & นำหน้าเนื่องจากเป็นตัวแปรชนิดข้อความส่วนบันทัดที่ 10 ตัวแปร age ซึ่งเป็นตัวแปรจำนวนเต็มจะมีเครื่องหมาย & นำหน้าตามปกติ
ผลการทำงาน What is your name : weera How old are you : 18 weera is 18 years old
ฟังก์ชัน getchar() เป็นฟังก์ชันที่ใช้สำหรับรับข้อมูลประเภทตัวอักขระจากแป้นพิมพ์ รับข้อมูลครั้งละ 1 ตัวอักษรเท่านั้น การใช้งานฟังก์ชัน getchar() เมื่อใช้ป้อนตัวอักขระจากแป้นพิมพ์แล้วจะต้องกดแป้น Enter โปรแกรมจึงทำงานต่อไป ตัวอักขระที่ป้อนเข้าไปนั้นจะปรากฎให้เห็นตอนป้อน
รูปแบบฟังก์ชัน getchar() variable_name = getchar(); โดยที่ variable_name หมายถึง ชื่อของตัวแปรประเภทตัวอักขระ ใช้สำหรับเก็บค่าของตัวแปรที่รับผ่านแป้นพิมพ์
ตัวอย่างฟังก์ชัน getchar() 1: #include <stdio.h> 3: char x; 4: main() 5: { 7: printf(“Enter your character : ”); 8: x = getchar(); 9: printf(“Your character is : %c\n”,x); 10: getchar(); 11: }
Enter your character : a Your character is : a ผลการทำงาน Enter your character : a Your character is : a
ฟังก์ชัน getch() เป็นฟังก์ชันที่ใช้สำหรับรับข้อมูลประเภทตัวอักขระจากแป้นพิมพ์ รับข้อมูลครั้งละ 1 ตัวอักษรเท่านั้น การใช้งานฟังก์ชัน getch() เมื่อใช้ป้อนตัวอักขระจากแป้นพิมพ์แล้วไม่ต้องกดแป้น Enter โปรแกรมจึงทำงานต่อไป ตัวอักขระที่ป้อนเข้าไปนั้นจะไม่ปรากฎให้เห็นตอนป้อน
รูปแบบฟังก์ชัน getch() variable_name = getch(); โดยที่ variable_name หมายถึง ชื่อของตัวแปรประเภทตัวอักขระ ใช้สำหรับเก็บค่าของตัวแปรที่รับผ่านแป้นพิมพ์
ตัวอย่างฟังก์ชัน getch() 1: #include <stdio.h> 3: char x; 4: main() 5: { 7: printf(“Enter your character : ”); 8: x = getch(); 9: printf(“Your character is : %c\n”,x); 10: getchar(); 11: }
ผลการทำงาน Enter your character : Your character is : a
ฟังก์ชัน getche() เป็นฟังก์ชันที่ใช้สำหรับรับข้อมูลประเภทตัวอักขระจากแป้นพิมพ์ รับข้อมูลครั้งละ 1 ตัวอักษรเท่านั้น การใช้งานฟังก์ชัน getche() เมื่อใช้ป้อนตัวอักขระจากแป้นพิมพ์แล้วไม่ต้องกดแป้น Enter โปรแกรมจึงทำงานต่อไป ตัวอักขระที่ป้อนเข้าไปนั้นจะปรากฎให้เห็นตอนป้อน
รูปแบบฟังก์ชัน getche() variable_name = getche(); โดยที่ variable_name หมายถึง ชื่อของตัวแปรประเภทตัวอักขระ ใช้สำหรับเก็บค่าของตัวแปรที่รับผ่านแป้นพิมพ์
ฟังก์ชัน gets() เป็นฟังก์ชันที่ใช้ในการรับข้อมูลประเภทข้อความจากแป้นพิมพ์ มีรูปแบบการใช้งานดังนี้ gets(variable_name); โดยที่ variable_name หมายถึง ชื่อของตัวแปรแบบข้อความที่ใช้เก็บค่าข้อความที่ผู้ใช้ป้อน
ตัวอย่างฟังก์ชัน gets() 1: #include <stdio.h> 3: char x[20]; 4: main() 5: { 7: printf(“Enter your message : ”); 8: gets(x); 9: printf(“Your message is : %c\n”,x); 10: getchar(); 11: }
ผลการทำงาน Enter your message : pluakdaeng Your message is : pluakdaeng คำสั่ง gets(x) จะมีค่าเหมือนกับ scanf(“%s”,x);