วันจันทร์ที่ 2 กรกฎาคม พ.ศ. 2555

ฟังก์ชัน scanf( ), ฟังก์ชัน getchar( ), ฟังก์ชัน getch( ), ฟังก์ชัน getche( ) และฟังก์ชัน gets( )


3.1 ฟังก์ชันรับข้อมูล  (input functions)
            ในเนื้อหาฟังก์ชันการับข้อมูลของภาษา  C  มีฟังก์ชันที่ใช้ในการรับข้อมูลจากคีย์บอร์ด  อยู่หลายฟังก์ชันที่จะกล่าวถึง  ดังนี้คือ ฟังก์ชัน  scanf( ), ฟังก์ชัน  getchar( ), ฟังก์ชัน  getch( ), ฟังก์ชัน  getche( )  และฟังก์ชัน  gets( )  ซึ่งแต่ละฟังก์ชันมีรายละเอียดของการใช้งานดังนี้
            3.1.1 ฟังก์ชัน  scanf( )
                        เป็นฟังก์ชันที่ใช้ในการรับข้อมูล จากคีย์บอร์ดเข้าไปเก็บไว้ในตัวแปรที่กำหนดไว ้โดยสามารถรับข้อมูลที่เป็นตัวเลขจำนวนเต็ม  ตัวเลขทศนิยม  ตัวอักขระตัวเดียว หรือข้อความก็ได
้            รูปแบบการใช้งานฟังก์ชัน

scanf(control  string, argument  list);

            โดยที่
                        control  string  คือ  รหัสรูปแบบข้อมูล (format code)  โดยจะต้องเขียนอยู่ภายใต้เครื่องหมาย  “……..”  (double  quotation)
                        argument list คือ  ชื่อตัวแปรที่ใช้เก็บข้อมูลโดยจะต้องใช้เครื่องหมาย  &  (ampersand)  นำหน้าชื่อตัวแปร  ยกเว้นตัวแปรชนิด  string  ไม่ต้องมีเครื่องหมาย  &  นำหน้าชื่อ  ถ้ามีตัวแปรมากกว่า  1  ตัวแปร  ให้ใช้เครื่องหมาย  ,  (comma)  คั่นระหว่างตัวแปรแต่ละตัว

ตารางที่  3.1  แสดงรหัสแบบข้อมูล  ที่สามารถใช้ในฟังก์ชัน  scanf( )
รหัสรูปแบบ 
(format  code)
ความหมาย
%c
  ใช้กับข้อมูลชนิดตัวอักขระตัวเดียว  (single  character :  char)
%d
  ใช้กับข้อมูลชนิดตัวเลขจำนวนเต็ม (integer : int)  โดยสามารถใช้กับตัวเลขฐาน  10  เท่านั้น
%e
  ใช้กับข้อมูลชนิดตัวเลขจุดทศนิยม  (floating  point : float)
%f, %lf
ใช้กับข้อมูลชนิด  float  และ  double  ตามลำดับ
%g
ใช้กับข้อมูลชนิด  float
%h
ใช้กับข้อมูลชนิด  short  integer
%l
ใช้กับข้อมูลชนิด  int  โดยใช้กับตัวเลขฐาน 8, ฐาน 10 และฐาน 16
%o
ใช้กับข้อมูลชนิด  int  โดยสามารถใช้กับตัวเลขฐาน  8  เท่านั้น
%u
ใช้กับข้อมูลชนิด  unsigned  int  โดยใช้กับตัวเลขฐาน  10  เท่านั้น
%x
ใช้กับข้อมูลชนิด  int  โดยสามารถใช้กับตัวเลขฐาน  16  เท่านั้น
%s
ใช้กับข้อมูลชนิด  string
ที่มา  :  Gottfried, S. Byron, 1990 : 481.
            เพื่อให้เกิดความเข้าใจการใช้งานฟังก์ชัน  scanf( )  ได้ดียิ่งขึ้นควรศึกษาโปรแกรมตัวอย่างที่  3.1, 3.2  และ  3.3  ดังต่อไปนี้
โปรแกรมตัวอย่างที่  3.1  แสดงโปรแกรมการใช้ฟังก์ชัน  scanf( )  ในการรับข้อมูลจากคีย์บอร์ดเข้าไปเก็บไว้ในตัวแปรชนิดจำนวนเต็ม
 
 
/*          scanf1.c             */                                              
#include<stdio.h>                                                       /*  บรรทัดที่  1  */
void main(void)                                                            /*  บรรทัดที่  2  */
{                                                                                   /*  บรรทัดที่  3  */
      int  a;                                                                             /*  บรรทัดที่  4  */
      scanf("%d", &a);                                                           /*  บรรทัดที่  5  */
}                                                                                   /*  บรรทัดที่  6  */
 
 

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

