วันจันทร์ที่ 29 มิถุนายน พ.ศ. 2552

structure

#include
#include
void main()
{
struct
{
char name[50];
char lastname[50];
int idcard;
char gender[10];
char address[100];
char phoneno[10];
char datein[20];
int roomno;
} frm_info;
clrscr(); /* Clear screen */
/* Display Enter Data */
printf("\nPlease Enter All\n");
printf("--------------\n");
printf("Name : ");
scanf(" %[^\n]", frm_info.name);
printf("Lastname: ");
scanf(" %[^\n]", frm_info.lastname);
printf("ID-Card : ");
scanf(" %d", &frm_info.idcard);
printf("Gender : ");
scanf(" %[^\n]", frm_info.gender);
printf("Address : ");
scanf(" %[^\n]", frm_info.address);
printf("Phone No. : ");
scanf(" %[^\n]", frm_info.phoneno);
printf("Date-In : ");
scanf(" %[^\n]", frm_info.datein);
printf("Room No. : ");
scanf(" %d", &frm_info.roomno);
printf("\n"); /* Move cursor to new line */
/* Display data in newfrm_info */
clrscr();
printf("\nReport Enter\n");
printf("--------------\n");
printf("\nName : %s",frm_info.name);
printf("\nLastname : %s",frm_info.lastname);
printf("\nID-Card : %d",frm_info.idcard);
printf("\nGender : %s",frm_info.gender);
printf("\nAddress : %s",frm_info.address);
printf("\nPhone No. : %s",frm_info.phoneno);
printf("\nDate-In : %s",frm_info.datein);
printf("\nRoom No. : %d\n",frm_info.roomno);
printf("--------------\n");
printf("\nWelcome to Dusit Apartment\n");
}

ประวัติ

ชื่อ นางสาวรุจี ใจสุข

Miss Rujee Jaisuk

รหัสนักศึกษา 50152792049

หลักสูตร การบริหารธุรกิจ(คอมพิวเตอร์ธุรกิจ)
คณะวิทยาการจัดการ

มหาวิทยาลัยราชภัฏสวนดุสิต

DTS : 02-24/06/2552

Array and Record

