หน่วยที่ 6 คำสั่งในการทำงานของภาษาซีเบื้องต้น


 |การรับและแสดงผลข้อมูล (Data Input and Output)|


getchar( )| putchar( ) | scanf( )  printf( )   gets( )   puts( ) |


คำสั่งในการแสดงผลลัพธ์ printf

printf เป็นคำสั่งที่ใช้เพื่อแสดงผลทางหน้าจอ Output
   ฟังก์ชัน printf( ) เป็นฟังก์ชันที่นำมาใช้สำหรับพิมพ์ข้อมูลออกทางจอภาพ ซึ่งข้อมูลดังกล่าวอาจเป็นทั้งข้อความ ค่าคงที่ และตัวแปร
            รูปแบบ : printf ("format control string", arg1, arg2, ......, argn);
            โดยที่ : format control string หมายถึง ข้อความ รหัสรูปแบบข้อมูล และรหัสควบคุม
            arg1, arg2,....., argn หมายถึง อาร์กิตเมนต์ที่เป็นตัวแปรเก็บตัวแปรข้อมูล นิพจน์ รวมถึงค่าคงที่
          จะพบว่า ฟังก์ชัน printf( ) จะมีรูปแบบการใช้งานทำนองเดียวกับฟังก์ชัน scanf ( )เพียงแต่ต่างกัน

ตรงที่ใช้สำหรับแสดงผลเท่านั้นอย่างไรก็ตาม ฟังก์ชัน printf( ) ก็ยังสามารถประยุกต์ใช้งานได้หลายรูปแบบด้วยกัน

            printf("Do more [y/n]\n");
            printf("%s","Hello....c");
            printf("%s",TEXT);
            printf("net=%5.2f",mnet);
            printf("\n\n\007");

            ส่วนรูปแบบข้อมูลที่นำมาใช้กำหนดชนิดข้อมูลจะมีอยู่หลายชนิดด้วยกัน ซึ่งมีรูปแบบเช่นเดียวกับฟังก์ชัน scanf( )
 รหัสรูปแบบข้อมูล ชนิดข้อมูลที่ป้อนเข้ามา
 %c ตัวอักขระหนึ่งตัว
 %d เลขจำนวนเต็ม
 %ld เลขจำนวนเต็มแบบยาว
 %e เลขจำนวนจริง แบบเอ็กซ์โปแนนต์
 %f เลขจำนวนจริง
 %g เลขจำนวนจริง
 %i เช่นเดียวกับ%d
 %o เลขฐานแปด
 %s ข้อความสตริง(กลุ่มอักขระ)
 %u เลขจำนวนเต็มไม่มีเครื่องหมาย
 %x เลขฐานสิบหก

            นอกจากนี้ภายใน "format control string" ยังสามารถใส่รหัสควบคุม (Escape Sequence) เข้าไปได้อีก ซึ่งรหัสควบคุมเหล่านี้จัดเป็นส่วนหนึ่งของคำสั่งควบคุมการแสดงผล ด้วยการใช้เครื่องหมาย\ (backslash)และตามด้วยรหัสควบคุม
 รหัสควบคุม ชนิดข้อมูลที่ป้อนเข้ามา
 \0ค่าว่าง (null)
 \aส่งเสียงปิ๊ป 1 ครั้ง
 \bถอยหลังหนึ่งตัวอักษร (back space)
 \fขึ้นหน้าใหม่ (form feed)
 \nขึ้นบรรทัดใหม่ (new line)
 \rย้ายเคอร์เซอร์กลับไปที่ต้นบรรทัด
 \tแท็บแนวนอน (horizontal tab)
 \vแท็บแนวตั้ง (vertical tab)
 \'พิมพ์เครื่องหมาย '
 \"พิมพ์เครื่องหมาย "
 \\พิมพ์เครื่องหมาย \