บรรทัดที่   เป็นคำสั่งเรียกแฟ้มที่ชื่อว่า  stdio.h  ซึ่งภายในจะบรรจุคำสั่งหรือฟังก์ชันที่จำเป็นต้องใช้ในภาษา  C  เช่น  printf( )
บรรทัดที่  2  เป็นฟังก์ชันหลักของโปรแกรม  และบอกให้  C compiler  รู้ว่าฟังก์ชัน 
main( )  ไม่มีการส่งค่าข้อมูลและไม่มีการรับค่าข้อมูลกลับ
บรรทัดที่  3  เป็นการแสดงจุดเริ่มต้นของฟังก์ชัน  main( )
บรรทัดที่  4  เป็นการประกาศตัวแปรชื่อ  a  เป็นชนิดจำนวนเต็ม  หรือ  int
บรรทัดที่  5  ฟังก์ชัน  scanf( )  เพื่อรอรับข้อมูลจากคีย์บอร์ดเข้าไปเก็บไว้ในตัวแปร  a  ซึ่งเป็นชนิดจำนวนเต็ม
บรรทัดที่  6  เป็นการแสดงจุดสิ้นสุดของฟังก์ชัน  main( )

โปรแกรมตัวอย่างที่  3.2 แสดงโปรแกรมการใช้ฟังก์ชัน  scanf( )  ในการรับข้อมูลจากคีย์บอร์ดเข้าไปเก็บไว้ในตัวแปรชนิดจำนวนเต็ม  และนำค่าของตัวแปรออกแสดงผลที่จอภาพ
 
 
/*          scanf2.c             */
#include<stdio.h>                                                                           /*  บรรทัดที่  1  */
   void main(void)                                                                                 /*  บรรทัดที่  2  */
{                                                                                                          /*  บรรทัดที่  3  */
      int  a;                                                                                    /*  บรรทัดที่  4  */
      scanf("%d", &a);                                                                 /*  บรรทัดที่  5  */
      printf("Your enter is ...%d", a);                                         /*  บรรทัดที่  6  */
}                                                                                                          /*  บรรทัดที่  7  */
 
 



  
ผลลัพธ์ที่ได้จากโปรแกรม 

ข้อสังเกต  ในเอกสารเล่มนี้  ผลลัพธ์ที่ได้จากโปรแกรม  ถ้าตัวอักษรที่เป็นสีเข้มคือข้อความที่ให้ผู้ใช้พิมพ์ผ่านคีย์บอร์ด 
คำอธิบายโปรแกรม 
            ในโปรแกรมตัวอย่างที่  3.2  โปรแกรมจะรับข้อมูลจากคีย์บอร์ด ที่เป็นชนิดจำนวนเต็มเก็บไว้ในตัวแปร และนำค่าของตัวแปรแสดงผลออกจอภาพ  ด้วยคำสั่งบรรทัดที่  6  คือ  printf(“Your enter is…%d”, a);  สำหรับฟังก์ชัน  printf( )  ผู้ใช้สามารถศึกษารายละเอียดเพิ่มเติมก่อนได้ในหัวข้อ  3.2.1 
โปรแกรมตัวอย่างที่  3.3  แสดงโปรแกรมการใช้ฟังก์ชัน  scanf( )  ในการรับข้อมูลจากคีย์บอร์ดเข้าไปเก็บไว้ในตัวแปรชนิดตัวอักษร  เลขจำนวนเต็ม  และเลขทศนิยม  และนำค่าของตัวแปรออกแสดงผลที่จอภาพ
 
 
/*          scanf3.c             */
#include<stdio.h>                                                                           /*  บรรทัดที่  1  */
#include<conio.h>                                                                          /*  บรรทัดที่  2  */
void main(void)                                                                                 /*  บรรทัดที่  3  */
{    char name[50];                                                                         /*  บรรทัดที่  4  */
      int  age;                                                                               /*  บรรทัดที่  5  */
      float weight, height;                                                          /*  บรรทัดที่  6  */
      clrscr( );                                                                               /*  บรรทัดที่  7  */
      printf("Enter your Name and Age: ");                              /*  บรรทัดที่  8  */
      scanf("%s %d", name, &age);                                         /*  บรรทัดที่  9  */
      printf("Enter your Weight and Height : ");                      /*  บรรทัดที่  10 */
      scanf("%f %f", &weight, &height);                                   /*  บรรทัดที่  10 */
      printf("\nYour name is ...%s.\n",name);                          /*  บรรทัดที่  11 */
      printf("You  are %d years old.\n",age);                          /*  บรรทัดที่  13 */
      printf("Your weight is ...%f cm.\n",weight);                    /*  บรรทัดที่  14 */
      printf("Your height is ...%f cm.\n",height);                     /*  บรรทัดที่  15 */
}                                                                                           /*  บรรทัดที่  16 */
 
 