Array
อะเรย์จะประกอบด้วยสมาชิกที่มีจำนวนคงที่ มีรูปแบบข้อมูลเป็นแบบเดียวกัน สมาชิกแต่ละตัวใช้เนื้อที่จัดเก็บที่มีขนาดเท่ากัน เรียงต่อเนื่องในหน่วยความจำหลัก
การกำหนดอะเรย์ จะต้องกำหนดชื่ออะเรย์ พร้อม subscript ซึ่งเป็นตัวกำหนดขอบเขตของอะเรย์ มีได้มากกว่า 1 ตัวจำนวน subscript จะเป็นตัวบอกมิติของอะเรย์นั้น อะเรย์ที่มี subscript มากกว่า 1 ตัวขึ้นไป เรียกว่า อะเรย์หลายมิติ
การกำหนด subscript แต่ละตัวจะประกอบด้วยค่าสูงสุดและค่าต่ำสุดของ subscript นั้น
อะเรย์ 1 มิติ
หมายถึง คอมพิวเตอร์จะจองเนื้อที่ในหน่วยความจำสำหรับตัวแปร a ให้เป็นตัวแปรชุดชนิด character ขนาดสมาชิก 4 สมาชิก โดยหน่วยความจำจะเตรียมเนื้อที่ให้ byte สำหรับ 1 ชื่อตัวแปร
Initialization คือ การกำหนดค่าเริ่มต้นให้กับอะเรย์
การส่งอะเรย์ให้ฟังก์ชัน สามารถกำหนดอะเรย์เป็นพารามิเตอร์ให้กับฟังก์ชันได้ 2 ลักษณะ คือ
- การกำหนด array element เป็นพารามิเตอร์ส่งค่าให้กับฟังก์ชัน ทำโดยอ้างถึงชื่ออะเรย์พร้อมระบุ subscript
- ส่งอะเรย์ทั้งชุดให้ฟังก์ชัน ทำโดยอ้างถึงชื่ออะเรย์โดยไม่มี subscript
การประกาศอาร์กิวเมนต์ให้ฟังก์ชันเป็นอะเรย์
- มีการประกาศขนาดของอะเรย์ที่ทำหน้าที่ในการรับค่า
- ไม่ต้องมีการประกาศขนาดของอะเรย์ที่ทำหน้าที่ในการรับค่า
- ตัวแปรที่ทำหน้าที่รับค่าถูกกำหนดเป็นพอยน์เตอร์
อะเรย์ 2 มิติ
หมายถึง อะเรย์ที่มีสมาชิกโครงสร้างข้อมูลอะเรย์ ลักษณะเป็ตารางที่มีแถวและคอลัมน์ หรือเรียกว่า แมตทริก (Matrix)
Record or Structure
เป็นโครงสร้างข้อมูลที่ประกอบขึ้นมาจากข้อมูลพื้นฐานต่างประเภทกัน รวมเป็น 1 ชุดข้อมูล จะประกอบด้วย data element หรือ field ต่างประเภทกันอยู่รวมกัน ในภาษาซีคือการกำหนดข้อมูลเป็นรูปแบบ Structure
Structure คือ โครงสร้างที่สมาชิกแต่ละตัวมีประเภทข้อมูลแตกต่างกันได้ โดยที่ใน structure อาจมีสมาชิกเป็นจำนวนเต็ม ทศนิยม อักขระ อะเรย์ หรือพอยเตอร์ หรือแม้แต่ structure ด้วยกันก็ได้
การประกาศสมาชิกแต่ละตัวของ structure
สมาชิกแต่ละตัวของ structure จะเป็นตัวแปรธรรมดา พอยเตอร์ อะเรย์ หรือ structure ตัวอื่นก็ได้ โดยชื่อของสมาชิกแต่ละตัวต้องแตกต่างกัน
การกำหนดค่าเริ่มต้นให้สมาชิกของ structure ค่าเริ่มต้นที่จะกำหนดให้กับสมาชิกตัวใต ต้องอยู่ในตำแหน่งที่ตรงกับสมาชิกตัวนั้น ค่าเร่มต้นต้องอยู่ในวงเล็บปีกกาและข้อมูลค่าเริ่มต้นแต่ละตัวแยกกันด้วยเครื่องหมาย ,
การอ้างถึงตัวแปรที่อยู่ในตัวแปรชนิดโครงสร้าง สามารถอ้างถึงตัวแปรที่อยู่ในตัวแปรชนิดโครงสร้างได้
รูปแบบ
structure-variable.element-name
structure-variable ชื่อตัวแปรชนิดโครงสร้าง
element-name ชื่อตัวแปรที่อยู่ใน structure
Structure กับ pointer
เราสามารถอ้างถึงที่อยู่เริ่มต้นของ structure ได้เหมือนกับตัวแปรอื่น โดยใช้ตัวดำเนินการ &
ดังนั้น ถ้า variable เป็นตัวแปรประเภท structure&variable จะเป็นเลขที่อยู่เริ่มต้นของตัวแปร นอกจากนี้ยัสามารถประกาศตัวแปรพอยน์เตอร์เป็น structure ได้
การผ่าน structure ให้ฟังก์ชัน
1. ส่งสมาชิกแต่ละตัวของ structure สามารถส่งเป็นอาร์กิวเมนต์ของฟังก์ชันและส่งกลับจากฟังก์ชันได้โดยใช้คำสั่ง return ซึ่งมีทั้งการส่งค่าของตัวแปรที่อยู่ในตัวแปร structure และส่งตำแหน่งที่อยู่ของตัวแปรนั้นๆไปยังฟังก์ชัน
2. ส่งผ่านทั้ง structure ให้กับฟังก์ชัน จะส่งผ่านในลักษณะของพอยเตอร์ไปยัง structure โดยหลักการจะเหมือนกับการส่งผ่านอะเรย์ไปให้ฟังก์ชัน ซึ่งเป็นลักษณะที่เรียกว่า Pass by reference