|การรับและแสดงผลข้อมูล (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("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
- 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
- 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 | เลขฐานสิบหก |
- format string : จะคล้ายกับคำสั่ง printf โดยจะอยู่ในเครื่องหมาย " " Double quote แต่จะมีเพียงลักษณะเดียวคือ รูปแบบค่าตัวแปร หมายความว่า
- ถ้าจะรับข้อมูลที่เป็นตัวเลยจำนวนเต็มจะต้องใช้ %d
- ถ้าจะรับข้อมูลที่เป็นจุดทศนิยมจะต้องใช้ %f
- ถ้าจะรับข้อมูลที่เป็นอักขระจะต้องใช้ %c
- ถ้าจะรับข้อมูลที่เป็นสายอักขระจะต้องใช้ %s - address list : เป็นส่วนที่อ้างที่อยู่ของตัวแปลที่จะรับค่าจากคีย์บอร์ดโดยใช้สัญลักษณ์ "&" และตามด้วยชื่อตัวแปร โดยมีข้อยกเว้นว่าถ้าเป็นตัวแปรชนิดที่เป็นสายอักขระ (String) จะไม่ต้องใส่ &
**หลักการใช้งาน เมื่อต้องการให้คอมพิวเตอร์รับช้อมูลชนิดใดๆ จะต้องมีการกำหนดตัวแปรใช้เป็นชนิดตามข้อมูลที่เราจะรับ แล้วจึงใช้คำสั่ง 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);
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( ) หรืออาจกำหนดให้แสดงค่าอักขระโดยตรง
มาจากฟังก์ชัน 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( ) ไม่ต้องการค่าอาร์กิวเมนต์ใดๆ
ดังนั้นจึงสามารถใส่วงเล็บว่างเปล่าได้
นำไปใช้งาน หรือจัดเก็บไว้ในตัวแปร และเนื่องจากฟังก์ชัน 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( )