ผลลัพธ์ที่ได้จากโปรแกรม

แผนผังลำดับงาน: จอภาพ: Enter your Name and Age: KANNIKAR  25  Enter your Weight and Height : 155.5  45.5  Your name is ...KANNIKAR.  You  are 25 years old.  Your weight is ...155.500000 cm.  Your height is ...45.500000 cm.
คำอธิบายโปรแกรม 
            จากโปรแกรมตัวอย่างที่  3.3  สามารถอธิบายการทำงานของโปรแกรมที่สำคัญ ๆ ได้ดังต่อไปนี้

บรรทัดที่  4  เป็นการชุดชนิด  char  ซึ่งจองไว้  50  ตัวอักษร  (เรื่องตัวแปรชุดได้อธิบายรายละเอียดไว้ในบทที่  5)
บรรทัดที่  7  ฟังก์ชัน  clrscr( )  ใช้ลบข้อความใด ๆ  ออกจากจอภาพ  ซึ่งจะเรียกใช้งานควบคู่กับแฟ้มที่ชื่อ  conio.h  ดังนั้นก่อนฟังก์ชัน  main( )  จึงต้องเรียกใช้  #include <conio.h>  ก่อน  (บรรทัดที่  2)
บรรทัดที่  8  จะแสดงข้อความและรอรับค่า  Name  และ  Age  จากผู้ใช้  ดังนั้นเวลาเติมข้อมูลให้เว้นช่องว่างอย่างน้อย  1  ช่อง  เพื่อแยกข้อมูล  Name  กับ  Age 
บรรทัดที่  9  จะรับข้อมูลจากคีย์บอร์ด  2  ค่า  มาเก็บไว้ในตัวแปร  name  เป็นข้อความ  และเก็บในตัวแปร  age  เป็นตัวเลขจำนวนเต็ม
บรรทัดที่  10  จะทำงานคล้ายกับบรรทัดที่  8  แต่จะรับข้อมูลที่เป็นตัวเลขทศนิยม
บรรทัดที่  11 – 15  จะนำข้อมูลที่เก็บไว้ในตัวแปรต่าง ๆ  ออกมาแสดงผลที่จอภาพตามรหัสรูปแบบข้อมูลต่าง ๆ
            3.1.2 ฟังก์ชัน  getchar( )

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

getchar( );
หรือ         char_var = getchar( );
     
            โดยที่

getchar( )  คือ  ฟังก์ชันที่ใช้รับข้อมูลเพียง  1  ตัวอักขระจากคีย์บอร์ด  โดยฟังก์ชันนี้จะไม่มี  argument ซึ่งอาจจะใช้ getchar(void) แทนคำว่า getchar( ) ก็ได้ แต่นิยมใช้ getchar( ) มากกว่า 
char_var  คือ  ตัวแปรชนิด  char  ซึ่งจะเก็บข้อมูล  1  ตัวอักขระที่ป้อนผ่านทางคีย์บอร์ด

            เพื่อให้เกิดความเข้าใจการใช้งานฟังก์ชัน  getchar( )  ได้ดียิ่งขึ้นควรศึกษาโปรแกรมตัวอย่างที่  3.4  ดังต่อไปนี้
โปรแกรมตัวอย่างที่  3.4  แสดงโปรแกรมการใช้ฟังก์ชัน  getchar( )
 
 
/*          getchar1.c          */
#include<stdio.h>                                                                           /*  บรรทัดที่  1  */
#include<conio.h>                                                                          /*  บรรทัดที่  2  */
void main(void)                                                                                 /*  บรรทัดที่  3  */
{                                                                                                           /*  บรรทัดที่  4  */
      char  cha;                                                                              /*  บรรทัดที่  5  */
      clrscr( );                                                                                 /*  บรรทัดที่  6  */
      printf("Enter a single character : ");                                  /*  บรรทัดที่  7  */
      cha = getchar( );                                                                 /*  บรรทัดที่  8  */
      printf("You type a character is ...%c \n",cha); /*  บรรทัดที่  9  */
}                                                                                                           /*  บรรทัดที่  10 */
 
 

ผลลัพธ์ที่ได้จากโปรแกรม

แผนผังลำดับงาน: จอภาพ: Enter a single character : k  You type a character is ...k
คำอธิบายโปรแกรม 
            จากโปรแกรมตัวอย่างที่  3.4  สามารถอธิบายการทำงานของโปรแกรมที่สำคัญ ๆ ได้ดังต่อไปนี้

