แบบฝกทักษะการเขียนโปรแกรมภาษาซี เลม 4 ฟงกชันนารู

กลุมฟงกชันพื้นฐานการรับและแสดงผล
เปนฟงกชันการรับและแสดงผลขอมูลที่นอกเหนือจากฟงกชัน printf(); scanf(); getch();
และ gets(); ซึ่งไดเรียนมากอนหนานี้ มีดังนี้
#include <stdio.h>
getchar( )
เปนฟงกชั่นที่นํามาสําหรับรับคาตัวอักษรหรืออักขระ 1 ตัว โดยคาที่ปอนลงไปแสดงให
เห็นทางจอภาพและจะตองกดปุม Enter เพื่อแสดงการสิ้นสุดการปอนขอมูล แตถาหากมีการ
กรอกตัวอักษรมากกวา 1 ตัว จะมีเพียงตัวอักษรตัวแรกเทานั้นที่จะถูกเก็บไวในตัวแปร
รูปแบบ
ชื่อตัวแปร = getchar();
ตัวอยางเชน getchar();
และในกรณีที่ตองการนําคาที่ปอน จัดเก็บไวในตัวแปร ก็จะเขียนในรูปแบบดังนี้
char ch1;
ch1=getchar();
ตัวอยางโปรแกรมที่ 4.1 โปรแกรมแสดงการสั่งพิมพคาดวยฟงกชัน getchar()
บรรทัดที่
คําสั่ง
1
#include <stdio.h>
2
#include <conio.h>
3
main()
4
{ char c;
5
printf(“Please type one character:”);
6
c=getchar();
7
printf(“The first character is: %cn ”,c);
8
getch();
9
}
คําอธิบายโปรแกรมที่ 4.1
บรรทัดที่ 4 ประกาศตัวแปรชื่อ c เปนตัวแปรชนิด char
บรรทัดที่ 5 พิมพขอความ Please type one character

6
แบบฝกทักษะการเขียนโปรแกรมภาษาซี เลม 4 ฟงกชันนารู

บรรทัดที่ 6 รอรับขอมูลดวยฟงกชัน getchar(); เพื่อเก็บไวในตัวแปร c
บรรทัดที่ 7 แสดงคาที่ปอนเขาไปทางจอภาพ ซึ่งจะไดเพียงอักขระเดียวถึงแมวา
จะปอนหลายตัวก็ตาม
putchar( )
เปนฟงกชั่นที่นํามาเพื่อสั่งพิมพคาตัวแปรอักขระที่ถูกปอนดวยฟงกชั่น getchar() หรือ
อาจจะกําหนดใหแสดงคาอักขระโดยตรง โดยที่ไมตองใชรหัสรูปแบบขอมูล
รูปแบบ
ชื่อตัวแปร = putchar();
หรือ
putchar(ชื่อตัวแปร);
ตัวอยางโปรแกรมที่ 4.2 โปรแกรมแสดงการสั่งพิมพคาดวยฟงกชัน putchar()
บรรทัดที่
คําสั่ง
1
#include <stdio.h>
2
#include <conio.h>
3
main()
4
{
5
char ch1= ‘A’;
6
putchar(ch1);
7
putchar(10);
8
putchar(‘B’);
9
putchar(‘007’);
10
getch();
11 }
คําอธิบายโปรแกรมที่ 4.2
บรรทัดที่ 4 กําหนดใหตัวแปรชื่อ ch1 มีชนิดขอมูลเปน char เก็บคาอักขระ A
บรรทัดที่ 5 พิมพคา ch1 ดวยฟงกชัน putchar()
บรรทัดที่ 6 พิมพรหัสแอสกีเบอร 10 ซึ่งตรงกับ n คือปดบรรทัดใหม
บรรทัดที่ 7 พิมพอักขระ B ดวยฟงกชัน putchar()
บรรทัดที่ 8 รหัสควบคุม 007 จะสงเสียงรอง บี๊บหนึ่งครั้ง

7
แบบฝกทักษะการเขียนโปรแกรมภาษาซี เลม 4 ฟงกชันนารู

