2.2 คำสั่งในการแสดผลและรับข้อมูล

การแสดงผล (Display)

          การแสดงค่าของตัวแปร สามารถแสดงได้โดยใช้ฟังก์ชัน printf ( ) ตามรูปแบบ ดังนี้

Printf (“ข้อมูลสำหรับจัดรูปแบบ”, ชื่อตัวแปร);

          ข้อความสำหรับจัดรูปแบบ (Format string) มีดังตาราง 4.1

 

          ตาราง 4.1 ข้อความสำหรับจัดรูปแบบ

ข้อความสำหรับจัดรูปแบบ

ใช้กับข้อมูลหรือตัวแปรแบบ

%c

%d หรือ %i

%f หรือ %F

%Lf หรือ %LF

%Id หรือ %Ii

%IId หรือ %IIi

char และ unsigned char

int และ unsigned int

float และ double

long double

long int และ unsigned long int

long long int และ unsigned long long int

 

หมายเหตุ    %d หรือ %i ยังสามารถใช้ได้กับข้อมูลหรือตัวแปรแบบเลขจำนวนเต็มอย่างอื่น ได้อีก

                คือ char, signed char, unsigned char, short int และ unsigned short int

 

          ตัวอย่าง เมื่อต้องการแสดงค่าของตัวแปลชื่อ Student_No ที่ประกาศไว้แบบ int เขียนประโยคคำสั่งได้ ดังนี้

Printf (“%i, Student_No);

 

          ตัวอย่าง จากโปรแกรม Var_Declare-3.c เมื่อเพิ่มการแสดงค่าของตัวแปรทุกตัวทีละบรรทัด (ใช้ \n เพื่อขึ้นบรรทัดใหม่ด้วย) ดังภาพ 4-1 แล้วบันทึกเป็นโปรแกรม Var_Declare-6.c

ภาพ 4-1 การแสดงค่าของตัวแปร

 

เมื่อให้โปรแกรมทำงานได้ผลดังภาพ 4-2

ภาพ 4-2 ผลของโปรแกรมแสดงค่าของตัวแปร

 

การแสดงผลข้อความประกอบกับการแสดงค่า

          จากผลที่ได้ของโปรแกรม Var_Declare-6.c (ภาพ 4-2) จะเห็นว่ามีผลแสดงออกมาหลายบรรทัด ซึ่งถ้าไม่ได้ดูโปรแกรมก็จะไม่ทราบเลยว่าแต่ละบรรทัดคือค่าของอะไรบ้าง ดังนั้นจึงควรมีข้อความประกอบเพิ่มเติมเข้าไปด้วย โดยสามารถเพิ่มได้ทั้งหน้าและหลังข้อความสำหรับจัดรูปแบบในส่วนแสดงผล ดังภาพ 4-3

ภาพ 4-3 การแสดงข้อความประกอบค่าของตัวแปร

 

หมายเหตุ  สามารถใช้ Escape Sequences ในฟังก์ชัน printf () ได้ดังนี้

              Escape  Sequences          ชื่อ             ใช้สำหรับ

                         \n                       new line     ขึ้นบรรทัดใหม่

                         \t                        Tab            เว้นวรรคไปตำแหน่ง Tab ถัดไป

                         \a                        alert          ส่งเสียงเตือน

 

          เมื่อบันทึกเป็นโปรแกรม Var_Declare-8.c แล้วให้โปรแกรมทำงาน ได้ผลดังภาพ 4-4

ภาพ 4-4 การแสดงข้อความประกอบค่าของตัวแปร

 

          การจัดตำแหน่งของการแสดงผล

          อาจจัดตำแหน่งของข้อความได้โดยการพิมพ์วรรคหรือใช้ \t เพื่อเว้นระยะแนวนอน (tab) เช่น ถ้าต้องการให้เครื่องหมาย = ตรงกัน ดังภาพ 4-5

ภาพ 4-5 โปรแกรมจัดตำแหน่งของการแสดงผล

 

          การแสดงค่าของตัวแปรหลายตัวในบรรทัดเดียวกัน

          การแสดงค่าของตัวแปรหลายตัวในบรรทัดเดียวสามารถแสดงได้โดยใช้ข้อความสำหรับรูปแบบให้ตรงกับแบบข้อมูลของตัวแปรที่ใช้ ตามลำดับ ดังตัวอย่าง

          ผลที่ได้เป็นดังภาพ 4-6