บรรทัดที่  1  เรียกใช้แฟ้มที่ชื่อ  stdio.h  ซึ่งในโปรแกรมนี้จะใช้คู่กับฟังก์ชัน  printf( )  ในบรรทัดที่  7  และ  9 
บรรทัดที่  2  เรียกใช้แฟ้มที่ชื่อ  conio.h  ซึ่งใช้คู่กับฟังก์ชัน  clrscr( )  เพื่อลบข้อมูลที่จอภาพในบรรทัดที่  6 
บรรทัดที่  5  ประกาศตัวแปรชื่อ  cha  เป็นชนิดตัวอักขระ  หรือ  char
บรรทัดที่  8  รับข้อมูล 1 ตัวอักขระจากคีย์บอร์ด  แล้วนำค่าที่รับมาเก็บไว้ในตัวแปร  cha
บรรทัดที่  9  นำข้อมูลที่เก็บในตัวแปร  cha  มาแสดงตรงตำแหน่ง  %c  และขึ้นบรรทัดใหม่  (\n  คือ  new  line)
            3.1.3 ฟังก์ชัน  getch( )

                        เป็นฟังก์ชันที่ใช้รับข้อมูลเพียง  1 ตัวอักขระเหมือนกับฟังก์ชัน getchar( )  แตกต่างกันตรงที่เมื่อใช้ฟังก์ชันนี้รับข้อมูล  ข้อมูลที่ป้อนเข้าไปจะไม่ปรากฏให้เห็นบนจอภาพและไม่ต้องกดแป้น  enter  ตาม 
            รูปแบบการใช้งานฟังก์ชัน

getch( );
หรือ         char_var = getch( );
     
            โดยที่

getch( )  คือ ฟังก์ชันที่ใช้รับข้อมูลเพียง  1  ตัวอักขระจากคีย์บอร์ด  โดยฟังก์ชันนี้จะไม่มี  argument  ดังนั้นอาจจะใช้  getch(void)  แทนคำว่า  getch( )  ก็ได้  แต่นิยมใช้  getch( )  มากกว่า
char_var  คือ  ตัวแปรชนิด  char  ซึ่งจะเก็บข้อมูล  1  ตัวอักขระที่ป้อนผ่านทางคีย์บอร์ด
            เพื่อให้เกิดความเข้าใจการใช้งานฟังก์ชัน  getch( )  ได้ดียิ่งขึ้นควรศึกษาโปรแกรมตัวอย่างที่  3.5  ดังต่อไปนี้
โปรแกรมตัวอย่างที่  3.5  แสดงโปรแกรมการใช้ฟังก์ชัน  getch( ) 
 
 
/*          getch1.c            */
#include<stdio.h>                                                                           /*  บรรทัดที่  1  */
#include<conio.h>                                                                          /*  บรรทัดที่  2  */
void main(void)                                                                                 /*  บรรทัดที่  3  */
{                                                                                                           /*  บรรทัดที่  4  */
      char  ch;                                                                                /*  บรรทัดที่  5  */
      clrscr( );                                                                                 /*  บรรทัดที่  6  */
      printf("Enter a single character : ");                                  /*  บรรทัดที่  7  */
      ch = getch( );                                                                       /*  บรรทัดที่  8  */
      printf("\nYou type a character is ...%c \n",ch);                /*  บรรทัดที่  9  */
      getch( );                                                                                 /*  บรรทัดที่  10 */
}
 
 

ผลลัพธ์ที่ได้จากโปรแกรม

 
คำอธิบายโปรแกรม 
            การทำงานของโปรแกรมตัวอย่างที่  3.5  จะคล้ายกับโปรแกรมตัวอย่างที่  3.4  ต่างกันตรงคำสั่งบรรทัดที่  8  จะเป็นการใช้ฟังก์ชัน   getch( )  คือ  ch = getch( );  ให้นำค่าที่รับมาเก็บไว้ในตัวแปร  ch  ซึ่งเวลาเรารับข้อมูลจากคีย์บอร์ดจะไม่ปรากฎข้อมูลที่เราป้อนเข้าไปให้เห็นบนจอภาพ  และไม่ต้องกด  enter  ตาม  โปรแกรมก็จะไปทำงานคำสั่งบรรทัดที่  9  คือ  นำข้อมูลที่เก็บในตัวแปร  ch  มาแสดงตรงตำแหน่ง  %c  และขึ้นบรรทัดใหม่  ส่วนคำสั่งบรรทัดที่  10  ฟังก์ชัน  getche( );  โปรแกรมก็จะหยุดรอรับค่าใด ๆ  จากคีย์บอร์ด  เช่น  เรากด  enter  ก็จะกลับเข้าสู่โปรแกรม
            3.1.4 ฟังก์ชัน  getche( )

                        เป็นฟังก์ชันที่ใช้รับข้อมูลจากคีย์บอร์ดเพียง  1 ตัวอักขระ เหมือนฟังก์ชัน getch( )  แตกต่างกันตรงที่ข้อมูลที่ป้อนเข้าไป จะปรากฏให้เห็นบนจอภาพด้วย  นอกนั้นมีการทำงาน และลักษณะการใช้งานเหมือนฟังก์ชัน  getch( )  ทุกประการ