รูปแบบคำสั่ง printf("format string",data list);
โดยภายในคำสั่งจะประกอบไปด้วย 2 ส่วนได้แก่ format string และ data listprintf ใช้พรีโปรเซสเซอร์ไดเรคทีฟ stdio.h
  1. format string คือส่วนที่แสดงผลซึ่งอยู่ในเครื่องหมาย "" (Double quote) โดยจะมี 4 ลักษณะได้แก่
    • ข้อความธรรมดา : ข้อความที่ต้องการแสดงผล เช่น printf("pibulwittayalai"); ซึ่งข้าแสดงผลข้อความธรรมดาจะไม่ต้องมีส่วนของ data list กำหนดอยู่
    • รูปแบบค่าตัวแปร : รูปแบบของการแสดงผลตัวแปร data list ที่อยู่ในคำสั่ง ตัวอย่างเช่น
      %d: แสดงผลตัวแปรในรูปแบบจำนวนเต็ม
      %c: แสดงผลตัวแปรในรูปแบบอักขระ
      %s: แสดงผลตัวแปรในรูปแบบข้อความ
      %f: แสดงผลตัวแปรในรูปทศนิยม
    • รูปแบบการแสดงผล : รูปแบบการจัดย่อหน้า การจัดบรรทัดฯ ตัวอย่างเช่น
      \n: กำหนดขึ้นบรรทัดใหม่
      \t: กำหนดเว้นไป 1 แท๊บ (8 อักขระ)
    • รูปแบบการแสดงผลอื่นๆ
      printf("%m?",data); เป็นการจองพื้นที่หน้าจอจำนวน m ตัวอักษรแล้วแสดงผลของ
      data ชิดด้านขวาของพื้นที่ส่วนที่ของไว้ โดยชนิดข้อมูลตาม ? (หากความยาวเกินส่วนที่
      จองไว้ก็จะเลื่อนออกไป)เช่น ถ้าต้องการแสดงคำว่า Engineer ชิดขวามือของจอภาพ
      (จอภาพมีความกว้าง 80 ตัวอักษร) สามารถใช้คำสั่ง printf("%80s"," Engineer") ได้

      printf("%-m?",data); เป็นการจองพื้นที่หน้าจอขนาด m ตัวอักษร แล้วแสดงผล data
      ชิดด้านซ้ายของพื้นที่ส่วนที่จองไว้ โดยชนิดข้อมูลตาม ?

      printf("%.n?",data); เป็นการกำหนดให้แสดงจำนวนทศนิยม n ตำแหน่งสำหรับ %f
      หรือแสดงอักขระจำนวน n ตัว สำหรับ %s

      printf("%m.n",data); เป็นการจองพื้นที่หน้าจอขนาด m ตัวอักษรแล้วแสดงผล data
      จำนวนทศนิยม n ตำแหน่ง สำหรับ %f หรือแสดงอักขระจำนวน n ตัวสำหรับ %s
  2. data list คือส่วนที่เป็นตัวแปรต่างๆ หรือนิพจน์ที่ต้องการแสดงค่าที่คำสั่ง printf จะนำไปใช้แสดงผลในลักษณะรูปแบบค่าตัวแปรในส่วนของ format string โดยหากมีหลายตัวแปรที่ต้องการแสดงผลให้ใช้เครื่องหมาย , (comma) คั่น

ตัวอย่างการใช้คำสั่ง printf

#include <stdio.h>
void main (){
 int i = 123;
 float x = 1000.123456789;
 char c='A', s[] = "Blue moon!";
 printf("Arihmatic type :\n");
 printf("%d<\n",i);
 printf("%8d<\n",i);
 printf("%-8d<\n",i);
 printf("%08d<\n",i);
 printf("%f<\n",x);
 printf("%10.0f<\n",x);
 printf("%10.2f<\n",x);
 printf("Character and string :\n");
 printf("%c<\n%2c<\n%-3c<\n",c,c,c);
 printf("%s<\n%3s<\n%.6s<\n%-11.8s<\n",s,s,s,s);
}

