งานนำเสนอกำลังจะดาวน์โหลด โปรดรอ

งานนำเสนอกำลังจะดาวน์โหลด โปรดรอ

1 ครั้งที่ 9 Function(ต่อ). 2 Pointer  พอยเตอร์ คือ ตัวชี้ หน้าที่หลักคือ การชี้ ดังนั้น ค่าที่พอยเตอร์เก็บอยู่ ไม่ใช่ค่าข้อมูลที่แท้จริง หากแต่เป็นค่า.

งานนำเสนอที่คล้ายกัน


งานนำเสนอเรื่อง: "1 ครั้งที่ 9 Function(ต่อ). 2 Pointer  พอยเตอร์ คือ ตัวชี้ หน้าที่หลักคือ การชี้ ดังนั้น ค่าที่พอยเตอร์เก็บอยู่ ไม่ใช่ค่าข้อมูลที่แท้จริง หากแต่เป็นค่า."— ใบสำเนางานนำเสนอ:

1 1 ครั้งที่ 9 Function(ต่อ)

2 2 Pointer  พอยเตอร์ คือ ตัวชี้ หน้าที่หลักคือ การชี้ ดังนั้น ค่าที่พอยเตอร์เก็บอยู่ ไม่ใช่ค่าข้อมูลที่แท้จริง หากแต่เป็นค่า แอดเดรส ของตัวแปรอื่น  ค่าที่ตัวแปรพอยเตอร์เก็บอยู่ คือ ค่าแอดเดรส ของตัวแปรอื่น  ค่าที่ตัวแปรพอยเตอร์ได้มาจากการชี้ไปยัง แอดเดรสใด ๆ คือ ค่าข้อมูลที่แท้จริงของตัว แปรพอยเตอร์

3 3 การประกาศตัวแปร pointer รูปแบบการประกาศตัวแปร pointer ชนิดของข้อมูล *ชื่อตัวแปร pointer ; เช่น int *p; คือ ประกาศตัวแปร p เป็นตัวแปร pointer มีชนิดข้อมูลเป็น แบบจำนวนเต็ม char *p; คือ ประกาศตัวแปร p เป็นตัวแปร pointer มีชนิดข้อมูลเป็น แบบตัวอักษร

4 4 การกำหนดค่าเริ่มต้นให้กับตัวแปรพอยเตอร์  สามารถทำได้ 2 วิธี 1. ทำพร้อมกับการประกาศตัวแปรพอยเตอร์ เช่น int a; int *p=&a; 2. ทำหลังจากการประกาศตัวแปรพอยเตอร์ เช่น int a; int *p; p=&a;

5 5 สัญลักษณ์ในการทำงานพอยเตอร์  สัญลักษณ์ & หมายถึง การกำหนดค่าเริ่มต้น ให้กับตัวแปรพอยเตอร์ ว่าต้องการให้พอยเตอร์ ชี้ไปที่ตำแหน่งใด  สัญลักษณ์ * หมายถึง ค่าข้อมูลที่แท้จริงที่ ได้มาจากการที่ตัวแปรพอยเตอร์ทำการชี้ไปยัง แอดเดรสของตัวแปรใดๆ

6 6 Ex1 int a; int *p = &a, *q = &a; ประกาศ a เป็นแบบจำนวนเต็ม และประกาศค่า เริ่มต้นให้กับ p และ q โดยเริ่มต้นให้ชี้ไปที่ แอดเดรสของตัวแปร a

7 7 Ex2 int a; int *p = &a, *q = &a; a = 2; ประกาศ a เป็นแบบจำนวนเต็ม มีค่าเป็น 2 ดังนั้น ขณะนี้ *p = 2 และ *q = 2 ด้วย คือ a = *p = *q = 2 เนื่องจากทั้ง p และ q ชี้อ้างอิงตัว แปร a อยู่ ดังนั้น a มีค่าเป็นอะไร ค่าของ *p และ *q ก็ต้องเป็นเช่นนั้นด้วย

8 8 Ex3 int a; int *p = &a, *q = &a; a = 2; a = a+3; การทำ a = a+3; มีความหมายเหมือนกับการทำ *p=*p+3; และ *q = *q +3 ด้วย ดังนั้น a=*p=*q=5 นั่นเอง

9 9 Ex4 โปรแกรมแสดงการทำงานของตัวแปร พอยเตอร์ 1 ตัว #include void main() { int a=2, b=3; int *p=&a; printf(“Pointer variable p points to variable a at address %p\n”,p); printf(“Value of a is &d, so that value of p is %d too\n”, a, *p); getch(); }

10 10 ผลรันของโปรแกรม Pointer variable p points to variable a at address FFF4 Value of a is 2, so that value of p is 2 too

11 11 Ex5 #include void set_to_zero (int *x, int *y) { *x = 0; *y = 0; } void main() { int a,b; a=2; b=3; printf(“%d %d \n”,a,b); set_to_zero(&a,&b); printf(“%d %d \n”,a,b); } Output