รูปแบบการใช้งานฟังก์ชัน

getche( );
หรือ         char_var = getche( );
     
            โดยที่

getche( )  คือ ฟังก์ชันที่ใช้รับข้อมูลเพียง  1  ตัวอักขระจากคีย์บอร์ด  โดยฟังก์ชันนี้จะไม่มี  argument  ดังนั้นอาจจะใช้  getche(void)  แทนคำว่า  getche( )  ก็ได้  แต่นิยมใช้  getche( )  มากกว่า
char_var  คือ  ตัวแปรชนิด  char  ซึ่งจะเก็บข้อมูล  1  ตัวอักขระที่ป้อนผ่านทางคีย์บอร์ด

            เพื่อให้เกิดความเข้าใจการใช้งานฟังก์ชัน  getche( )  ได้ดียิ่งขึ้นควรศึกษาโปรแกรมตัวอย่างที่  3.6  ดังต่อไปนี้
โปรแกรมตัวอย่างที่  3.6  แสดงโปรแกรมการใช้ฟังก์ชัน  getche( ) 
 
 
/*          getche1.c           */
#include<stdio.h>                                                                           /*  บรรทัดที่  1  */
#include<conio.h>                                                                          /*  บรรทัดที่  2  */
void main(void)                                                                                 /*  บรรทัดที่  3  */
{                                                                                                           /*  บรรทัดที่  4  */
      char  e;                                                                                  /*  บรรทัดที่  5  */
      clrscr( );                                                                                 /*  บรรทัดที่  6  */
      printf("Enter a single character : ");                                  /*  บรรทัดที่  7  */
      e = getche( );                                                                       /*  บรรทัดที่  8  */
      printf("\nYou type a character is ...%c \n",e);                  /*  บรรทัดที่  9  */
      getch( );                                                                                 /*  บรรทัดที่  10 */
}                                                                                                           /*  บรรทัดที่  11 */
 
 

ผลลัพธ์ที่ได้จากโปรแกรม

แผนผังลำดับงาน: จอภาพ: Enter a single character : r  You type a character is ...r   

คำอธิบายโปรแกรม 
            การทำงานของโปรแกรมตัวอย่างที่  3.6  จะคล้ายกับโปรแกรมตัวอย่างที่  3.5  ต่างกันตรงคำสั่งบรรทัดที่  8  จะเป็นการใช้งานฟังก์ชัน  getche( )  คือ  e = getche( );  คำสั่งนี้ให้นำค่าที่รับมาเก็บไว้ในตัวแปร  e  ซึ่งข้อมูลที่เติมเข้าไปจะปรากฎให้เห็นบนจอภาพด้วย  แต่ไม่ต้องกด  enter  ตาม  โปรแกรมก็จะไปทำงานคำสั่งบรรทัดที่  9  คือ  นำข้อมูลที่เก็บในตัวแปร  e  มาแสดงตรงตำแหน่ง  %c  และขึ้นบรรทัดใหม่  ส่วนคำสั่งบรรทัดที่  10  getch( );  โปรแกรมก็จะหยุดรอรับค่าใด ๆ  จากคีย์บอร์ด  เช่น  เรากด  enter  ก็จะกลับเข้าสู่โปรแกรม 
            3.1.5 ฟังก์ชัน  gets( )

                        เป็นฟังก์ชันที่ใช้รับข้อมูลชนิดข้อความ  (string)  จากคีย์บอร์ด  จากนั้นนำข้อมูลที่รับเข้าไปเก็บไว้ในตัวแปรสตริง  (string  variables)  ที่กำหนดไว้
รูปแบบการใช้งานฟังก์ชัน

gets(string_var);
    
            โดย

string_var  คือ  ตัวแปรสตริง  ซึ่งจะใช้เก็บข้อมูลชนิดข้อความ  (string  constant)
gets( )       คือ  ฟังก์ชันที่ใช้รับข้อความจากคีย์บอร์ด  แล้วไปเก็บไว้ในตัวแปรสตริง

            เพื่อให้เกิดความเข้าใจการใช้งานฟังก์ชัน  gets( )  ได้ดียิ่งขึ้นควรศึกษาโปรแกรมตัวอย่างที่  3.7  ดังต่อไปนี้