อธิบายโปรแกรม
  • บรรทัดที่ 3 กำหนดตัวแปร i เป็นชนิดข้อมูล integer มีค่าเป็น 123
  • บรรทัดที่ 4 กำหนดตัวแปร x เป็นชนิดข้อมูล float มีค่าเป็น 1000.123456789
  • บรรทัดที่ 5 กำหนดตัวแปร c เป็นอักขระ A และกำหนดตัวแปร s เป็นสายอักขระ ที่มีค่าเป็น "Blue moon!"
  • บรรทัดที่ 6 สั่งพิมพ์ข้อความว่า "Arihmatic type :" แล้วขึ้นบรรทัดใหม่
  • บรรทัดที่ 7 สั่งพิมพ์ข้อความจากตัวแปร i โดยการกำหนดรูปแบบเป็น เลขจำนวนเต็ม
  • บรรทัดที่ 8 สั่งพิมพ์ข้อความจากตัวแปร i โดยการกำหนดรูปแบบเป็นเลขจำนวนเต็ม และมีการกำหนดพื้นที่หน้าจอเป็น 8 อักขระ โดยข้อความจะชิดขวา
  • บรรทัดที่ 9 สั่งพิมพ์ข้อความจากตัวแปร i โดยการกำหนดรูปแบบเป็นเลขจำนวนเต็ม และมีการกำหนดพื้นที่หน้าจอเป็น 8 อักขระ โดยข้อความจะชิดซ้าย
  • บรรทัดที่ 10 สั่งพิมพ์ข้อความจากตัวแปร i โดยการกำหนดรูปแบบเป็นเลขจำนวนเต็ม และมีการกำหนดพื้นที่หน้าจอเป็น 8 อักขระ โดยข้อความจะมีเลข 0 อยู่ข้างหน้าในพื้นที่ว่าง
  • บรรทัดที่ 11 สั่งพิมพ์ข้อความจากตัวแปร x โดนกำหนดรูปแบบการแสดงผลเป็นเลขทศนิยม ซึ่งการแสดงของ %f จะกำหนดค่าเริ่มต้นให้จำนวนจุดทศนิยมเป็น 6 ตำแหน่ง
  • บรรทัดที่ 12 สั่งพิมพ์ข้อความจากตัวแปร x โดนกำหนดรูปแบบการแสดงผลเป็นเลขทศนิยม และมีการกำหนดพื้นที่หน้าจอเป็น 10 อักขระ โดยข้อความจะชิดขวา และมีจุดทศนิยม 0 ตำแหน่ง
  • บรรทัดที่ 13 สั่งพิมพ์ข้อความจากตัวแปร x โดนกำหนดรูปแบบการแสดงผลเป็นเลขทศนิยม และมีการกำหนดพื้นที่หน้าจอเป็น 10 อักขระ โดยข้อความจะชิดขวา และมีจุดทศนิยม 2 ตำแหน่ง
  • บรรทัดที่ 14 สั่งพิมพ์ข้อความว่า "Character and string :" แล้วขึ้นบรรทัดใหม่
  • บรรทัดที่ 15 สั่งพิมพ์ข้อความจากตัวแปร c สามครั้ง โดย
    - c ตัวที่ 1 ใน data list พิมพ์อักขระ A ออกมาธรรมดา
    - c ตัวที่ 2 ใน data list จะมีการกำหนดพื้นที่หน้าจอ 2 อักขระและข้อความจะชิดขวา
    - c ตัวที่ 3 ใน data list จะมีการกำหนดพื้นที่หน้าจอ 3 อักขระและข้อความจะชิดซ้าย
  • บรรทัดที่ 16 สั่งพิมพ์ข้อความจากตัวแปร s สี่ครั้ง โดย
    - s ตัวที่ 1 ใน data list พิมพ์สายอักขระ "Blue moon!" ออกมาธรรมดา
    - s ตัวที่ 2 ใน data list จะมีการกำหนดพื้นที่หน้าจอ 3 อักขระแต่จำนวนอักขระในสายอักขระมีจำนวนมากกว่าพื้นที่ที่จองไว้จึงแสดงในข้อความออกมาเท่ากับจำนวนอักขระที่มีอยู่
    - s ตัวที่ 3 ใน data list จะมีการสั่งให้พิมพ์แค่ 6 อักขระแรกของสายอักขระ "Blue moon!"
    - s ตัวที่ 4 ใน data list จะมีการจองพื้นที่หน้าจอเท่ากับ 11 อักขระโดยข้อความจะทำการชิดซ้ายและทำสั่งให้มีการพิมพ์แค่ 8 อักขระแรกของสายอักขระ "Blue moon!"