#include <conio.h>
getche()
ฟงกชั่น getche() เปนฟงกชั่นในการรับคาตัวอักขระ ซึ่งจะถูกประกาศไวใชงานอยูใน
เฮดเดอรไฟล conio.h
รูปแบบการใชงานฟงกชั่น
getche( );
หรือ ชื่อตัวแปร = getche( );
คุณสมบัติของฟงกชั่น
- ในสวนหัวของโปรแกรมจะตองผนวกเฮดเดอรไฟล conio.h
- เปนฟงกชั่นรับอักขระ 1 ตัวทันทีที่กดแปนพิมพ
- ฟงกชั่น getch() จะไมแสดงตัวอักษรที่ปอนใหเห็นทางจอภาพ
- ฟงกชั่น getche() จะแสดงอักขระที่ปอนเขาไปใหเห็นทางจอภาพ
clrscr()
ฟงกชัน clrscr() เปนฟงกชันสําหรับเคลียรหนาจอใหวาง
ตัวอยางโปรแกรมที่ 4.3 โปรแกรมแสดงใชงานฟงกชัน getch(),getche(),clrscr()
บรรทัดที่
คําสั่ง
1
#include <stdio.h>
2
#include <conio.h>
3
main()
4
{
5
char ch;
6
printf(“nPress any key 1:”); getch();
7
printf(“nPress any key 2:”); getche();
8
printf(“nPress any key to clear screen”);
9
ch=getch();
10
clrscr();
11
printf(“n Ascii value of ch is %dn”,ch);
12 }

8
แบบฝกทักษะการเขียนโปรแกรมภาษาซี เลม 4 ฟงกชันนารู

คําอธิบายโปรแกรมที่ 4.3
บรรทัดที่ 2 ผนวกเฮดเดอรไฟล conio.h เพิ่มเขาไป
บรรทัดที่ 5 กําหนดใหตัวแปรชื่อ ch1 มีชนิดขอมูลเปน char
บรรทัดที่ 6 พิมพขอความแลวรอรับคาที่ปอนดวยฟงกชัน getch()
บรรทัดที่ 7 พิมพขอความแลวรอรับคาที่ปอนดวยฟงกชัน getche()
บรรทัดที่ 8 พิมพขอความ Press any key to clear screen
บรรทัดที่ 9 รอรับคาจากแปนพิมพดวยฟงกชัน getch() แลวเก็บไวที่ตัวแปร ch

บรรทัดที่ 10 ลางจอภาพ
บรรทัดที่ 11 พิมพรหัสแอสกีของคา ch ออกมาทางจอภาพ
ฟงกชัน
gotoxy() clrscr() ใชไมไดในกรณีที่เขียนในโปรแกรม Dev-C++ ใหใช ฟงกชัน system(“cls”); แทน
gotoxy() เปนฟงกชันที่ใชสําหรับกําหนดตําแหนงคอลัมนและแถวบนจอภาพ โดยใชเปน
ตําแหนงแสดงขอความหรือขอมูลตาง ๆ รวมถึงตําแหนงรับขอมูล โดยจอภาพในเท็กซโหมดจะมี
อยู 25 แถว และแตละแถวจะมี 80 คอลัมน
รูปแบบ
gotoxy(column,row);
ตัวอยางโปรแกรมที่ 4.4 โปรแกรมแสดงใชงานฟงกชัน gotoxy()
บรรทัดที่
คําสั่ง
1
#include <stdio.h>
2
#include <conio.h>
3
main()
4
{
5
gotoxy(10,1); printf(“<< Main Menu >>”)
6
gotoxy(10,2); printf(“1. Green ”);
7
gotoxy(10,3); printf(“2. Yellow ”);
8
gotoxy(10,4); printf(“3. Red ”);
9
gotoxy(10,5); printf(“4. White ”);
10
gotoxy(10,6); printf(“5. Exit ”);
11
gotoxy(10,7); printf(“Selection:”);
getche();
12 }

9
แบบฝกทักษะการเขียนโปรแกรมภาษาซี เลม 4 ฟงกชันนารู

ผลการรันโปรแกรมที่ 4.4

ฟงกชัน gotoxy() ไมสามารถใชในโปรแกรม Dev-C++ ได