โปรแกรมตัวอย่างที่  3.7  แสดงโปรแกรมการใช้ฟังก์ชัน  gets( )
 
 
/*          gets1.c              /
#include<stdio.h>                                                                           /*  บรรทัดที่  1  */
#include<conio.h>                                                                          /*  บรรทัดที่  2  */
void main(void)                                                                                 /*  บรรทัดที่  3  */
{                                                                                                         /*  บรรทัดที่  4  */
      char pro[50];                                                                        /*  บรรทัดที่  5  */
      clrscr( );                                                                                 /*  บรรทัดที่  6  */
      printf("Enter your province : ");                                           /*  บรรทัดที่  7  */
      gets(pro);                                                                              /*  บรรทัดที่  8  */
      printf("Your province is ...%s\n", pro);                              /*  บรรทัดที่  9  */
      getch( );                                                                                 /*  บรรทัดที่  10 */
}                                                                                                         /*  บรรทัดที่  11 */
 
 



  
ผลลัพธ์ที่ได้จากโปรแกรม
แผนผังลำดับงาน: จอภาพ: Enter your province : Nakhonphanom  Your province is …  Nakhonphanom
คำอธิบายโปรแกรม 
            โปรแกรมตัวอย่างที่  3.7  เป็นโปรแกรมที่รอรับการเติมชื่อจังหวัด  แล้วนำไปเก็บไว้ในตัวแปร  pro  ด้วยคำสั่งบรรทัดที่  8  คือ  gets(pro);  แล้วนำค่าที่เก็บไว้ในตัวแปร  pro  ออกมาแสดงตรงตำแหน่ง   %s   และขึ้นบรรทัดใหม่   ส่วนคำสั่งบรรทัดที่  10  getch( );  โปรแกรมก็จะหยุดรอรับค่าใด ๆ  จากคีย์บอร์ด  เช่น  เรากด  enter  ก็จะกลับเข้าสู่โปรแกรม   
          สรุปข้อแนะนำการใช้ฟังก์ชันรับข้อมูล  (input  functions)
    • เมื่อต้องการรับค่าข้อมูล  string  ควรใช้ฟังก์ชัน  gets( )  หรือ  scanf( )
    • เมื่อต้องการรับตัวเลขหรือตัวอักษรเพียง  1  ตัว  ที่ไม่ต้องการเห็นบนจอภาพ  และไม่ต้องกดแป้น  enter  ควรใช้ฟังก์ชัน  getch( ) แต่ถ้าต้องการเห็นบนจอภาพด้วยควรใช้ฟังก์ชัน  getche( )
    • เมื่อต้องการรับข้อมูลตัวเลขที่มากกว่า  1  ตัว  เช่น  ตัวเลขจำนวนเต็มหรือตัวเลขทศนิยม  ควรใช้ฟังก์ชัน  scanf( )
    • กรณีที่ใช้ฟังก์ชัน  scanf( )  รับข้อมูลติดต่อกันมากกว่า  2  ครั้ง  อาจเกิดความผิดพลาดในการรับข้อมูล  ดังนั้นจึงควรใช้คำสั่ง  ch = getchar( );  คั่นก่อนที่จะรับข้อมูลครั้งที่  3  โดยจะต้องมีคำสั่งประกาศตัวแปร  char  ch;  ไว้ด้วย

วันพฤหัสบดีที่ 19 มกราคม พ.ศ. 2555

คอมพิวเตอร์เพื่องานอาชีพ

วันพฤหัสบดีที่ 19 มกราคม พ.ศ. 2555

ส่วนประกอบหน้างต่างโปรแกรม MS-Excel 2007

หน้าต่างของโปรแกรม Microsoft Excel 2010 นั้นมีส่วนประกอบที่สำคัญอยู่หลายส่วนด้วยกัน ดังนี้ 