ตัวอย่างการแสดงผล

คำสั่งในการรับข้อมูล scanf

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

                รูปแบบ :  scanf("format control string",arg1, arg, ........,argn)
                โดยที่ : format control string        หมายถึง  รหัสรูปแบบข้อมูล

                            arg1, arg2,......,argn        หมายถึง  อาร์กิตเมนต์ที่เป็นตัวแปรเก็บข้อมูล

รหัสรูปแบบข้อมูล ในที่นี้ก็คือตัวกำหนดชนิดข้อมูล ซึ่งจะต้องสัมพันธ์กับชนิดข้อมูลของตัวแปรที่
อินพุตเข้ามา ส่วนกรณีที่มีอาร์กิตหรือตัวแปรที่อินพุตต่อกันมากกว่า 1 ตัวแปร ฟังก์ชัน scanf( ) จะใช้ช่องว่าง (blank) เป็นตัวแยกข้อมูลที่ป้อน และจะป้อนเคาะปุ่ม Enter เพื่อยืนยันการป้อนข้อมูล
            ที่หน้าตัวแปรทุกตัวที่ใช้เก็บข้อมูลในฟังก์ชัน scanf( ) จะต้องผนวกเครื่องหมาย & (ampersand)เข้าไปด้วย(ยกเว้นตัวแปรชนิดข้อความสตริง)ซึ่งเครื่องหมายดังกล่าวหมายถึง การชี้ไปยังแอดเดรสหน่วยความจำของตัวแปรที่ใช้จัดเก็บข้อมูลนั่นเอง
            สำหรับรหัสรูปแบบข้อมูล ที่นำมาใช้กำหนดชนิดข้อมูลที่อินพุตเข้ามาโดยผู้ใช้นั้น จะมีอยู่หลายชนิดด้วยกัน 

 รหัสรูปแแบข้อมูล ชนิดข้อมูลที่ป้อนเข้ามา
 %c ตัวอักขระหนึ่งตัว
 %d เลขจำนวนเต็ม
 %ld เลขจำนวนเต็มแบบยาว
 %e เลขจำนวนจริง แบบเอ็กซ์โปแนนต์
 %f เลขจำนวนจริง
 %g เลขจำนวนจริง
 %i เช่นเดียวกับ%d
 %o เลขฐานแปด
 %s ข้อความสตริง(กลุ่มอักขระ)
 %u เลขจำนวนเต็มไม่มีเครื่องหมาย
 %x เลขฐานสิบหก
  1. format string : จะคล้ายกับคำสั่ง printf โดยจะอยู่ในเครื่องหมาย " " Double quote แต่จะมีเพียงลักษณะเดียวคือ รูปแบบค่าตัวแปร หมายความว่า
    - ถ้าจะรับข้อมูลที่เป็นตัวเลยจำนวนเต็มจะต้องใช้ %d
    - ถ้าจะรับข้อมูลที่เป็นจุดทศนิยมจะต้องใช้ %f
    - ถ้าจะรับข้อมูลที่เป็นอักขระจะต้องใช้ %c
    - ถ้าจะรับข้อมูลที่เป็นสายอักขระจะต้องใช้ %s
  2. address list : เป็นส่วนที่อ้างที่อยู่ของตัวแปลที่จะรับค่าจากคีย์บอร์ดโดยใช้สัญลักษณ์ "&" และตามด้วยชื่อตัวแปร โดยมีข้อยกเว้นว่าถ้าเป็นตัวแปรชนิดที่เป็นสายอักขระ (String) จะไม่ต้องใส่ &