10

4 1

  • 1.
    แบบฝกทักษะการเขียนโปรแกรมภาษาซี เลม 4ฟงกชันนารู กลุมฟงกชันพื้นฐานการรับและแสดงผล เปนฟงกชันการรับและแสดงผลขอมูลที่นอกเหนือจากฟงกชัน printf(); scanf(); getch(); และ gets(); ซึ่งไดเรียนมากอนหนานี้ มีดังนี้ #include <stdio.h> getchar( ) เปนฟงกชั่นที่นํามาสําหรับรับคาตัวอักษรหรืออักขระ 1 ตัว โดยคาที่ปอนลงไปแสดงให เห็นทางจอภาพและจะตองกดปุม Enter เพื่อแสดงการสิ้นสุดการปอนขอมูล แตถาหากมีการ กรอกตัวอักษรมากกวา 1 ตัว จะมีเพียงตัวอักษรตัวแรกเทานั้นที่จะถูกเก็บไวในตัวแปร รูปแบบ ชื่อตัวแปร = getchar(); ตัวอยางเชน getchar(); และในกรณีที่ตองการนําคาที่ปอน จัดเก็บไวในตัวแปร ก็จะเขียนในรูปแบบดังนี้ char ch1; ch1=getchar(); ตัวอยางโปรแกรมที่ 4.1 โปรแกรมแสดงการสั่งพิมพคาดวยฟงกชัน getchar() บรรทัดที่ คําสั่ง 1 #include <stdio.h> 2 #include <conio.h> 3 main() 4 { char c; 5 printf(“Please type one character:”); 6 c=getchar(); 7 printf(“The first character is: %cn ”,c); 8 getch(); 9 } คําอธิบายโปรแกรมที่ 4.1 บรรทัดที่ 4 ประกาศตัวแปรชื่อ c เปนตัวแปรชนิด char บรรทัดที่ 5 พิมพขอความ Please type one character 6
  • 2.
    แบบฝกทักษะการเขียนโปรแกรมภาษาซี เลม 4ฟงกชันนารู บรรทัดที่ 6 รอรับขอมูลดวยฟงกชัน getchar(); เพื่อเก็บไวในตัวแปร c บรรทัดที่ 7 แสดงคาที่ปอนเขาไปทางจอภาพ ซึ่งจะไดเพียงอักขระเดียวถึงแมวา จะปอนหลายตัวก็ตาม putchar( ) เปนฟงกชั่นที่นํามาเพื่อสั่งพิมพคาตัวแปรอักขระที่ถูกปอนดวยฟงกชั่น getchar() หรือ อาจจะกําหนดใหแสดงคาอักขระโดยตรง โดยที่ไมตองใชรหัสรูปแบบขอมูล รูปแบบ ชื่อตัวแปร = putchar(); หรือ putchar(ชื่อตัวแปร); ตัวอยางโปรแกรมที่ 4.2 โปรแกรมแสดงการสั่งพิมพคาดวยฟงกชัน putchar() บรรทัดที่ คําสั่ง 1 #include <stdio.h> 2 #include <conio.h> 3 main() 4 { 5 char ch1= ‘A’; 6 putchar(ch1); 7 putchar(10); 8 putchar(‘B’); 9 putchar(‘007’); 10 getch(); 11 } คําอธิบายโปรแกรมที่ 4.2 บรรทัดที่ 4 กําหนดใหตัวแปรชื่อ ch1 มีชนิดขอมูลเปน char เก็บคาอักขระ A บรรทัดที่ 5 พิมพคา ch1 ดวยฟงกชัน putchar() บรรทัดที่ 6 พิมพรหัสแอสกีเบอร 10 ซึ่งตรงกับ n คือปดบรรทัดใหม บรรทัดที่ 7 พิมพอักขระ B ดวยฟงกชัน putchar() บรรทัดที่ 8 รหัสควบคุม 007 จะสงเสียงรอง บี๊บหนึ่งครั้ง 7
  • 3.
    แบบฝกทักษะการเขียนโปรแกรมภาษาซี เลม 4ฟงกชันนารู #include <conio.h> getche() ฟงกชั่น getche() เปนฟงกชั่นในการรับคาตัวอักขระ ซึ่งจะถูกประกาศไวใชงานอยูใน เฮดเดอรไฟล conio.h รูปแบบการใชงานฟงกชั่น getche( ); หรือ ชื่อตัวแปร = getche( ); คุณสมบัติของฟงกชั่น - ในสวนหัวของโปรแกรมจะตองผนวกเฮดเดอรไฟล conio.h - เปนฟงกชั่นรับอักขระ 1 ตัวทันทีที่กดแปนพิมพ - ฟงกชั่น getch() จะไมแสดงตัวอักษรที่ปอนใหเห็นทางจอภาพ - ฟงกชั่น getche() จะแสดงอักขระที่ปอนเขาไปใหเห็นทางจอภาพ clrscr() ฟงกชัน clrscr() เปนฟงกชันสําหรับเคลียรหนาจอใหวาง ตัวอยางโปรแกรมที่ 4.3 โปรแกรมแสดงใชงานฟงกชัน getch(),getche(),clrscr() บรรทัดที่ คําสั่ง 1 #include <stdio.h> 2 #include <conio.h> 3 main() 4 { 5 char ch; 6 printf(“nPress any key 1:”); getch(); 7 printf(“nPress any key 2:”); getche(); 8 printf(“nPress any key to clear screen”); 9 ch=getch(); 10 clrscr(); 11 printf(“n Ascii value of ch is %dn”,ch); 12 } 8
  • 4.
    แบบฝกทักษะการเขียนโปรแกรมภาษาซี เลม 4ฟงกชันนารู คําอธิบายโปรแกรมที่ 4.3 บรรทัดที่ 2 ผนวกเฮดเดอรไฟล conio.h เพิ่มเขาไป บรรทัดที่ 5 กําหนดใหตัวแปรชื่อ ch1 มีชนิดขอมูลเปน char บรรทัดที่ 6 พิมพขอความแลวรอรับคาที่ปอนดวยฟงกชัน getch() บรรทัดที่ 7 พิมพขอความแลวรอรับคาที่ปอนดวยฟงกชัน getche() บรรทัดที่ 8 พิมพขอความ Press any key to clear screen บรรทัดที่ 9 รอรับคาจากแปนพิมพดวยฟงกชัน getch() แลวเก็บไวที่ตัวแปร ch  บรรทัดที่ 10 ลางจอภาพ บรรทัดที่ 11 พิมพรหัสแอสกีของคา ch ออกมาทางจอภาพ ฟงกชัน gotoxy() clrscr() ใชไมไดในกรณีที่เขียนในโปรแกรม Dev-C++ ใหใช ฟงกชัน system(“cls”); แทน gotoxy() เปนฟงกชันที่ใชสําหรับกําหนดตําแหนงคอลัมนและแถวบนจอภาพ โดยใชเปน ตําแหนงแสดงขอความหรือขอมูลตาง ๆ รวมถึงตําแหนงรับขอมูล โดยจอภาพในเท็กซโหมดจะมี อยู 25 แถว และแตละแถวจะมี 80 คอลัมน รูปแบบ gotoxy(column,row); ตัวอยางโปรแกรมที่ 4.4 โปรแกรมแสดงใชงานฟงกชัน gotoxy() บรรทัดที่ คําสั่ง 1 #include <stdio.h> 2 #include <conio.h> 3 main() 4 { 5 gotoxy(10,1); printf(“<< Main Menu >>”) 6 gotoxy(10,2); printf(“1. Green ”); 7 gotoxy(10,3); printf(“2. Yellow ”); 8 gotoxy(10,4); printf(“3. Red ”); 9 gotoxy(10,5); printf(“4. White ”); 10 gotoxy(10,6); printf(“5. Exit ”); 11 gotoxy(10,7); printf(“Selection:”); getche(); 12 } 9
  • 5.
    แบบฝกทักษะการเขียนโปรแกรมภาษาซี เลม 4ฟงกชันนารู ผลการรันโปรแกรมที่ 4.4 ฟงกชัน gotoxy() ไมสามารถใชในโปรแกรม Dev-C++ ได 10