ส่วนประกอบของโปรแกรม
          1. แถบชื่อเรื่อง (Title Bar) = เป็นส่วนที่ใช้แสดงชื่อโปรแกรม และรายชื่อไฟล์ที่ได้เปิดใช้งาน
          2. แถบเครื่องมือด่วน (Quick Access) = เป็นส่วนที่ใช้ในการแสดงคำสั่งที่ใช้งานบ่อย
          3. ปุ่ม แฟ้ม (File) = เป็นส่วนที่ใช้ในการจัดเก็บคำสั่งการทำงานในโปรแกรม เช่น New Open, Save และคำสั่ง Print เป็นต้น
          4. ปุ่มควบคุม = เป็นส่วนที่ใช้ควบคุมการเปิด หรือปิดหน้าต่างโปรแกรม
          5. ริบบอน (Ribbon) = เป็นส่วนที่ใช้แสดงรายการคำสั่งต่าง ๆ ที่ใช้ในการทำงานกับเอกสาร
          6. พื้นที่การทำงาน = เป็นส่วนที่ใช้ในการแสดงรายละเอียดต่าง ๆ ขั้นภายในเอกสาร
          7. แถบสถานะ (Status Bar) = เป็นส่วนที่ใช้แสดงจำนวนหน้ากระดาษ และจำนวนตัวอักษรที่ใช้ในเอกสาร
          8. Name Box = เป็นช่องที่ใช้แสดงชื่อเซล์ที่ใช้งานอยู่ในขณะนั้น เช่น ถ้ามีการใช้งานข้อมูลในเซลล์ A1 รายชื่อเซลล์นี้ก็จะไปแสดงอยู่ในช่อง Name Box
          9. แถบสูตร (Formula Bar) = เป็นช่องที่ใช้แสดงการใช้งานสูตรการคำนวณต่าง ๆ
          10. เซลล์ (Cell) = เป็นช่องตารางที่ใช้สำหรับบรรจุข้อมูลต่าง ๆ ซึ่งช่องเซลล์แต่ละช่องนั้นจะมีชื่อเรียกตามตำแหน่งแถว และคอลัมน์ที่แสดงตำแหน่งของเซลล์ เช่น เซลล์ B1 จะอยู่ใน คอลัมน์ B ในแถวที่ 1 เป็นต้น

          11. คอลัมน์ (Column) = เป็นช่องเซลล์ที่เรียงกันในแนวตั้งของแผ่นงาน (Worksheet)
          12. แถว (Row) = เป็นช่องเซลล์ที่เรียงกันในแนวนอนของแผ่นงาน
          13. Sheet Tab = เป็นแถบที่ใช้แสดงจำนวนแผ่นงานที่เปิดขึ้นมาใช้งาน
ใน Office Excel 2007ส่วนติดต่อผู้ใช้ของ Office Fluent ใหม่ จะแทนที่เมนู แถบเครื่องมือ และบานหน้าต่างงานส่วนใหญ่จาก Excel รุ่นก่อนหน้า ด้วยกลไกเดี่ยวที่ง่ายและค้นหาได้ ส่วนติดต่อผู้ใช้ของ Office Fluent ออกแบบมาเพื่อช่วยให้คุณผลิตงานได้มากขึ้นใน Excel ค้นหาคุณลักษณะที่เหมาะสมได้ง่ายขึ้นสำหรับงานต่างๆ ค้นพบหน้าที่การใช้งานใหม่ และมีประสิทธิภาพมากขึ้น
บท ความนี้ออกแบบมาสำหรับผู้ใช้ Excel 2003 ที่มีประสบการณ์ เช่น บุคลากรฝ่ายให้บริการความช่วยเหลือ ผู้เชี่ยวชาญด้าน IT และผู้อื่นที่คุ้นเคยกับส่วนติดต่อของ Excel 2003 อยู่แล้ว ที่ต้องการค้นหาคำสั่งที่คุ้นเคยอย่างรวดเร็วใน Office Excel 2007

ส่วนติดต่อผู้ใช้ของ Office Fluent

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

Ribbon UI 
บรรยายภาพ 1 แท็บได้รับการออกแบบมาเพื่อให้เน้นงานเป็นหลัก
บรรยายภาพ 2 กลุ่มภายในแต่ละแท็บจะแบ่งงานออกเป็นงานย่อย
บรรยายภาพ 3 ปุ่มคำสั่งในแต่ละกลุ่มจะดำเนินการคำสั่ง หรือแสดงเมนูของคำสั่ง


แท็บที่ปรากฏก็ต่อเมื่อคุณต้องการเท่านั้น

นอก จากชุดแท็บมาตรฐานที่คุณเห็นบน Office Fluent Ribbon เมื่อใดก็ตามที่คุณเริ่ม Office Excel 2007 แล้ว ยังมีแท็บอีกสองชนิดซึ่งปรากฏในส่วนติดต่อเฉพาะเมื่อแท็บเหล่านั้นมี ประโยชน์สำหรับงานชนิดที่คุณกำลังดำเนินการอยู่ในขณะนั้น
เครื่องมือบริบท     เครื่องมือบริบททำให้คุณสามารถทำงานกับวัตถุที่คุณเลือกในหน้าได้ เช่น ตาราง รูปภาพ หรือรูปวาด เมื่อคุณคลิกวัตถุ ชุดของแท็บบริบทที่เกี่ยวข้องจะปรากฏในสีส่วนที่ถูกเน้นถัดจากแท็บมาตรฐาน