12 12 Ex6 จงเขียนฟังก์ชัน swap สลับค่าตัวเลข 2 ค่า #include void swap (int *a, int *b); void main() { int x,y; printf(“Enter 2 number “); scanf(“%d %d”, ); //เรียกใช้ฟังก์ชัน printf("After swap\n"); printf("x=%d,y=%d\n",x,y); } swap ( ) { int temp; } Output Enter 2 number 30 5 After swap x = 5, y = 30

13 13 ตะลุยโจทย์ฟังก์ชัน (ต่อ)

14 14 จงเขียนโปรแกรมเพื่อรับค่าเงินบาท แล้วคิดคำนวณเงินสกุล ต่าง ๆ โดยเลือกเมนูในโปรแกรมหลัก(main) และเรียก ฟังก์ชัน Rate ใช้งานโดยส่งค่าเงินบาทและเมนูไปแล้วส่งค่า กลับมาแสดงผลลัพธ์ในโปรแกรมหลัก กำหนดให้เลือกเมนู เพื่อคิดอัตราแลกเปลี่ยนของเงินแต่ละสกุลเป็นดังนี้ •34.57 บาท/1 ดอลล่าร์ •46.82 บาท/1 ยูโร •0.29 บาท/1 เยน Ex7

15 15 Input How much money do you have ? (Baht) : 5400 Select Menu (1 for Dollar, 2 for Euro, 3 for Yen) : 1 Output 5400 Baht = Dollar Input How much money do you have ? (Baht) : 5400 Select Menu (1 for Dollar, 2 for Euro, 3 for Yen) : 2 Output 5400 Baht = Euro Input How much money do you have ? (Baht) : 5400 Select Menu (1 for Dollar, 2 for Euro, 3 for Yen) : 3 Output 5400 Baht = Yen

16 16 Ex8 จงเขียนโปรแกรมเพื่อคำนวณหาเงินได้สุทธิของ พนักงาน 10 คน โดยในโปรแกรมหลักจะต้องมีโปรแกรมย่อย ดังนี้ - โปรแกรมย่อยสำหรับรับชื่อพนักงานและเงินเดือน (INPUTDATA) - โปรแกรมย่อยสำหรับคำนวณเงินโบนัสพนักงาน (CALCULATE) โดยมีเงื่อนไขดังนี้ พนักงานที่มีเงินเดือน 0-10,000 บาท ได้โบนัส 5% พนักงานที่มีเงินเดือน 10,001-50,000 บาท ได้โบนัส 10% พนักงานที่มีเงินเดือน มากกกว่า 50,000 บาท ได้โบนัส 15% - โปรแกรมย่อยสำหรับการแสดงผล (DISPLAY) โดยแสดงเงิน ได้สุทธิที่เกิดจากเงินเดือน+โบนัส

17 17 Input Name : Raweewan Salary : Output You get baht Input Name : Bootsara Salary : Output You get baht

18 18 จงเขียนโปรแกรมเพื่อวนรับคะแนนสอบกลางภาค (score) ของนักศึกษาจำนวนจำนวน 40 คน แล้วคำคำนวณคะแนน เฉลี่ย (avg) คะแนนสูงสุด (max) และคะแนนต่ำสุด (min) กำหนดให้ main เรียกใช้ฟังก์ชันต่าง ๆ ดังนี้ - Get_Data() - Average() - Maximum() - Minimun() Ex9

19 19 Input Student 1 : Student 2 : ……………….. ………………. ……………… Student 40 : ************************************ *************** Output Average Score = Max Score = Min Score = 16.20

20 20 จงเขียนโปรแกรมเพื่ออ่านข้อมูลลำดับที่นักศึกษา (No) และจำนวน หน่วยกิต (Credit) จากไฟล์ชื่อ in.txt แล้วคำนวณค่าลงทะเบียนเรียน ของนักศึกษาแต่ละคน กำหนดให้มีเงื่อนไขของการคำนวณ ค่าลงทะเบียนดังนี้ ลงทะเบียนไม่ถึง 9 หน่วยกิต คิดหน่วยกิตละ 1500 บาท ลงทะเบียน 9-15 หน่วยกิต คิดหน่วยกิตละ 1400 บาท ลงทะเบียนมากกว่า 15 หน่วยกิต คิดหน่วยกิตละ 1200 บาท กำหนดให้โปรแกรมดังกล่าวมีโปรแกรมย่อยต่าง ๆ ดังนี้ Calculate() เป็นโปรแกรมย่อยคำนวณค่าลงทะเบียน Output() เป็นโปรแกรมย่อยแสดงผลลัพธ์ Ex10

21 21 ตัวอย่างหน้าจอ No : 1 Credit : 15 Fee : =============== ============ No : 2 Credit : 6 Fee: 9000 =========================== … ………………………………… ………………………………… … ตัวอย่างข้อมูล ในไฟล์


ดาวน์โหลด ppt 1 ครั้งที่ 9 Function(ต่อ). 2 Pointer  พอยเตอร์ คือ ตัวชี้ หน้าที่หลักคือ การชี้ ดังนั้น ค่าที่พอยเตอร์เก็บอยู่ ไม่ใช่ค่าข้อมูลที่แท้จริง หากแต่เป็นค่า.

งานนำเสนอที่คล้ายกัน


Ads by Google