**หลักการใช้งาน เมื่อต้องการให้คอมพิวเตอร์รับช้อมูลชนิดใดๆ จะต้องมีการกำหนดตัวแปรใช้เป็นชนิดตามข้อมูลที่เราจะรับ แล้วจึงใช้คำสั่ง scanf เพื่อรับข้อมูลมาเก็บไว้ในตัวแปร

ตัวอย่างการใช้โปรแกรม scanf
#include <stdio.h>
int main()
{
  float gpa;               //ประกาศตัวแปร gpa รับค่าเกรดเป็นลักษณะจุดทศนิยม
  char name[20];           //ประกาศตัวแปร name รับค่าชื่อที่เป็นลักษณะสายอักขระ
  printf("Enter your name : ");
  scanf("%s",name);        //ตัวแปรที่รับค่าเป็นสายอักขระไม่ต้องมี &
  printf("Enter your GPA : ");
  scanf("%f",&gpa);        //ตัวแปลที่รับเป็น float ต้องมี & หน้าตัวแปร
  return 0;
}

ปัญหาที่เกิดจากการรันโปรแกรมนี้
ในบรรทัด 7 เราจะไม่สามารถกด space bar เพื่อทำการเว้นวรรคการพิมพ์ข้อความได้ถ้าเรากด space bar เราจะไม่สามาถรับต่า GPA ต่อได้ ดังนั้นถ้าเราอยากจะพิมพ์อักขระที่สามารถเ้ว้นวรรคได้รูปแบบคำสั่งจะเป็น
scanf("%[^\n]",string);
#include <stdio.h>
int main()
{
  float gpa;     
  char name[20];
  printf("Enter your name : ");
  scanf("%[^\n]",name);       //เปลี่ยน %s เป็น %[^\n] เพื่อให้รับค่าที่เว้นวรรคได้
  printf("Enter your GPA : ");
  scanf("%f",&gpa);
  printf("Name is %s\n",name);//แสดงผลค่า name ที่รับมาจากแป้นพิมพ์
  printf("GPA is %.2f",gpa);  //แสดงผลค่า gpa ที่รับมาจากแป้นพิมพ์
  return 0;
}

ผลจากการรันโปรแกรม



การรับค่าหลายๆตัวแปรใรคำสั่งเดียว
#include <stdio.h>
int main()
{
  int my_day,my_month,my_year;
  printf("Enter your birthday (Format dd/mm/yyyy): ");
  scanf("%d/%d/&d",&my_day,&my_month,&my_year);
  //มีการรับค่า my_day,my_month,my_year
  printf("Your Birthday are %d-%d-%d",my_day,my_month,my_year);
  return 0;
}

ผลการรันโปรแกรม



คำสั่งแสดงผลและรับข้อมูลอื่นๆ

ในภาษาซียังมีคำสั่งแสดงผลและรับข้อมูลที่นอกเหนือจาก printf และ scanf อีกมากคำสั่งที่น่าสนใจก็คือ
  • putchar(ch);
  • puts(str);
  • ch = getchar();
  • ch = getch();
  • gets (str);

ฟังก์ชั่น putchar( ) เป็นฟังก์ชันที่ใช้แสดงอักขระทีละตัวทางจอภาพ ซึ่งอาจนำมาแสดงค่าที่ป้อน
            มาจากฟังก์ชัน getchar( ) หรืออาจกำหนดให้แสดงค่าอักขระโดยตรง

                  รูปแบบ : putchar(character_variable) ;
                 ตัวอย่าง : char ch1 = 'A' ;
                                 putchar (ch1) ;
                                 putchar ('B');
                                 putchar (66) 