ภาพ 4-6 การแสดงค่าของตัวแปรหลายตัว

 

          การจัดระยะตำแหน่งของตัวเลขและการกำหนดจำนวนตัวเลขหลังจุดทศนิยม

          ในการแสดงค่าของข้อมูลแบบ float สามารถจัดระยะตำแหน่งของตัวเลขโดยกำหนดจำนวนระยะความกว้างของค่าตัวเลขและจำนวนตัวเลขหลังจุดทศนิยมเข้าไปหลัง % ของข้อความกำหนดรูปแบบ ดังนี้

“%ตัวเลข1.ตัวเลข2f

          ตัวเลข 1 ใช้สำหรับกำหนดระยะความกว้างทั้งหมดของค่าตัวเลขรวมทั้งจุดทศนิยม

          ตัวเลข 2 ใช้สำหรับกำหนดจำนวนตัวเลขหลังจุดทศนิยม

 

          ตัวอย่าง “%10.2f” หมายถึง ระยะความกว้างของทั้งหมดของค่าตัวเลขเท่ากับ 10 และมีตัวเลขหลังจุดทศนิยม 2 ตำแหน่ง

          เมื่อใช้ในประโยคคำสั่งสำหรับแสดงผลได้ ดังนี้

                   printf (“123456789012345678901234567890\n”); // มีเว้นวรรค

                   printf (“%10d %15d\n, N, Sum); //มีวรรคระหว่าง d และ %

          ถ้าค่าของ N เท่ากับ 55 และค่าของ Sum เท่ากับ 3000 ผลที่ได้ก็จะเป็นดังรูป

 

          เห็นได้ว่าค่าของ N อยู่ในระยะ 10 แล้วเว้น 1 ช่อง และค่าของ Sum อยู่ในระยะความกว้างของค่าข้อมูลเท่ากับ 15 โดยตัวเลขจะอยู่ชิดขวา

          ถ้าต้องการให้ตัวเลขอยู่ชิดซ้าย ให้เติมเครื่องหมายลบ (-) หลัง % ดังตัวอย่าง

          printf (“%10d %15d\n, N, Sum); //มีวรรคระหว่าง d และ %

          ผลที่ได้ก็จะเป็นดังรูป

 

 

          การแสดงผลของการคำนวณ ทำได้เช่นเดียวกับการแสดงค่าของตัวแปร

          ตัวอย่าง การเขียนโปรแกรมคำนวณหาพื้นที่ของรูปสามเหลี่ยม

          การทำงานของโปรแกรมเป็นดังนี้

                   -  กำหนดค่าความยาวฐาน (Base) = 3

                   -  กำหนดค่าความสูง (Height) = 5

                   -  คำนวณหาพื้นที่ (Area) = 0.5 x ฐาน x สูง

                   -  แสดงผลลัพธ์


การรับค่าจากแป้นพิมพ์

          จากโปรแกรมคำนวณหาพื้นที่ของรูปสามเหลี่ยม เห็นได้ว่าเป็นการกำหนดค่าไว้ในโปรแกรม เมื่อให้โปรแกรมทำงานกี่ครั้งก็ตามจะได้ผลลัพธ์เท่าเดิม ถ้าต้องการเปลี่ยนค่าใหม่ ก็ต้องไปแก้ไขในโปรแกรม จึงไม่สามารถนำไปใช้กับงานจริงได้

          ดังนั้น ต้องเปลี่ยนการกำหนดค่า ให้เป็นการรับค่าจากแป้นพิมพ์โดยใช้ฟังก์ชัน scanf ( )  ตามรูปแบบ ดังนี้

Scanf (“ข้อความสำหรับจัดรูปแบบ”, &ชื่อตัวแปร);

 

          ข้อความสำหรับจัดรูปแบบ (Format string)

          การใช้ scanf ( ) เพียงอย่างเดียว เมื่อโปรแกรมทำงานจะเห็นแต่เคอร์เซอร์กระพริบให้ป้อนค่าทางแป้นพิมพ์ ยิ่งถ้ามีการป้อนหลายค่าจะทำให้ผู้ใช้ไม่ทราบว่าต้องป้อนค่าใดก่อน

          ดังนั้น จึงจำเป็นที่จะต้องใช้ printf ( ) ก่อนเพื่อแสดงข้อความที่เป็นคำถาม เช่น “= ”

          ในโปรแกรม Triangle.สามารถเปลี่ยนการกำหนดค่าของตัวแปร Tri_Base และ Tri_Height เป็นการรับค่าได้ดังต่อไปนี้

          *  รับค่าความยาวฐาน เขียนประโยคคำสั่งได้ ดังนี้

                   Printf (“Base = ”);

                   scanf (“%f, &Tri_Base);

          *  รับค่าส่วนสูง เขียนประโยคคำสั่งได้ ดังนี้

                   printf (“Height = ”);

                   scanf (“%f, & Tri_Height);


Comments