Upload
aon-kanchana
View
13
Download
0
Embed Size (px)
Citation preview
โปรแกรมย่�อย่
ประเภทของโปรแกรมย่�อย่ประเภทของโปรแกรมย่�อย่ (Procedure) เป�น
ส่�วนหน� งของโปรแกรม ม!หน"าท! เฉพาะต�วโดย่แย่กการท&างานออกจาก โปรแกรมอย่�างอ(ส่ระ
การเข!ย่นโปรแกรมท! ม!การท&างานแบบโปรแกรมย่�อย่จะชั�วย่ลดความซั�บซั"อนของโปรแกรม ซั� งจะท&าให"ส่ามารถแก"ไขและเพ( มเต(ม การท&างานของโปรแกรมได"ง�าย่ข�/น ในบางคร�/งโปรแกรมหล�กจะม!การส่�งข"อม0ลไปท&างานในโปรแกรมย่�อย่ด"วย่ โดย่ข"อม0ลน�/นจะเก1บอย่0�ในร0ป ต�วแปรพ(เศษเร!ย่กว�า พาราม(เตอร� (Parameter)
Visual Basic 2008 สามารแบ่�งโปรแกรมย่�อย่ได้� 2 ประเภท คื�อ
Sub มาจากคื�าเต็�มว่�า ซั�บ่ร�ท�น (Subroutine) เป!นโปรแกรม ย่�อย่เม�"อท�างานแล้�ว่ จะไม�ม�การส�งผล้การท�างานกล้�บ่ไปย่�ง
โปรแกรม ท�"เร�ย่กซั�บ่ร�ท�นน�%ใช้�งานFunction เป!นโปรแกรมย่�อย่เม�"อท�างานเสร�จแล้�ว่ จะต็�องม�
การส�งผล้การท�างานกล้�บ่ไปย่�งโปรแกรมท�"เร�ย่กฟั)งก*ช้�นน�%ใช้�งาน ในท�"น�%ผ��เร�ย่กใช้� Sub หร�อ Function จะเป!นต็�ว่โปรแกรมหล้�ก
หร�อโปรแกรมย่�อย่อ�"นๆก�ได้�
โปรแกรมย่�อย่ไม�ว่�าจะเป!น Sub หร�อ Function น�%น จะม�หร�อไม�ม�การส�งข้�อม�ล้ผ�านต็�ว่พาราม/เต็อร*ก�ได้�ข้0%นอย่��ก�บ่ว่�า
โปรแกรมย่�อย่น�%นระบ่1 ให�ม�การก�าหนด้ต็�าแหน�งให�คื�าพาราม/เต็อร*หร�อไม�
โปรแกรมย่�อย่ชัน(ด Sub
Sub เป!นโปรแกรมท�"เข้�ย่นข้0%นมาเพ�"อการ ท�างานอย่�างใด้อย่�างหน0"ง โด้ย่ท�"ไม�ม�การร�บ่
พาราม/เต็อร*หร�ออาจจะม�การร�บ่พาราม/เต็อร*มา ท�างานก�ได้� แต็�ไม�ม�การส�งผล้การท�างานกล้�บ่ไปย่�ง
โปรแกรมท�"เร�ย่กซั�บ่ร�ท�นน�%ใช้�งาน ม�ร�ปแบ่บ่การ เข้�ย่น Sub ด้�งน�%
ต็�ว่อย่�างการใช้�งาน Subroutine : ต็�ว่อย่�างน�%จะสร�างแอพพล้/เคืช้�นแบ่บ่ระบ่บ่ล้งทะเบ่�ย่นซั0"งจะม�การใช้�
งาน Subroutine ท�"เราเข้�ย่นข้0%นมา
1. ออกแบ่บ่หน�าต็าแอพพล้/เคืช้�น แล้ะต็�%งช้�"อคือนโทรล้ ต็�างๆ ด้�งน�%
2. ด้�บ่เบ่/ล้คืล้/กท�"ฟัอร*มเพ�"อเข้�ย่นโคื�ด้ใน Even Load โด้ย่จะเร/"มแนะน�าให� ผ��ใช้�งานทราบ่ว่/ธี�การท�างานโด้ย่จะเร�ย่ก Sub ท�"ช้�"อว่�า InformUser
4. ด้�บ่เบ่/ล้คืล้/กท�"ป13ม ล้งทะเบ่�ย่น แล้�ว่เข้�ย่นโคื�ด้เพ�"อต็รว่จสอบ่คืว่ามคืรบ่ ถ้�ว่นถ้�กต็�องข้องข้�อม�ล้ท�"ป5อนเข้�าไป ถ้�าเร�ย่บ่ร�อย่ถ้�อว่�าล้งทะเบ่�ย่นได้� แต็�
ถ้�าไม�เร�ย่นร�อย่แจ�งให�ผ��ใช้�ทราบ่
5 . ส�าหร�บ่ Sub CheckPassword น�%นม�หล้�กการต็รว่จ สอบ่คืว่ามถ้�กต็�องอย่�� 3 ข้�อ ด้�งราย่ล้ะเอ�ย่ด้ท�"แสด้
ด้งในโคื�ด้ต็�อไปน�%
6 . ด้�บ่เบ่/ล้คืล้/กป13ม เคืล้�ย่ร* แล้�ว่เข้�ย่นโคื�ด้เพ�"อเคืล้�ย่ร*คื�า ข้�อม�ล้ใน TexBox ต็�างๆ ด้�งน�%
การใชั"ฟั งก�ชั�นมาตรฐานภาษาซั!
ส�าหร�บ่เน�%อหาในบ่ทน�%จะกล้�าว่ถ้0งฟั)งก*ช้�นในภาษา C โด้ย่จะประกอบ่ไปด้�ว่ย่เน�%อหาหล้�ก ๆ คื�อ เร�"องท�"
หน0"ง ฟั)งก*ช้�นมาต็รฐาน เป!นฟั)งก*ช้�นท�"บ่ร/ษ�ทท�"ผล้/ต็ ภาษา C ได้�เข้�ย่นข้0%นแล้ะเก�บ่ไว่�ใน header file ภาษา C คื�อเก�บ่ไว่�ในแฟั5มท�"ม�นามสก1ล้ *.h ต็�าง ๆ
ส�ว่นเร�"องท�"สอง เป!นฟั)งก*ช้�นท�"เข้�ย่นข้0%นหร�อเร�ย่กอ�ก อย่�างว่�าโปรแกรมย่�อย่ ท�"ผ��เข้�ย่นโปรแกรมเข้�ย่นข้0%น
มาใช้�งานอย่�างใด้อย่�างหน0"งต็ามคืว่ามต็�องการข้อง งานน�%น ๆ โด้ย่ราย่ล้ะเอ�ย่ด้ข้องแต็�ล้ะฟั)งก*ช้�นม�ด้�งต็�อ
ไปน�%
ฟั งก�ชั�นมาตรฐาน (standard functions)
เป!นฟั)งก*ช้�นท�"บ่ร/ษ�ทท�"ผล้/ต็ภาษา C ได้�เข้�ย่นข้0%นแล้ะเก�บ่ไว่� ใน header file ภาษา C คื�อเก�บ่ไว่�ในแฟั5มท�"ม�นามสก1ล้ *.h ต็�าง
ๆ เม�"อต็�องการใช้�ฟั)งก*ช้�นใด้ จะต็�องร� �ว่�าฟั)งก*ช้�นน�%นอย่��ใน header file ใด้จากน�%นจ0งคื�อย่ใช้�คื�าส�"ง #include<header file.h> เข้�ามาใน
ส�ว่นต็อนต็�นข้องโปรแกรม จ0งจะสามารถ้ใช้�ฟั)งก*ช้�นท�"ต็�องการได้� ซั0"งฟั)งก*ช้�นมาต็รฐานเป!นฟั)งก*ช้�นท�"บ่ร/ษ�ทผ��ผล้/ต็ C compiler
เข้�ย่นข้0%นเพ�"อให�ผ��ใช้�น�าไปช้�ว่ย่ในการเข้�ย่นโปรแกรมท�าให�การเข้�ย่น โปรแกรมสะด้ว่กแล้ะง�าย่ข้0%น บ่างคืร�%งเราอาจจะเร�ย่กฟั)งก*ช้�น
” ” มาต็รฐานว่�า ไล้บ่ราร�ฟั)งก*ช้�น (library functions)
ส�าหร�บ่ฟั)งก*ช้�นมาต็รฐานท�"จะกล้�าว่ถ้0งในห�ว่ข้�อน�%จะกล้�าว่ เฉพาะฟั)งก*ช้�นมาต็รฐานท�"จ�าเป!น แล้ะเร�ย่กใช้�งานบ่�อย่ ๆ เท�าน�%น
ซั0"งม�ด้�งต็�อไปน�%
ฟั งก�ชั�นทางคณิ(ตศาส่ตร� (mathematic functions) เป!นฟั)งก*ช้�นท�"ใช้�ส�าหร�บ่การคื�านว่ณทางคืณ/ต็ศาสต็ร* แล้ะ
ก�อนท�"จะใช้�ฟั)งก*ช้�นประเภทน�% จะต็�องใช้�คื�าส�"ง #include <math.h> แทรกอย่��ต็อนต็�นข้องโปรแกรม แล้ะต็�ว่แปรท�"จะใช้�
ฟั)งก*ช้�นประเภทน�%จะต็�องม�ช้น/ด้ (type) เป!น double เน�"องจาก ผล้ล้�พธี*ท�"ได้�จากฟั)งก*ช้�นประเภทน�%จะได้�คื�าส�งกล้�บ่ข้องข้�อม�ล้เป!น
double เช้�นก�น
1) ฟั งก�ชั�น acos(x) เป!นฟั)งก*ช้�นท�"ใช้�คื�านว่ณหาคื�า arc cosine ข้อง x โด้ย่ท�" x เป!นคื�าม1มในหน�ว่ย่
เรเด้�ย่น (radian) ร0ปแบบ acos(x);
2) ฟั งก�ชั�น asin(x) เป!นฟั)งก*ช้�นท�"ใช้�คื�านว่ณหาคื�า arc sine ข้อง x โด้ย่ท�" x เป!นคื�าม1มในหน�ว่ย่
เรเด้�ย่นร0ปแบบ asin(x);
3) ฟั งก�ชั�น atan(x) เป!นฟั)งก*ช้�นท�"ใช้�คื�านว่ณหาคื�า arc tan ข้อง x โด้ย่ท�" x เป!นคื�าม1มในหน�ว่ย่
เรเด้�ย่น ร0ปแบบ atan(x);
4) ฟั งก�ชั�น sin(x) เป!นฟั)งก*ช้�นท�"ใช้�คื�านว่ณหาคื�า sine ข้อง x โด้ย่ท�" x เป!นคื�าม1มในหน�ว่ย่เรเด้�ย่น
ร0ปแบบ sin(x);5) ฟั งก�ชั�น cos(x)
เป!นฟั)งก*ช้�นท�"ใช้�คื�านว่ณหาคื�า cosine ข้อง x โด้ย่ท�" x เป!นคื�าม1มในหน�ว่ย่เรเด้�ย่นร0ปแบบ cos(x);
6) ฟั งก�ชั�น tan(x) เป!นฟั)งก*ช้�นท�"ใช้�คื�านว่ณหาคื�า tan ข้อง x โด้ย่ท�" x เป!นคื�าม1มในหน�ว่ย่เรเด้�ย่น
ร0ปแบบ tan(x);
โปรแกรมต�วอย่�าง แสด้งการใช้�งานฟั)งก*ช้�น acos(x), asin(x), atan(x), sin(x), cos(x) แล้ะ tan(x)
/* math1.c */#include<stdio.h> /* บ่รรท�ด้ท�" 1
*/#include<math.h> /* บ่รรท�ด้ท�" 2 */#include<conio.h> /* บ่รรท�ด้ท�" 3 */void main(void) /* บ่รรท�ด้ท�" 4 */{ /* บ่รรท�ด้ท�" 5 */ double r, pi = 3.141592654; /* บ่รรท�ด้ท�" 6 */ r = pi/180; /* บ่รรท�ด้ท�" 7 */ clrscr(); /* บ่รรท�ด้ท�" 8 */ printf("%f\n",asin(r)); /* บ่รรท�ด้ท�" 9 */ printf("%f\n",acos(r)); /* บ่รรท�ด้ท�" 10 */ printf("%f\n",atan(r)); /* บ่รรท�ด้ท�" 11 */ printf("%f\n",sin(r)); /* บ่รรท�ด้ท�" 12 */ printf("%f\n",cos(r)); /* บ่รรท�ด้ท�" 13 */ printf("%f\n",tan(r)); /* บ่รรท�ด้ท�" 14 */ printf("\nPress any key back to program ..."); /* บ่รรท�ด้ท�" 15 */ getch(); /* บ่รรท�ด้ท�" 16 */} /* บ่รรท�ด้ท�"17 */
สามารถ้อธี/บ่าย่การท�างานข้องโปรแกรมท�"ส�าคื�ญ ๆ ได้�ด้�งน�% บรรท�ดท! 9 คื�าส�"ง printf("%f\n",asin(r)); ฟั)งก*ช้�นคื�านว่ณหาคื�า arc
sin ข้องต็�ว่แปร r โด้ย่ r เป!นม1มในหน�ว่ย่เรเด้�ย่น แล้ะแสด้งผล้ล้�พธี*ท�"ได้�ออกจอภาพ
บรรท�ดท! 10 คื�าส�"ง printf("%f\n",acos(r)); ฟั)งก*ช้�นคื�านว่ณหาคื�า arc cosine ข้องต็�ว่แปร r โด้ย่ r เป!นม1มในหน�ว่ย่เรเด้�ย่น แล้ะแสด้งผล้ล้�พธี*ท�"ได้�ออกจอภาพ
บรรท�ดท! 11 คื�าส�"ง printf("%f\n",atan(r)); ฟั)งก*ช้�นคื�านว่ณหาคื�า arc tan ข้องต็�ว่แปร r โด้ย่ r เป!นม1มในหน�ว่ย่เรเด้�ย่น แล้ะแสด้งผล้ล้�พธี*ท�"ได้�ออกจอภาพ
บรรท�ดท! 12 คื�าส�"ง printf("%f\n",sin(r)); ฟั)งก*ช้�นคื�านว่ณหาคื�า sine ข้องต็�ว่แปร r โด้ย่ r เป!นม1มในหน�ว่ย่เรเด้�ย่น แล้ะแสด้งผล้ล้�พธี*ท�"ได้�
ออกจอภาพ บรรท�ดท! 13 คื�าส�"ง printf("%f\n",cos(r)); ฟั)งก*ช้�นคื�านว่ณหาคื�า
cosine ข้องต็�ว่แปร r โด้ย่ r เป!นม1มในหน�ว่ย่เรเด้�ย่น แล้ะแสด้งผล้ล้�พธี*ท�"ได้�ออกจอภาพ
บรรท�ดท! 14 คื�าส�"ง printf("%f\n",tan(r)); ฟั)งก*ช้�นคื�านว่ณหาคื�า tan ข้องต็�ว่แปร r โด้ย่ r เป!นม1มในหน�ว่ย่เรเด้�ย่น แล้ะแสด้งผล้ล้�พธี*ท�"ได้�
ออกจอภาพ บรรท�ดท! 15 และ 16 พ/มพ*ข้�อคืว่ามให�กด้คื�ย่*ใด้ ๆ เพ�"อกล้�บ่ส��โปรแกรม
แล้ะหย่1ด้รอร�บ่คื�าใด้ๆ เช้�น กด้ enter จะกล้�บ่เข้�าส��โปรแกรม
7) ฟั งก�ชั�น sqrt(x) เป!นฟั)งก*ช้�นท�"ใช้�หาคื�ารากท�" 2 (square root) ข้องคื�าคืงท�"หร�อ
ต็�ว่แปร x โด้ย่ท�" x จะต็�องเป!นคื�าคืงท�"ช้น/ด้ต็�ว่เล้ข้หร�อต็�ว่แปรท�"ม�คื�าไม�ต็/ด้ล้บ่ร0ปแบบ sqrt(x);
8) ฟั งก�ชั�น exp(x) เป!นฟั)งก*ช้�นท�"ใช้�หาคื�า ex โด้ย่ท�" x เป!นคื�าคืงท�"หร�อต็�ว่แปรท�"จะใช้�
เป!นคื�าย่กก�าล้�งข้อง e โด้ย่ท�" e ม�คื�าประมาณ 2.718282ร0ปแบบ exp(x);
9) ฟั งก�ชั�น pow(x,y) เป!นฟั)งก*ช้�นท�"ใช้�หาคื�า xy โด้ย่ท�
x เป!นคื�าคืงท�"หร�อต็�ว่แปรท�"ใช้�เป!นต็�ว่ฐานซั0"งจะต็�องม�คื�ามากกว่�าศ�นย่*y เป!นคื�าคืงท�"หร�อต็�ว่แปรท�"ใช้�เป!นคื�าย่กก�าล้�ง
ร0ปแบบ pow(x, y);
โปรแกรมต�วอย่�าง แสด้งการใช้�งานฟั)งก*ช้�น sqrt(x), exp(x) แล้ะ pow(x, y)
/* math2.c */#include<stdio.h> /* บ่รรท�ด้ท�" 1
*/#include<math.h> /* บ่รรท�ด้ท�" 2 */#include<conio.h> /* บ่รรท�ด้ท�" 3 */void main(void) /* บ่รรท�ด้ท�" 4 */{ /* บ่รรท�ด้ท�" 5 */ double x = 2.5, y = 7.0, z = 21.5; /* บ่รรท�ด้ท�" 6 */ clrscr( ); /* บ่รรท�ด้ท�" 7 */ printf("%.4f\n",pow(x,y)); /* บ่รรท�ด้ท�" 8 */ printf("%.4f\n",sqrt(z)); /* บ่รรท�ด้ท�" 9 */ printf("%.4f\n",exp(y)); /* บ่รรท�ด้ท�" 10 */ printf("\nPress any key back to program ..."); /* บ่รรท�ด้ท�" 11 */ getch(); /* บ่รรท�ด้ท�" 12 */} /* บ่รรท�ด้ท�" 13 */
จากโปรแกรมต็�ว่อย่�าง สามารถ้อธี/บ่าย่การท�างานข้องโปรแกรมท�" ส�าคื�ญ ๆ ได้�ด้�งน�% บรรท�ดท! 8 ค&าส่� ง printf("%.4f\n",pow(x,y)); ฟั)งก*ช้�นคื�านว่ณหา
คื�า xy โด้ย่ท�" x เป!นคื�าคืงท�"หร�อต็�ว่แปรท�"ใช้�ต็�ว่ฐานซั0"งจะต็�องม�คื�า มากกว่�าศ�นย่* แล้ะ y เป!นคื�าคืงท�"หร�อต็�ว่แปรท�"ใช้�เป!นคื�าย่กก�าล้�ง
แล้ะแสด้งผล้ท�"ได้�ออกจอภาพ บรรท�ดท! 9 ค&าส่� ง printf("%.4f\n",sqrt(z)); ฟั)งก*ช้�นคื�านว่ณหาคื�า
รากท�"สอง (square root) ข้องคื�าคืงท�"หร�อต็�ว่แปร z โด้ย่ท�" z จะ ต็�องเป!นคื�าคืงท�"ช้น/ด้ต็�ว่เล้ข้หร�อต็�ว่แปรท�"ม�คื�าไม�ต็/ด้ล้บ่ แล้ะแสด้ง
ผล้ท�"ได้�ออกจอภาพ บรรท�ดท! 10 คื�าส�"ง printf("%.4f\n",exp(y)); ฟั)งก*ช้�นคื�านว่ณหาคื�า
ey โด้ย่ท�" y เป!นคื�าคืงท�"หร�อต็�ว่แปรท�"จะใช้�เป!นคื�าย่กก�าล้�งข้อง e โด้ย่ท�" e ม�คื�าประมาณ 2.718282 แล้ะแสด้งผล้ท�"ได้�ออกจอภาพ
บ่รรท�ด้ท�" 11 แล้ะ 12 พ/มพ*ข้�อคืว่ามให�กด้คื�ย่*ใด้ ๆ เพ�"อกล้�บ่ส�� โปรแกรม แล้ะหย่1ด้รอร�บ่คื�าใด้ ๆ เช้�น กด้ enter จะกล้�บ่เข้�าส��
โปรแกรม
10) ฟั)งก*ช้�น log(x) เป!นฟั)งก*ช้�นท�"ใช้�หาคื�า log ฐาน n (natural logarithm) ข้องคื�า
คืงท�"หร�อต็�ว่แปร x โด้ย่ท�" x เป!นคื�าคืงท�"หร�อต็�ว่แปรท�"ม�คื�าเป!นล้บ่ไม�ได้�ร�ปแบ่บ่ log(x);
11) ฟั)งก*ช้�น log10(x) เป!นฟั)งก*ช้�นท�"ใช้�หาคื�า log ฐาน 10 ข้องคื�าคืงท�"หร�อต็�ว่แปร x
โด้ย่ท�" x เป!นคื�าคืงท�"หร�อต็�ว่แปรท�"ม�คื�าเป!นล้บ่ไม�ได้�ร�ปแบ่บ่ log10(x);
โปรแกรมต�วอย่�าง แสด้งการใช้�งานฟั)งก*ช้�น log(x) แล้ะ log10(x)/* math3.c */#include<stdio.h> /* บ่รรท�ด้ท�" 1 */
#include<math.h> /* บ่รรท�ด้ท�" 2 */#include<conio.h> /* บ่รรท�ด้ท�" 3 */void main(void) /* บ่รรท�ด้ท�" 4 */{ /* บ่รรท�ด้ท�" 5 */ double m = 10.0, n = 3.0; /* บ่รรท�ด้ท�" 6 */ clrscr( ); /* บ่รรท�ด้ท�" 7 */ printf("%.4f\n",log(n)); /* บ่รรท�ด้ท�" 8 */ printf("%.4f\n",log10(m)); /* บ่รรท�ด้ท�" 9 */ printf("\nPress any key back to program ..."); /* บ่รรท�ด้ท�" 10 */ getch(); /* บ่รรท�ด้ท�" 11 */} /* บ่รรท�ด้ท�" 12 */
จากโปรแกรมต�วอย่�าง สามารถ้อธี/บ่าย่การท�างานข้องโปรแกรมท�" ส�าคื�ญ ๆ ได้�ด้�งน�%
บรรท�ดท! 8 ค&าส่� ง printf(“%.4f\n”,log(n)); ฟั)งก*ช้�นท�"ใช้�หาคื�า log ฐาน n (natural logorithm) ข้องคื�าคืงท�"หร�อต็�ว่แปร n โด้ย่ท�" n
เป!นคื�าคืงท�"หร�อต็�ว่แปรท�"ม�คื�าเป!นล้บ่ไม�ได้� แล้ะแสด้งผล้ท�"ได้�ออก จอภาพ
บรรท�ดท! 9 ค&าส่� ง printf("%.4f\n",log10(m)); ฟั)งก*ช้�นท�"ใช้�หาคื�าlog ฐาน 10 ข้องคื�าคืงท�"หร�อต็�ว่แปร m โด้ย่ท�" m เป!นคื�าคืงท�"หร�อ
ต็�ว่แปรท�"ม�คื�าเป!นล้บ่ไม�ได้� แล้ะแสด้งผล้ท�"ได้�ออกจอภาพ บรรท�ดท! 10 และ 11 พ/มพ*ข้�อคืว่ามให�กด้คื�ย่*ใด้ ๆ เพ�"อกล้�บ่ส��
โปรแกรม แล้ะหย่1ด้รอร�บ่คื�าใด้ ๆ เช้�น กด้ enter จะกล้�บ่เข้�าส��โปรแกรม
12) ฟั งก�ชั�น ceil(x) เป!นฟั)งก*ช้�นท�"ใช้�ในการป)ด้เศษทศน/ย่มข้0%นข้องต็�ว่แปร x ถ้�า x เป!น
ต็�ว่เล้ข้จ�านว่นทศน/ย่ม แต็�ถ้�า x เป!นเล้ข้จ�านว่นเต็�มจะไม�ม�การป)ด้เศษทศน/ย่มร0ปแบบ ceil(x);
13) ฟั งก�ชั�น floor(x) เป!นฟั)งก*ช้�นท�"ใช้�ในการต็�ด้เศษทศน/ย่มท/%งข้องต็�ว่แปร x ถ้�า x เป!น
ต็�ว่เล้ข้จ�านว่นทศน/ย่ม แต็�ถ้�า x เป!นเล้ข้จ�านว่นเต็�มจะไม�ม�การต็�ด้เศษทศน/ย่มท/%ง ร0ปแบบ floor(x);
โปรแกรมต�วอย่�าง แสด้งการใช้�งานฟั)งก*ช้�น ceil(x) แล้ะ floor(x)
/* math4.c */#include<stdio.h> /* บ่รรท�ด้ท�" 1 */
#include<math.h> /* บ่รรท�ด้ท�" 2 */#include<conio.h> /* บ่รรท�ด้ท�" 3 */void main(void) /* บ่รรท�ด้ท�" 4 */{ /* บ่รรท�ด้ท�" 5 */ clrscr(); /* บ่รรท�ด้ท�" 6 */ printf("%.4f\n", ceil(9.8765)); /* บ่รรท�ด้ท�" 7 */ printf("%.4f\n", ceil(-3.7654)); /* บ่รรท�ด้ท�" 8 */ printf("%.4f\n", ceil(80)); /* บ่รรท�ด้ท�" 9 */ printf("%.4f\n", floor(7.9876)); /* บ่รรท�ด้ท�" 10 */ printf("%.4f\n", floor(-3.321)); /* บ่รรท�ด้ท�" 11 */ printf("%.4f\n", floor(180)); /* บ่รรท�ด้ท�" 12 */ printf("\nPress any key back to program ..."); /* บ่รรท�ด้ท�" 13 */ getch(); /* บ่รรท�ด้ท�" 14 */} /* บ่รรท�ด้ท�" 15 */
จากโปรแกรมต�วอย่�าง สามารถ้อธี/บ่าย่การท�างานข้องโปรแกรมท�"ส�าคื�ญ ๆ ได้�ด้�งน�%
บรรท�ดท! 7 ค&าส่� ง printf(“%.4f\n”,ceil(9.8765)); ฟั)งก*ช้�นท�"ใช้�ในการ ป)ด้เศษทศน/ย่มข้0%นข้องต็�ว่เล้ข้ 9.8765 แล้ะแสด้งผล้ออกท�"จอภาพ
บรรท�ดท! 8 ค&าส่� ง printf(“%.4f\n”,ceil(-3.7654)); ฟั)งก*ช้�นท�"ใช้�ในการ ป)ด้เศษทศน/ย่มข้0%นข้องต็�ว่เล้ข้ -3.7654 แล้ะแสด้งผล้ออกท�"จอภาพ
บรรท�ดท! 9 ค&าส่� ง printf(“%.4f\n”,ceil(80)); ฟั)งก*ช้�นท�"ใช้�ในการป)ด้เศษ ทศน/ย่มข้0%นข้องต็�ว่เล้ข้ 80 แล้ะแสด้งผล้ออกท�"จอภาพ
บรรท�ดท! 10 ค&าส่� ง printf(“%.4f\n”,floor(7.9876)); ฟั)งก*ช้�นท�"ใช้�ในการ ต็�ด้เศษทศน/ย่มท/%งข้องต็�ว่เล้ข้ 7.9876 แล้ะแสด้งผล้ออกท�"จอภาพ
บรรท�ดท! 11 ค&าส่� ง printf(“%.4f\n”,floor(-3.321)); ฟั)งก*ช้�นท�"ใช้�ในการ ต็�ด้เศษทศน/ย่มท/%งข้องต็�ว่เล้ข้ -3.321 แล้ะแสด้งผล้ออกท�"จอภาพ
บรรท�ดท! 12 ค&าส่� ง printf(“%.4f\n”,floor(180)); ฟั)งก*ช้�นท�"ใช้�ในการต็�ด้ เศษทศน/ย่มท/%งข้องต็�ว่เล้ข้ 180 แล้ะแสด้งผล้ออกท�"จอภาพ
บรรท�ดท! 13 และ 14 พ/มพ*ข้�อคืว่ามให�กด้คื�ย่*ใด้ ๆ เพ�"อกล้�บ่ส��โปรแกรม แล้ะหย่1ด้รอร�บ่คื�าใด้ ๆ เช้�น กด้ enter จะกล้�บ่เข้�าส��โปรแกรม
14. ฟั งก�ชั�น fabs(x) เป!นฟั)งก*ช้�นท�"ใช้�หาคื�าส�มบ่�รณ* (absolute value) ข้องคื�าคืงท�"หร�อ
ต็�ว่แปร x โด้ย่ท�" x เป!นคื�าคืงท�"หร�อต็�ว่แปรท�"เก�บ่คื�าต็�ว่เล้ข้จ1ด้ทศน/ย่มท�"ม�คื�าบ่ว่กหร�อล้บ่ก�ได้�ร0ปแบบ fabs(x);
โปรแกรมต�วอย่�าง แสด้งการใช้�งานฟั)งก*ช้�น fabs(x)
/* math5.c */#include<stdio.h> /* บ่รรท�ด้ท�" 1 */
#include<math.h> /* บ่รรท�ด้ท�" 2 */#include<conio.h> /* บ่รรท�ด้ท�" 3 */void main(void) /* บ่รรท�ด้ท�" 4 */{ /* บ่รรท�ด้ท�" 5 */ double x = 123.4567, y = -891.2345; /* บ่รรท�ด้ท�" 6 */ clrscr(); /* บ่รรท�ด้ท�" 7 */ printf("Absolute value of x = %.5f\n",fabs(x)); /* บ่รรท�ด้ท�" 8 */ printf("Absolute value of y = %.5f\n",fabs(y)); /* บ่รรท�ด้ท�" 9 */ printf("\nPress any key back to program ..."); /* บ่รรท�ด้ท�" 10 */ getch(); /* บ่รรท�ด้ท�" 11 */} /* บ่รรท�ด้ท�" 12 */
ผลล�พธ์�ท! ได"จากโปรแกรม
จากโปรแกรมต�วอย่�าง สามารถ้อธี/บ่าย่การท�างานข้องโปรแกรมท�" ส�าคื�ญ ๆ ได้�ด้�งน�% บรรท�ดท! 8 และ 9 ใช้�ฟั)งก*ช้�น fabs( ) หาคื�าส�มบ่�รณ* (absolute
value) ข้องคื�าคืงท�"หร�อต็�ว่แปร x แล้ะ y แล้ะแสด้งผล้ออกท�" จอภาพ ต็ามล้�าด้�บ่
บรรท�ดท! 10 และ 11 พ/มพ*ข้�อคืว่ามให�กด้คื�ย่*ใด้ ๆ เพ�"อกล้�บ่ส��โปรแกรม แล้ะหย่1ด้รอร�บ่คื�าใด้ ๆ เช้�น กด้ enter จะกล้�บ่เข้�าส��โปรแกรม
ฟั งก�ชั�นเก! ย่วก�บต�วอ�กษร (character functions) เป!นฟั)งก*ช้�นท�"ใช้�ก�บ่ข้�อม�ล้ท�"ม�ช้น/ด้เป!น single char (ใช้�
เน�%อท�" 1 byte) เท�าน�%น แล้ะก�อนท�"จะใช้�ฟั)งก*ช้�นประเภทน�%จะต็�องใช้� คื�าส�"ง #include<ctype.h> แทรกอย่��ต็อนต็�นข้องโปรแกรม จ0งจะ
สามารถ้เร�ย่กใช้�ฟั)งก*ช้�นประเภทน�%ได้�
ฟั)งก*ช้�นท�"เก�"ย่ว่ก�บ่ต็�ว่อ�กษรท�"คืว่รทราบ่ ม�ด้�งน�%isalnum(ch) isalpha(ch) isdigit(ch) islower(ch) isupper(ch) tolower(ch) toupper(ch)isspace(ch) isxdigit(ch)
ม�ราย่ล้ะเอ�ย่ด้ข้องฟั)งก*ช้�นแต็�ล้ะฟั)งก*ช้�นด้�งต็�อไปน�%1) ฟั งก�ชั�น isalnum(ch)
เป!นฟั)งก*ช้�นท�"ใช้�ต็รว่จสอบ่ว่�าข้�อม�ล้ท�"เก�บ่ไว่�ในต็�ว่แปร ch เป!นต็�ว่ อ�กษรหร�อต็�ว่เล้ข้ (letter or digit) ถ้�าข้�อม�ล้ท�"เก�บ่ไว่�เป!นต็�ว่
อ�กษรหร�อต็�ว่เล้ข้ก�จะส�งคื�ากล้�บ่ท�"เป!นจ�านว่นเต็�มท�"ม�คื�าไม�เท�าก�บ่ ศ�นย่*มาย่�งฟั)งก*ช้�น แล้ะถ้�าข้�อม�ล้ท�"เก�บ่ไว่�ในต็�ว่แปร ch ไม�ได้�เก�บ่
ต็�ว่อ�กษรหร�อต็�ว่เล้ข้ก�จะส�งคื�ากล้�บ่ท�"ม�คื�าเป!นศ�นย่*มาย่�งฟั)งก*ช้�นร0ปแบบ isalnum(ch);
2) ฟั งก�ชั�น isalpha(ch) เป!นฟั)งก*ช้�นท�"ใช้�ต็รว่จสอบ่ว่�าข้�อม�ล้ท�"เก�บ่ไว่�ในต็�ว่แปร ch เป!น
ต็�ว่อ�กษร (letter) หร�อไม� ถ้�าใช้�ฟั)งก*ช้�นน�%จะให�คื�าส�งกล้�บ่เป!น เล้ข้จ�านว่นเต็�มท�"ไม�เท�าก�บ่ศ�นย่* ถ้�าไม�ใช้�ฟั)งก*ช้�นน�%จะให�คื�าส�งกล้�บ่
มาเป!นเล้ข้ศ�นย่* (0)ร0ปแบบ isalpha(ch);
3) ฟั งก�ชั�น isdigit(ch) เป!นฟั)งก*ช้�นท�"ใช้�ต็รว่จสอบ่ว่�าข้�อม�ล้ท�"เก�บ่ไว่�ในต็�ว่แปร ch เป!น
ต็�ว่เล้ข้ 0 ถ้0ง 9 หร�อไม� ถ้�าใช้�ฟั)งก*ช้�นน�%จะให�คื�าส�งกล้�บ่เป!น เล้ข้จ�านว่นเต็�มท�"ไม�เท�าก�บ่ศ�นย่* ถ้�าไม�ใช้�ฟั)งก*ช้�นน�%จะไม�ม�การส�งคื�า
กล้�บ่ ร0ปแบบ isdigit(ch);
โปรแกรมต�วอย่�าง แสด้งการใช้�งานฟั)งก*ช้�น isalnum(ch), isalpha(ch) แล้ะ isdigit(ch)/* char1.c */
#include<stdio.h> /* บ่รรท�ด้ท�" 1 */#include<ctype.h> /* บ่รรท�ด้ท�" 2 */#include<conio.h> /* บ่รรท�ด้ท�" 3 */void main(void) /* บ่รรท�ด้ท�" 4 */{ /* บ่รรท�ด้ท�" 5 */ char ch1 = '6', ch2 = 'K', ch3 = '*'; /* บ่รรท�ด้ท�" 6 */ clrscr( ); /* บ่รรท�ด้ท�" 7 */ printf("%d\n",isalnum(ch1)); /* บ่รรท�ด้ท�" 8 */ printf("%d\n",isalnum(ch2)); /* บ่รรท�ด้ท�" 9 */ printf("%d\n",isalnum(ch3)); /* บ่รรท�ด้ท�" 10 */ printf("%d\n",isalpha(ch1)); /* บ่รรท�ด้ท�" 11 */ printf("%d\n",isalpha(ch2)); /* บ่รรท�ด้ท�" 12 */ printf("%d\n",isalpha(ch3)); /* บ่รรท�ด้ท�" 13 */ printf("%d\n",isdigit(ch1)); /* บ่รรท�ด้ท�" 14 */ printf("%d\n",isdigit(ch2)); /* บ่รรท�ด้ท�" 15 */ printf("%d\n",isdigit(ch3)); /* บ่รรท�ด้ท�" 16 */ printf("\nPress any key back to program ..."); /* บ่รรท�ด้ท�" 17 */ getch(); /* บ่รรท�ด้ท�" 18 */} /* บ่รรท�ด้ท�" 19 */
จากโปรแกรมต�วอย่�าง ส่ามารถอธ์(บาย่การท&างานของโปรแกรมท! ส่&าค�ญ ๆ ได"ด�งน!/
บรรท�ดท! 8 ถ�ง 10 ใช้�ฟั)งก*ช้�น isalnum( ) ใช้�ต็รว่จสอบ่ว่�าข้�อม�ล้ท�"เก�บ่ไว่� ในต็�ว่แปร ch1, ch2 แล้ะ ch3 ต็ามล้�าด้�บ่ เป!นต็�ว่อ�กษรหร�อต็�ว่เล้ข้ ซั0"ง
ถ้�าข้�อม�ล้ท�"เก�บ่ไว่�เป!นต็�ว่อ�กษรหร�อต็�ว่เล้ข้จะส�งคื�ากล้�บ่ท�"เป!นจ�านว่นเต็�มท�" ม�คื�าไม�เท�าก�บ่ศ�นย่*มาย่�งฟั)งก*ช้�น แต็�ถ้�าข้�อม�ล้ในต็�ว่แปรไม�ได้�เก�บ่ต็�ว่อ�กษร
หร�อต็�ว่เล้ข้จะส�งคื�าศ�นย่*กล้�บ่มาย่�งฟั)งก*ช้�น แล้�ว่แสด้งผล้ท�"ได้�ออกมาจอภาพ
บรรท�ดท! 11 ถ�ง 13 ใช้�ฟั)งก*ช้�น isalpha( ) ใช้�ต็รว่จสอบ่ว่�าข้�อม�ล้ใน ต็�ว่แปร ch1, ch2 แล้ะ ch3 ต็ามล้�าด้�บ่ เป!นต็�ว่อ�กษรหร�อไม� ถ้�าใช้�
ฟั)งก*ช้�นจะให�คื�ากล้�บ่เป!นเล้ข้จ�านว่นเต็�มท�"ไม�เท�าก�บ่ศ�นย่* ถ้�าไม�ใช้�ฟั)งก*ช้�นจะ ให�คื�ากล้�บ่เป!นศ�นย่* แล้�ว่แสด้งผล้ท�"ได้�ออกจอภาพ
บรรท�ดท! 14 ถ�ง 16 ใช้�ฟั)งก*ช้�น isdigit( ) ใช้�ต็รว่จสอบ่ว่�าข้�อม�ล้ท�"เก�บ่ใน ต็�ว่แปร ch1, ch2 แล้ะ ch3 ต็ามล้�าด้�บ่ เป!นต็�ว่เล้ข้ 0 ถ้0ง 9 หร�อไม� ถ้�า
ใช้�ฟั)งก*ช้�นจะให�คื�ากล้�บ่เป!นเล้ข้จ�านว่นเต็�มท�"ไม�เท�าก�บ่ศ�นย่* ถ้�าไม�ใช้�ฟั)งก*ช้�นจะไม�ม�การส�งคื�ากล้�บ่
บรรท�ดท! 17 และ 18 พ/มพ*ข้�อคืว่ามให�กด้คื�ย่*ใด้ ๆ เพ�"อกล้�บ่ส��โปรแกรม แล้ะหย่1ด้รอร�บ่คื�าใด้ ๆ เช้�น กด้ enter จะกล้�บ่เข้�าส��โปรแกรม
4) ฟั)งก*ช้�น islower(ch) เป!นฟั)งก*ช้�นท�"ใช้�ต็รว่จสอบ่ว่�าข้�อม�ล้ท�"เก�บ่ไว่�ในต็�ว่แปร ch เป!นต็�ว่
อ�กษรต็�ว่เล้�กหร�อไม� ถ้�าใช้�ให�ส�งคื�ากล้�บ่เป!นเล้ข้จ�านว่นเต็�มท�"ไม� เท�าก�บ่ศ�นย่* ถ้�าไม�ใช้�ฟั)งก*ช้�นน�%จะให�คื�าส�งกล้�บ่เป!นเล้ข้ศ�นย่* (0)
ร�ปแบ่บ่ islower(ch);5) ฟั)งก*ช้�น isupper(ch)
เป!นฟั)งก*ช้�นท�"ใช้�ต็รว่จสอบ่ว่�าข้�อม�ล้ท�"เก�บ่ไว่�ในต็�ว่แปร ch เป!นต็�ว่ อ�กษรต็�ว่ใหญ�หร�อไม� ถ้�าใช้�ให�ส�งคื�ากล้�บ่เป!นเล้ข้จ�านว่นเต็�มท�"ไม�
เท�าก�บ่ศ�นย่* ถ้�าไม�ใช้�ฟั)งก*ช้�นน�%จะให�คื�าส�งกล้�บ่เป!นเล้ข้ศ�นย่* (0)ร0ปแบบ isupper(ch);
6) ฟั)งก*ช้�น tolower(ch) เป!นฟั)งก*ช้�นท�"ใช้�เปล้�"ย่นต็�ว่อ�กษรต็�ว่ใหญ�ท�"เก�บ่ไว่�ในต็�ว่แปร ch ให�
เป!นอ�กษรต็�ว่เล้�กร�ปแบ่บ่ tolower(ch);
7) ฟั)งก*ช้�น toupper(ch) เป!นฟั)งก*ช้�นท�"ใช้�เปล้�"ย่นต็�ว่อ�กษรต็�ว่เล้�กท�"เก�บ่ไว่�ในต็�ว่แปร ch ให�
เป!นอ�กษรต็�ว่ใหญ�ร0ปแบบ toupper(ch);
โปรแกรมต�วอย่�าง แสด้งการใช้�งานฟั)งก*ช้�น islower(ch), isupper(ch), tolower(ch) แล้ะ toupper(ch)
/* char2.c */#include<stdio.h> /* บ่รรท�ด้ท�" 1 */
#include<ctype.h> /* บ่รรท�ด้ท�" 2 */#include<conio.h> /* บ่รรท�ด้ท�" 3 */void main(void) /* บ่รรท�ด้ท�" 4 */{ /* บ่รรท�ด้ท�" 5 */ char ch1 = 'm', ch2 = 'N'; clrscr( ); /* บ่รรท�ด้ท�" 6 */ printf("%d\t%d\n",islower(ch1),islower(ch2)); /* บ่รรท�ด้ท�" 7 */ printf("%d\t%d\n",isupper(ch1),isupper(ch2)); /* บ่รรท�ด้ท�" 8 */ printf("%c\t%c\n",tolower(ch1),toupper(ch2)); /* บ่รรท�ด้ท�" 9 */ printf("\nPress any key back to program ..."); /* บ่รรท�ด้ท�" 10 */ getch(); /* บ่รรท�ด้ท�" 11 */} /* บ่รรท�ด้ท�" 12 */
จากโปรแกรมต็�ว่อย่�าง สามารถ้อธี/บ่าย่การท�างานข้องโปรแกรมท�"ส�าคื�ญ ๆ ได้�ด้�งน�%
บรรท�ดท! 7 ใช้�ฟั)งก*ช้�น islower( ) ต็รว่จสอบ่ต็�ว่อ�กษรท�"เก�บ่ไว่�ในต็�ว่แปรch1 แล้ะ ch2 เป!นต็�ว่อ�กษรต็�ว่พ/มพ*เล้�กหร�อไม� ถ้�าใช้�ฟั)งก*ช้�นจะให�คื�า
กล้�บ่เป!นเล้ข้จ�านว่นเต็�มท�"ไม�เท�าก�บ่ศ�นย่* ถ้�าไม�ใช้�ฟั)งก*ช้�นจะให�คื�ากล้�บ่ เป!นเล้ข้ศ�นย่* แล้�ว่แสด้งผล้ออกท�"จอภาพ
บรรท�ดท! 8 ใช้�ฟั)งก*ช้�น isupper( ) ต็รว่จสอบ่ต็�ว่อ�กษรท�"เก�บ่ไว่�ในต็�ว่แปรch1 แล้ะ ch2 เป!นต็�ว่อ�กษรต็�ว่พ/มพ*ใหญ�หร�อไม� ถ้�าใช้�ฟั)งก*ช้�นจะให�คื�า
กล้�บ่เป!นเล้ข้จ�านว่นเต็�มท�"ไม�เท�าก�บ่ศ�นย่* ถ้�าไม�ใช้�ฟั)งก*ช้�นจะให�คื�ากล้�บ่ เป!นเล้ข้ศ�นย่* แล้�ว่แสด้งผล้ออกท�"จอภาพ
บรรท�ดท! 9 ใช้�ฟั)งก*ช้�น tolower( ) ใช้�เปล้�"ย่นต็�ว่อ�กษรต็�ว่พ/มพ*ใหญ�ท�"เก�บ่ ไว่�ในต็�ว่แปร ch1 ให�เป!นต็�ว่อ�กษรต็�ว่พ/มพ*เล้�ก แล้ะใช้�ฟั)งก*ช้�น
toupper( ) ใช้�เปล้�"ย่นต็�ว่อ�กษรต็�ว่พ/มพ*เล้�กท�"เก�บ่ไว่�ในต็�ว่แปร ch2 ให� เป!นต็�ว่อ�กษรต็�ว่พ/มพ*ใหญ� แล้�ว่แสด้งผล้ออกจอภาพ
บรรท�ดท! 10 และ 11 พ/มพ*ข้�อคืว่ามให�กด้คื�ย่*ใด้ ๆ เพ�"อกล้�บ่ส��โปรแกรม แล้ะหย่1ด้รอร�บ่คื�าใด้ ๆ เช้�น กด้ enter จะกล้�บ่เข้�าส��โปรแกรม
8) ฟั งก�ชั�น isspace(ch) เป!นฟั)งก*ช้�นท�"ใช้�ต็รว่จสอบ่ว่�าคื�าข้�อม�ล้ท�"อย่��ในต็�ว่แปร ch ม�คื�าเป!น
whitespace หร�อไม� (whitespace) ได้�แก� space, tab, vertical tab, formfeed, carriage return แล้ะ new line ถ้�าเป!นwhitespace เพ�ย่งแคื�ต็�ว่ใด้ต็�ว่หน0"ง ฟั)งก*ช้�นน�%จะให�คื�าส�งกล้�บ่ท�"เป!น
เล้ข้จ�านว่นเต็�มท�"ไม�เท�าก�บ่ศ�นย่*ถ้�าไม�ป!น whitespace ฟั)งก*ช้�นน�%จะ ให�คื�าส�งกล้�บ่เป!นเล้ข้ศ�นย่* (0)
ร0ปแบบ isspace(ch);9) ฟั งก�ชั�น isxdigit(ch)
เป!นฟั)งก*ช้�นท�"ใช้�ต็รว่จสอบ่ว่�าข้�อม�ล้ต็�ว่เล้ข้ท�"อย่��ในต็�ว่แปร ch เป!น ต็�ว่เล้ข้ฐานส/บ่หก (0-9, A-F, หร�อ a-f) หร�อไม� ถ้�าใช้�ฟั)งก*ช้�นน�%จะม�
การส�งคื�ากล้�บ่ต็�ว่เล้ข้ท�"ไม�เท�าก�บ่ศ�นย่*มาย่�งฟั)งก*ช้�น ถ้�าไม�ใช้�ฟั)งก*ช้�นน�%จะส�งคื�าเป!นต็�ว่เล้ข้ศ�นย่*กล้�บ่มาย่�งฟั)งก*ช้�นร�ปแบ่บ่ isxdigit(ch);
โปรแกรมต�วอย่�าง แสด้งการใช้�งานฟั)งก*ช้�น isspace(ch) แล้ะ isxdigit(ch)
/* char3.c */#include<stdio.h> /* บ่รรท�ด้ท�" 1 */
#include<ctype.h> /* บ่รรท�ด้ท�" 2 */#include<conio.h> /* บ่รรท�ด้ท�" 3 */void main(void) /* บ่รรท�ด้ท�" 4 */{ /* บ่รรท�ด้ท�" 5 */ char ch1 = '\0', ch2 = '\n', ch3 = '\t', ch4 = 'J' ; /* บ่รรท�ด้ท�" 6 */ clrscr( ); /* บ่รรท�ด้ท�" 7 */ printf("%d\t%d\n",isspace(ch1),isspace(ch2)); /* บ่รรท�ด้ท�" 8 */ printf("%d\t%d\n",isspace(ch3),isxdigit(ch4)); /* บ่รรท�ด้ท�" 9 */ printf("\nPress any key back to program ..."); /* บ่รรท�ด้ท�" 10 */ getch(); /* บ่รรท�ด้ท�" 11 */} /* บ่รรท�ด้ท�" 12 */
จากโปรแกรมต็�ว่อย่�าง สามารถ้อธี/บ่าย่การท�างานข้องโปรแกรมท�"ส�าคื�ญ ๆ ได้�ด้�งน�%
บรรท�ดท! 8 ใชั"ฟั งก�ชั�น isspace( ) ต็รว่จสอบ่ว่�าข้�อม�ล้ท�"อย่��ในต็�ว่แปรch1 แล้ะ ch2 ม�คื�าเป!น whitespace หร�อไม� ถ้�าเป!นฟั)งก*ช้�นจะให�คื�า
กล้�บ่ท�"เป!นเล้ข้จ�านว่นเต็�มท�"ไม�เท�าก�บ่ศ�นย่* ถ้�าไม�ใช้�ฟั)งก*ช้�นจะให�คื�ากล้�บ่ เป!นเล้ข้ศ�นย่* แล้�ว่แสด้งผล้ท�"ได้�ออกจอภาพ
บรรท�ดท! 9 ใชั"ฟั งก�ชั�น isspace( ) ต็รว่จสอบ่ว่�าข้�อม�ล้ท�"อย่��ในต็�ว่แปรch3 ม�คื�าเป!น whitespace หร�อไม� ถ้�าเป!นฟั)งก*ช้�นจะให�คื�ากล้�บ่ท�"เป!น
เล้ข้จ�านว่นเต็�มท�"ไม�เท�าก�บ่ศ�นย่* ถ้�าไม�ใช้�ฟั)งก*ช้�นจะให�คื�ากล้�บ่เป!นเล้ข้ ศ�นย่* แล้�ว่แสด้งผล้ท�"ได้�ออกจอภาพ แล้ะใช้�ฟั)งก*ช้�น isxdigit( ) ต็รว่จ
สอบ่ว่�าข้�อม�ล้ต็�ว่เล้ข้ท�"อย่��ในต็�ว่แปร ch4 ว่�าเป!นต็�ว่เล้ข้ฐานส/บ่หกหร�อ ไม� ถ้�าใช้�ฟั)งก*ช้�นจะส�งคื�ากล้�บ่เป!นต็�ว่เล้ข้ท�"ไม�เท�าก�บ่ศ�นย่* ถ้�าไม�ใช้�
ฟั)งก*ช้�นจะส�งต็�ว่เล้ข้ศ�นย่*กล้�บ่มาย่�งฟั)งก*ช้�น บรรท�ดท! 10 และ 11 พ/มพ*ข้�อคืว่ามให�กด้คื�ย่*ใด้ ๆ เพ�"อกล้�บ่ส��โปรแกรม
แล้ะหย่1ด้รอร�บ่คื�าใด้ ๆ เช้�น กด้ enter จะกล้�บ่เข้�าส��โปรแกรม
ฟั งก�ชั�นเก! ย่วก�บส่ตร(ง (string functions) เป!นฟั)งก*ช้�นท�"ใช้�ก�บ่ข้�อม�ล้ช้น/ด้สต็ร/ง (string) โด้ย่ก�อนท�"จะ
ใช้�ฟั)งก*ช้�นประเภทน�%จะต็�องใช้�คื�าส�"ง #include<string.h> แทรกอย่�� ต็อนต็�นข้องโปรแกรมเส�ย่ก�อน จ0งจะเร�ย่กใช้�ฟั)งก*ช้�นประเภทน�%ได้�
ฟั งก�ชั�นท! เก! ย่วข"องก�บส่ตร(งท! ควรทราบ ม�ด้�งน�%strlen(s) strcmp(s1,s2)strcpy(s) strcat(s1,s2)
ส�าหร�บ่ราย่ล้ะเอ�ย่ด้ข้องฟั)งก*ช้�นแต็�ล้ะฟั)งก*ช้�นได้�เคืย่กล้�าว่ มาแล้�ว่ในบ่ทท�" 5 เก�"ย่ว่ก�บ่ array แล้ะ string จ0งไม�ข้อกล้�าว่ซั�%าอ�ก