ฟังก์ชัน gets( ) และ puts( )
        ภาษา C ได้เตรียมฟังก์ชันเพื่อการรับและแสดงผลข้อมูล มาให้หลายรูปแบบด้วยกัน โดยเฉพราะการนำไปใช้เพื่อการถ่ายโอนข้อมูล ไม่ว่าจะเป็นการถ่ายโอนข้อมูลภายใน หรือส่งออกไปยังภายนอก และฟังก์ชัน gets( )ก็เป็นอีกฟังก์ชันหนึ่งที่นำมาใช้สำหรับรับข้อมูลประเภทสตริง ส่วนฟังก์ชัน puts( ) ก็นำมาใช้สำหรับแสดงผลลัพธ์ข้อมูลประเภทสตริง
         ข้อมูลประเภทสตริง คือ กลุ่มข้อความ ซึ่งท้ายข้อความจะมีการผนวกค่า Null หรือรหัสควบคุม \0 ปะต่อท้ายเพื่อใช้บ่งบอกถึงจุดสิ้นสุดของข้อความนั้นๆ ทั้งนี้การจัดเก็บข้อความสตริงในภาษา C จะจัดเก็บในรูปแบบ Array  สำหรับฟังก์ชัน gets( ) และ puts( ) ถือเป็นอีกทางเลือกหนึ่งของการนำไปใช้เพื่อการรับค่าและแสดงผล แทนที่จะใช้ฟังก์ชัน scanf( ) หรือ printf( ) เท่านั้น 

คำสั่ง puts(str); เป็นคำสั่งแสดงผลข้อมูลชนิดสายอักขระ (String) โดยมีรูปแบบเป็น
puts(str);
str คือตัวแปรชนิดสายอักขระหรือข้อความที่ต้องการแสดงผล
ตัวอย่างโปรแกรม
#include <stdio.h>
int main(){
char ch = 'A';           //กำหนดตัวแปร char เป็นอักขระทีค่า 'A'
char str[] = "Computer"; //กำหนดตัวแปรสายอักขระ str มีค่าเป็น"Computer"
putchar(ch);             //แสดงผลตัวแปร ch
putchar(' ');            //แสดงผลช่องว่าง
putchar(str[1]);//แสดงผลอักขระตัวที่ 2ของสายอักขระ str *อักขระตัวแรกคือ str[0]
putchar('\n');  //แสดงผลอักขระควบคุม \n ซึ่งหมายถึงการขึ้นบรรทัดใหม่
puts(str);      //แสดงผลสายอักขระ str
return 0;
};
ผลจากการรันโปรแกรม

ฟังก์ชัน getchar( ) เป็นหนึ่งในฟังชันที่บรรจุอยู่ในไลบรารีมาตรฐาน I/O โดยจะรีเทิร์นค่าอักขระ หนึ่งตัวที่ถูกอินพุตเข้ามา ทั้งนี้ตัวอักขระที่ป้อนเข้ามาจะแสดงบนจอภาพ และจะต้องยืนยันการป้อน ข้อมูลด้วยการเคาะแป้น Enter หนึ่งครั้ง กรณีป้อนตัวอักขระหลายๆตัว จะมีเพียวตัวแรกเท่านั้นที่ถูก
             นำไปใช้งาน หรือจัดเก็บไว้ในตัวแปร และเนื่องจากฟังก์ชัน getchar( ) ไม่ต้องการค่าอาร์กิวเมนต์ใดๆ
             ดังนั้นจึงสามารถใส่วงเล็บว่างเปล่าได้

                รูปแบบ : character_variable    =    getchar ( ) ;   
                ตัวอย่างเช่น : getchar ( ) ;

            *ในกรณีที่ต้องการนำค่าที่ป้อน จัดเก็บไว้ในค่าตัวแปร ก็จะเขียนในรูปแบบดังนี้ คือ
                            char  ch1 ;
                            ch1 = getchar ( ) ;