ชุดบริบทของแท็บ 
บรรยายภาพ 1 เลือกรายการในเอกสารของคุณ
บรรยายภาพ 2 ชื่อของเครื่องมือบริบทที่นำไปใช้ได้จะปรากฏในสีส่วนที่ถูกเน้น และแท็บบริบทจะปรากฏถัดจากชุดมาตรฐานของแท็บ
บรรยายภาพ 3 แท็บบริบทจะควบคุมการทำงานกับรายการที่เลือก

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

เมนู แถบเครื่องมือ และองค์ประกอบที่คุ้นเคยอื่นๆ

นอก จากแท็บ กลุ่ม และคำสั่ง Office Excel 2007 จะใช้องค์ประกอบอื่นที่ให้เส้นทางสำหรับการทำให้งานของคุณเสร็จสมบูรณ์ องค์ประกอบต่อไปนี้มีลักษณะเหมือนเมนูและแถบเครื่องมือที่คุณคุ้นเคยอยู่แล้ จาก Excel รุ่นก่อนหน้า สมุดงานการแมปของ Excel Ribbon นำคุณไปสู่สมุดงานที่มีองค์ประกอบที่แมปทั้งหมด
ปุ่ม Microsoft Officeรูปปุ่ม      ปุ่มนี้อยู่ที่มุมซ้ายบนของหน้าต่าง Excel และจะเปิดเมนูที่แสดงอยู่ที่นี่
เมนูแฟ้ม 
แถบเครื่องมือการเข้าถึงด่วน     แถบเครื่องมือด่วนอยู่ที่ด้านบนของหน้าต่าง Excel ตามค่าเริ่มต้น และทำให้สามารถเข้าถึงเครื่องมือที่คุณใช้บ่อยได้อย่างรวดเร็ว คุณสามารถกำหนดแถบเครื่องมือด่วนเองได้ด้วยการเพิ่มคำสั่งลงในแถบเครื่องมือด่วน
แถบเครื่องมือการเข้าถึงด่วน 
ตัวเปิดใช้กล่องโต้ตอบ     ตัวเปิดใช้กล่องโต้ตอบคือไอคอนเล็กๆ ที่ปรากฏในกลุ่มบางกลุ่ม การคลิกตัวเปิดใช้กล่องโต้ตอบจะเปิดกล่องโต้ตอบหรือบานหน้าต่างงานที่เกี่ยว ข้อง ซึ่งจะให้ตัวเลือกเพิ่มเติมที่เกี่ยวข้องกับกลุ่มกลุ่มนั้น
ตัวเปิดใช้กล่องโต้ตอบ 
ด้านบนของหน้า ด้านบนของหน้า

การเพิ่มคำสั่งลงในแถบเครื่องมือด่วน

ดัง ที่ได้ระบุในตารางตอนท้ายของบทความนี้ คำสั่ง Excel 2003 บางคำสั่งจะพร้อมใช้งานใน Office Excel 2007 จากรายการของคำสั่งทั้งหมดในกล่องโต้ตอบ ตัวเลือกของ Excel เท่านั้น เมื่อต้องการใช้คำสั่งเหล่านี้ใน Office Excel 2007 ให้คุณเพิ่มคำสั่งลงในแถบเครื่องมือด่วนก่อนดังต่อไปนี้
  1. คลิก ปุ่ม Microsoft Officeรูปปุ่ม แล้วคลิก ตัวเลือกของ Excel
  2. ในรายการทางด้านซ้าย ให้คลิก การกำหนดเอง
  3. ในกล่องรายการแบบหล่นลง เลือกคำสั่งจาก ให้คลิก คำสั่งทั้งหมด
ตัวเลือกของ Excel การกำหนดเอง คำสั่งทั้งหมด
  1. ในกล่อง กำหนดแถบเครื่องมือด่วนเอง ให้เลือกระหว่าง สำหรับเอกสารทั้งหมด (ค่าเริ่มต้น) หรือเอกสารบางฉบับ
  2. คลิกคำสั่งที่คุณต้องการเพิ่ม แล้วคลิก เพิ่ม
ทำซ้ำสำหรับแต่ละคำสั่งที่คุณต้องการเพิ่ม
  1. คลิกลูกศร ย้ายขึ้น และ ย้ายลง เพื่อจัดเรียงคำสั่งในลำดับที่คุณต้องการให้คำสั่งปรากฏบนแถบเครื่องมือด่วน
  2. คลิก ตกลง