คำสั่ง getch() เป็นคำสั่งที่รับข้อมูลชนิดอักขระเพียงตัวเดียวโดยเมื่อป้อนข้อมูลจะไม่แสดงอักขระที่ป้อนให้เห็นทางจองภาพ ที่สำคัญ getch(); จะต้องใช้พรีโปรเซสเซอร์ไดเรคทีฟชื่อว่า conio.h มีรูปแบบการใช้คำสั่งคือ
ch = getch();
ch คือ ตัวแปรชนิดอักขระที่นำค่าที่นับมาเก็บไว้

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

ตัวอย่างโปรแกรม
#include <stdio.h>
#include <conio.h>      //เป็นพรีโปรเซสเซอร์ไดเรคทีพของคำสั่ง getch();
void main(){
char a, b, c[50];         //กำหนดตัวแปร อักขระ a,b และสายอักขระ c
printf("input your name c : ");
gets(c);                  //รับค่าสายอักขระ c แล้วกด Enter
printf("input character a : ");
a = getchar();            //รับค่าอักขระเพียงตัวเดียว แล้วกด Enter
printf("input character b : ");
b = getch();             //รับค่าอักขระเพียงตัวเดียวแต่หน้าจอไม่แสดงให้เห็น
printf("a = %c\nb = %c\nc = %s",a,b,c);
}

ผลจากการรันโปรแกรม



การรับแป้นคีย์ล้างจอภาพ

 การรับแป้นคีย์ ล้างจอภาพ และกำหนดตำแหน่งแสดงผลทางจอภาพ (เฮดเดอร์ไฟล์ conio.h)ฟังก์ชันที่เกี่ยวกับเฮดเดอร์ conio.h ได้แก่ แป้นคีย์ getch( ), ฟังก์ชันล้างจอภาพ clrscr(), ฟังก์ชันกำหนดตำแหน่งข้อมูลทางจอภาพ gotoxy( );  ฟังก์ชัน getch( ) และ getche( )

ฟังก์ชัน getch( ) และ getche ( )
                ฟังชัน getch( ) และ getche( ) ถูกประกาศไว้ที่เฮดเดอร์ conio.h ดังนั้นเมื่อเราจะใช้ฟังก์ชั่นทั้งสอง จึงต้องผนวกเฮดเดอร์ conio.h ที่ต้นประโยคก่อน สำหรับการรับข้อมูลของฟังก์ชัน getch( ) และ getche( ) นั้น จะมีความคล้ายคลึงกัน กล่าวคือ จะเป็นฟังก์ชันที่รอรับการป้อนข้อมูลด้วยคีย์ใดๆก็ได้เพียงคีย์เดียว โดยไม่ต้องรับการยืนยันด้วยคีย์ Enter ทั้งนี้ฟังก์ชันคีย์ getch( ) จะไม่แสดงข้อมูลที่ป้อนเข้าไป ส่วนฟังก์ชั่น getche( ) จะแสดงข้อมูลที่ป้อนทางจอภาพให้เห็น

ฟังก์ชัน clrscr( )
                ฟังก์ชัน clrscr( ) เป็นฟังก์ชันที่ใช้สำหรับล้างหน้าจอภาพ (Clear Screen)

                    ตัวอย่างโปรแกรม โปรแกรมทดสอบการใช้งานฟังก์ชัน getch( ), getche( ), clrscr( )

ฟังก์ชัน gotoxy( )
                ฟังก์ชัน gotoxy( ) เป็นฟังก์ชันที่ใช้สำหรับกำหนดตำแหน่งคอลัมภ์และแถวบนหน้าจอภาพ โดยอาจใช้เป็นตำแหน่งข้อความหรือข้อมูลต่างๆ รวมถึงตำแหน่งรับข้อมูลเป็นต้น โดยจอภาพแบบ Text mode จะมีอยู่ 25 แถว และแต่ละแถวมี 80 คอลัมภ์ แต่ฟังก์ชันนี้ถูกยกเลิกไปเพราะมีระบบ Windows graphic เข้ามาแทน
                    รูปแบบ :
                                gotoxy(column,row);

                     ตัวอย่างโปรแกรม : โปรแกรมทดสอบการใช้งานฟังก์ชัน gotoxy( )