71
การเขียนโปรแกรมเบื้องต ้น

Chapter 04 Compare

  • Upload
    -

  • View
    1.690

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Chapter 04 Compare

การเขยีนโปรแกรมเบ ือ้งต ้น

Page 2: Chapter 04 Compare

ว ันน ี้เร ียน

•การเข ียนโปรแกรมเบ ือ้งต ้น•การเข ียนโปรแกรมแบบเล ือกทำา

Page 3: Chapter 04 Compare

Create source code

Create source code – การเขยีน code ตามกฎเกณฑ์ของ

ภาษา C++ – เพ ือ่ส ัง่ให ้คอมพิวเตอร ์ท ำางานตามที่

โปรแกรมเมอร ์ต ้องการ

Page 4: Chapter 04 Compare

Compile

– เปน็กระบวนการในการตรวจสอบcode ที่โปรแกรมเมอร ์เขยีนว ่าถ ูก

ต้องตรงตามหลักการเข ียนในภาษาC++ หรือไม ่

– ถ้าผ ิดจะแสดงข้อความระบ ุสาเหตุความผิด

– โปรแกรมเมอร ์จะต ้องแก้ไข และcompile ใหม่จนกว ่าจะถ ูก

Page 5: Chapter 04 Compare
Page 6: Chapter 04 Compare

Link

– เปน็กระบวนการในการนำาโปรแกรมยอ่ยที่ จ ำาเปน็ต ้องใชม้ารวมเขา้ก ับโปรแกรมหลัก

เพ ื่อให ้โปรแกรมหลักท ำางานได้ตามที่โปรแกรมเมอร ์ต ้องการ

– ผลลัพธท์ ี่ได ้จากกระบวนการ Link คอื file ชนดิ .EXE

Page 7: Chapter 04 Compare

Run

– เปน็กระบวนการในการการส ัง่ให ้โปรแกรมทำางาน

– ความผดิพลาดสามารถเก ิดข ึ้นได ้ในขณะที่run เร ียกว ่า run-time error

Page 8: Chapter 04 Compare
Page 9: Chapter 04 Compare

โครงสร ้างของภาษา C++

Header

Main function

Preprocessor

Global Declarations

Function prototypes

statements

comments

Page 10: Chapter 04 Compare

ว ิธ ีการเข ียน source code สำาหร ับโปรแกรมอย่างง ่าย

1. เข ียน Preprocessor statement

2. เข ียน main function

Page 11: Chapter 04 Compare

เข ียน Preprocessor statement

• Preprocessor statement เปน็ค ำาส ัง่ท ี่ส ัง่ให ้คอมไพเลอร ์ท ำางานบางอยา่งก ่อนที่จะคอมไพล์โปรแกรม

• คำาส ัง่จะข ึ้นต ้นด ้วยเคร ื่องหมาย #

• Preprocessor statement ที่ส ำาคญัๆ ม ี 2 ประเภทคอื#include#define

Page 12: Chapter 04 Compare

#include

• เปน็ Preprocessor statement ที่ส ัง่ให ้คอมไพเลอร ์รวมเฮดเดอร ์ไฟล ์ท ี่อย ู่หล ังไดเรกทีฟ

อนิคล ูด เข ้าไว ้ก ับซอร ์ดโคด้ เพ ื่อให ้โปรแกรมสามารถทำางานตามที่โปรแกรมเมอร ์ต ้องการได้

• เฮดเดอร ์ไฟล ์ (Header file) เปน็ท ี่เก ็บฟ ังก ์ช ั่ นมาตรฐาน สร ้างไว ้เพ ื่อชว่ยโปรแกรมเมอร ์

ประหยดัเวลาในการเข ียนโปรแกรม

Page 13: Chapter 04 Compare

• เฮดเดอร ์ไฟล ์ (Header file) เชน่ iostream.h• เก ็บฟังก ์ชนัในการร ับข ้อมลู และแสดงผลข้อมลู

เชน่ cin , cout เปน็ต ้น

#include

#include<iostream.h>

preprocessor

DirectiveHeader File

Page 14: Chapter 04 Compare

#define

• เปน็ Preprocessor statement ที่ก ำาหนดคา่ ของต ัวแปรไว ้ก ่อนที่จะมกีารคอมไพล์ ด ังน ั้นใน

กระบวนการคอมไพล์จ ึงไม ่สามารถ เปล ี่ยนแปลงคา่ของต ัวแปรได้

• หากมคี ำาส ัง่ใดในโปรแกรมต้องการ เปล ี่ยนแปลงคา่ โปรแกรมจะแสดงข้อความระบ ุ

ความผดิพลาด• ร ูปแบบการเข ียนค ำาส ัง่ ( ไม ่ต ้องมเีคร ื่องหมาย ; ปดิท ้ายค ำาส ัง่)

สำาหร ับต ัวแปรชนิดต ัวเลข#define score 50

สำาหร ับตวัแปรชนดิต ัวอ ักษร#define score “over 50”

Page 15: Chapter 04 Compare

การเข ียน main function

• เปน็การเข ียนฟังก ์ชนัหล ักในการทำางานของ โปรแกรม

• ทุกๆ โปรแกรมที่เข ียนขึ้นจากภาษา C++ จะ ต้องมฟี ังก ์ชนัน ีเ้สมอ มฉิะน ัน้โปรแกรมจะไม ่

สามารถทำางานได้• ลักษณะการเข ียนvoid

main (){ คำาสัง่ต่างๆ;

}

บ่งบอกว ่าฟ ังก ์ช ันนี้ไม ่ได ้ส ่งค ่าใดๆ

ชื่อฟ ังก ์ช ันนี้

บ ่งบอกว ่าฟ ังก ์ช ันนี้ไม ่ได ้ร ับค ่าใดๆ

Page 16: Chapter 04 Compare

5 เมตร

4 เมตร

ตัวอย ่างท ี่ 1 การค ำานวณพื้นท ี่สามเหล ี่ยม

Page 17: Chapter 04 Compare

Preprocessor

Function

Page 18: Chapter 04 Compare

ก่อนเข ียน Preprocessor ลองถามตวัเองว ่า .....1. โปรแกรมทีจ่ะเขยีนมกีารร ับข ้อมลูและแสดงผล

ข้อมลูหร ือไม ่ ?

ตอบ ม ี ต้องใส ่ preprocessor ว ่า#include<iostream>

2. โปรแกรมทีจ่ะเขยีนมกีารใช้งานตัวแปรแบบstring หรือไม ่ ?

ตอบ ม ี ต้องใส ่ preprocessor ว ่า#include<string>

3. โปรแกรมทีจ่ะเขยีนมกีารเรยีกใช้ฟงัก ์ชนัทาง คณิตศาสตร ์หร ือไม ่ ?

ตอบ มี ต้องใส ่ preprocessor ว ่า#include<math.h>

• สร ุปต ้องถามตัวเองว ่า header file อะไรบ้างท ี่ จำาเป ็นต ้องใช้

Page 19: Chapter 04 Compare

#include<iostream.h>

Preprocessor ที่ต ้องใช้ในโปรแกรมคำำนวณพื้นท ี่สำมเหล ี่ยม

#include<iostream.h> เปน็ preprocessor ตัวเด ียวเท ่ำน ัน้

เน ือ่งจำกโปรแกรมนีม้กีำรร ับและแสดงข้อม ูล อย่ำงเด ียว

ไมม่ ีกำรใชต้วัแปรแบบ string และไมม่ ีกำรใช้ฟ ังก ์ชนัทำงคณิตศำสตร ์

Page 20: Chapter 04 Compare

กำรเข ียน main functionvoid main()

{

}

ขั้นท ี่ 1 เข ียน

void main()

{

}

Page 21: Chapter 04 Compare

กำรเข ียน main functionvoid main()

{

}

ขั้นท ี่ 2 เข ียนค ำำส ัง่ท ี่อย ูภ่ำยใน

ฟังก ์ชนั main

Page 22: Chapter 04 Compare

float invariant = 0.5, base = 0.0, height =0.0, result = 0.0;

จำกสญัล ักษณ์แปลงเป ็น code ภำษำC++ ได้ด ังน ี้

Page 23: Chapter 04 Compare

จำกสญัล ักษณ์แปลงเป ็น code ภำษำC++ ได้ด ังน ี้

คำำสัง่ในกำรรับข้อมูลคอืคำำสั่ง cin และเครื่องหมำย >>ดังน ั้นจ ึงเข ียนได้ว ่ำ

cin>>base>>height; ร ับค ่ำแรกมำเก ็บไว ้ในตัวแปร base

ร ับค ่ำสองมำเก ็บไว ้ในตัวแปร height

Page 24: Chapter 04 Compare

จำกสญัล ักษณ์แปลงเป ็น code ภำษำC++ ได้ด ังน ี้

result = invariant * base * height;

Page 25: Chapter 04 Compare

จำกสญัล ักษณ์แปลงเป ็น code ภำษำC++ ได้ด ังน ี้

คำำสัง่ในกำรแสดงข้อมูลคอืคำำสั่ง cout และเครื่องหมำย <<ดังน ั้นจ ึงเข ียนได้ว ่ำ

cout<<“ ”ร ูปเรขำคณิตนี้ม ีขนำดเท ่ำก ับ <<result<<“ ”ตำรำงเมตร ;

Page 26: Chapter 04 Compare

สร ุปเข ียน source code ได้ด ังน ี้

Page 27: Chapter 04 Compare

กำรเข ียนโปรแกรมแบบเล ือกทำำ

• สิง่ส ำำคญัท ี่สดุท ี่ตอ้งม ี คอื เง ื่อนไข• เพรำะเง ื่อนไขคอืส ิง่ท ี่จะใชใ้นกำรตรวจสอบว ่ำ

จะต ้องท ำำอะไรต ่อไป– ถ้ำผลล ัพธจ์ำกกำรตรวจสอบเง ือ่นไขเปน็จร ิง

ทำำอะไร– ถ้ำผลล ัพธจ์ำกกำรตรวจสอบเง ือ่นไขเปน็เท ็จ

จะต ้องท ำำอะไร

Page 28: Chapter 04 Compare

ตวัอย ่ำงท ี่ 2 กำรเข ียนโปรแกรมแบบเล ือกทำำ

จงเข ียนโปรแกรมตรวจสอบตวัเลขที่ผ ูใ้ชก้รอก เข ้ำมำว ่ำเปน็จ ำำนวนนบัหร ือไม ่ ท ั้งน ีถ้ ้ำต ัวเลขที่ผ ู้

ใชก้รอกเข ้ำมำเปน็ทศนิยมให้โปรแกรมปร ับให้ เปน็เลขจ ำำนวนเต ็มโดยอัตโนมัต ิ ก ่อนทำำกำร

ตรวจสอบ

Page 29: Chapter 04 Compare

ขั้นว ิเครำะห์ปญัหำ

1. ปญัหำคอือะไร• ตอบ ปญัหำคอืเขียนโปรแกรมตรวจสอบตัวเลขที่รับ

เข้ำมำสู่ระบบ โดยถ้ำตัวเลขที่รับเข้ำมำมีคำ่มำกกว่ำ 0 ให้แสดงข้อควำมว่ำ

“This number is a cardinal number”

แต่ถ้ำน้อยกว่ำหรือเท่ำกับ ให้แสดงข้อควำมว่ำ “This number is not a cardinal number”

Page 30: Chapter 04 Compare

ขั้นว ิเครำะห์ปญัหำ

2. ร ูปแบบของผลลัพธท์ ี่จะแสดงคอือะไร ?• ตอบ

ถ้ำตัวเลขที่รับเข้ำมำมีคำ่มำกกว่ำ 0 ให้แสดงข้อควำมว่ำ

“This number is a cardinal number”

แต่ถ้ำน้อยกว่ำหรือเท่ำกับ ให้แสดงข้อควำมว่ำ “This number is not a cardinal number”

Page 31: Chapter 04 Compare

ขั้นว ิเครำะห์ปญัหำ

3. ข้อมลูอะไรบำ้ง ท ี่ต ้องใชใ้นกำรค ำำนวณ ?• ตอบ ข้อมูลตัวเลขที่รับมำจำกผูใ้ช้

Page 32: Chapter 04 Compare

ขั้นว ิเครำะห์ปญัหำ

4. ตัวแปรที่น ำำมำใชเ้ก ็บข ้อม ูล ?• ตอบ มี ตัวแปรเก็บข้อมูลเข้ำ 1 ตัว คอื number เปน็

ชนิด int เพรำะในโจทย์ระบุว่ำถ้ำตัวเลขที่ผู้ใชก้รอกเข้ำมำเปน็ทศนิยมให้ปรับเปน็จำำนวนเต็มก่อนแล้วคอ่ยเอำไปตรวจสอบ ดังนัน้ถ้ำเรำกำำหนดเปน็ int โปรแกรมจะปรับให้โดยอัตโนมัติไม่ต้องเขียนคำำสั่งใดๆ เพิ่ม

Page 33: Chapter 04 Compare

ขั้นว ิเครำะห์ปญัหำ

4. หำขั้นตอนวิธกีำรทำำงำนของโปรแกรม ?ตอบ• สร้ำงตัวแปรสำำหรับเก็บข้อมูลตัวเลข และกำำหนดค่ำ

เบือ้งต้นให้กับตัวแปรทั้งหมด• รับข้อมูลตัวเลข จำกผู้ใช้• ประมวลผลโดยกำรเปรียบเทียบ คอื

3.1 ถ้ำ number มำกกว่ำ 0 ให้แสดงข้อควำม “This number is a cardinal number”

ถ้ำไมใ่ช่ทำำต่อข้อ 3.2

3.2 แสดงข้อควำม “This number is not a cardinal number”

Page 34: Chapter 04 Compare

เข ียน Flowchart

1. สร้ำงตัวแปรสำำหรับเก็บข้อมูลตัวเลข และกำำหนดค่ำเบือ้งต้นให้กับตัวแปรทั้งหมด

int number = 0;

Page 35: Chapter 04 Compare

เข ียน Flowchart

2. รับข้อมูลตัวเลข จำกผูใ้ช้

number

Page 36: Chapter 04 Compare

เข ียน Flowchart

3. ประมวลผลโดยกำรเปรียบเทียบ คอื3.1 ถ้ำ number มำกกว่ำ 0 จริง แล้วให้แสดงข้อควำม

“This number is a cardinal number” ถ้ำไมใ่ช่ทำำต่อข้อ 3.2

3.2 แสดงข้อควำม “This number is not a cardinal number”

number > 0

“This number is a cardinal number”“This number is not a cardinal number”

จร ิง เท ็จ

Page 37: Chapter 04 Compare

สร ุปFlowchart ที่

ได ้

start

int number = 0;

number

number > 0

“This number is a cardinal number”“This number is not a cardinal number”

จร ิง เท ็จ

stop

Page 38: Chapter 04 Compare

Preprocessor

Function

Page 39: Chapter 04 Compare

เข ียนสว่นที่เปน็ Preprocessor

• เนื่องจากมีการรับและแสดงผลข้อมูลอย่างเดียว ไม่มีตัวแปร string และไม่มีการใชฟ้ังก์ชนัทางคณิตศาสตร์ ดังนั้น Preprocessor จึงมีตัวเดียวคอื

#include<iostream.h>

Page 40: Chapter 04 Compare

การเข ียนโปรแกรมสว่นของ Function

ขั้นตอนที่ 1 void main (){

}

Page 41: Chapter 04 Compare

การเข ียนโปรแกรมสว่นของ Function

จากสญัล ักษณ์สามารถเปล ีย่นเปน็ code ภาษาC++ ได้ด ังน ี้

int number = 0;

int number = 0;

ขั้นตอนที่ 2

Page 42: Chapter 04 Compare

การเข ียนโปรแกรมสว่นของ Function

จากสญัล ักษณ์สามารถเปล ี่ยนเปน็ code ภาษาC++ ได้ด ังน ี้

cin>>number;

number

ขั้นตอนที่ 2

Page 43: Chapter 04 Compare

การเข ียนโปรแกรมสว่นของ Function

จากสญัล ักษณ์ด ้านล ่างสามารถเปล ี่ยนเปน็code ภาษา C++ ได้ด ังน ี้if (number > 0){

cout<< “This number is a cardinal number”<<endl;}else{

cout<< “This number is not a cardinal number”<<endl;} ขั้นตอนที่ 2

Page 44: Chapter 04 Compare

สร ุป source code สำาหร ับโปรแกรมตัวอย ่างน ี้คอื

Page 45: Chapter 04 Compare

การใช้ switch

• สามารถเลอืกเข ียนค ำาส ัง่ switch แทนการ เข ียนค ำาส ัง่ if ได้ ในกรณีท ี่

– มกีารเล ือกทำาหลายเง ื่อนไข– แตล่ะเง ื่อนไข ใชต้ ัวแปรเด ียวก ันในการ

ตดัสนิใจ

Page 46: Chapter 04 Compare

ตัวอย ่างการใช้ switch

• จงเข ียนโปรแกรมจ ัดการต ัวเลข 2 จ ำานวนโดยที่ผ ูใ้ชส้ามารถเล ือกว ิธกีารด ำาเนนิการทาง

คณติศาสตร ์ก ับต ัวเลขทั้งสอง ได้ด ังน ี้ ถ้าเล ือก 1 ให้หาผลรวมของต ัวเลขทั้งสองน ั้น ถ้าเล ือก 2 ให้หาผลลบของต ัวเลขทั้งสองน ัน้ ถ้าเล ือก 3 ให้หาผลคณูของต ัวเลขทั้งสองน ัน้

Page 47: Chapter 04 Compare

ขั้นว ิเคราะห์ปญัหา

1. ปญัหาคอือะไร• ตอบ ปญัหาคอืเขียนโปรแกรมจัดการตัวเลข 2

จำานวน โดยที่ผูใ้ช้สามารถเลือกวิธีการดำาเนินการทางคณิตศาสตร์กับตัวเลขทั้งสอง ได้ดังนี้

ถ้าเลือก 1 ให้หาผลรวมของตัวเลขทั้งสองนั้นถ้าเลือก 2 ให้หาผลลบของตัวเลขทั้งสองนั้นถ้าเลือก 3 ให้หาผลคณูของตัวเลขทั้งสองนั้น

Page 48: Chapter 04 Compare

ขั้นว ิเคราะห์ปญัหา

2. ร ูปแบบของผลลัพธท์ ี่จะแสดงคอือะไร ?• ตอบถ้าเลือก 1 รูปแบบการแสดงผล “You choose case 1

num1 + num2 = result”ถ้าเลือก 2 รูปแบบการแสดงผล “You choose case 2

num1 - num2 = result”ถ้าเลือก 3 รูปแบบการแสดงผล “You choose case 3

num1 * num2 = result”ถ้าเลือกเลขทีเ่ลือกไมใ่ช่ 1, 2, 3 ให้ข้ึนข้อความ “sorry the

system can’t process”

หมายเหตุnum1, num2 คอืตัวเลขที่ผูใ้ชใ้สเ่ข้าไปresult คอืผลลัพธ์ที่ได้

Page 49: Chapter 04 Compare

ขั้นว ิเคราะห์ปญัหา

3. ข้อมลูอะไรบา้ง ท ี่ต ้องใชใ้นการค ำานวณ ?• ตอบ สตูรท ี่ตอ้งใชม้ดี ังน ี้

กรณีหมายเลข case เปน็ 1 ผลลัพธ์ = เลขจำานวนที่ 1 + เลขจำานวนที่ 2กรณีหมายเลข case เปน็ 2 ผลลัพธ์ = เลขจำานวนที่ 1 - เลขจำานวนที่ 2กรณีหมายเลข case เปน็ 3 ผลลัพธ์ = เลขจำานวนที่ 1 * เลขจำานวนที่ 2

ดังน ัน้ข ้อมลูท ี่ต ้องใชใ้นการค ำานวณคอื•เลขจำานวนที่ 1•เลขจำานวนที่ 2•หมายเลข case

Page 50: Chapter 04 Compare

ขั้นว ิเคราะห์ปญัหา

4. ตัวแปรที่น ำามาใชเ้ก ็บข ้อม ูล ?• ตอบ

– ตัวแปรเก็บข้อมูลเข้า 3 ตัว •เลขจำานวนที่ 1 ตั้งชือ่ว่า num1 เป็นชนดิ float•เลขจำานวนที่ 2 ตั้งชือ่ว่า num2 เป็นชนดิ float•หมายเลข case ตั้งชือ่ case_num เป็นชนิด int

– ตัวแปรเก็บผลลัพธ์ 1 ตัว•ผลลัพธ์ ตั้งชือ่ว่า result เป็นชนิด float

Page 51: Chapter 04 Compare

ขั้นว ิเคราะห์ปญัหา

4. หาขั้นตอนวิธกีารทำางานของโปรแกรม ?ตอบ1. สร้างตัวแปรสำาหรับเก็บข้อมูลเลขจำานวนที่ 1,

เลขจำานวนที่ 2,

หมายเลข case, ผลลัพธ ์และกำาหนดค่าเบื้องต้นให้กับตัวแปรทั้งหมด

2. รับข้อมูลเลขจำานวนที่ 1, เลขจำานวนที่ 2, หมายเลข case จากผูใ้ช้

3. ประมวลผลโดยการเปรียบเทียบ ตรวจสอบหมายเลข case คอื3.1 ถ้าหมายเลข case เท่ากับ 1

(1) หาผลรวมโดย result = num1 + num2;

(2) แสดงข้อความ “You choose case 1 num1 + num2 = “+result;

Page 52: Chapter 04 Compare

ขั้นว ิเคราะห์ปญัหา

4. หาขั้นตอนวิธกีารทำางานของโปรแกรม ? (ต่อ)3.2 ถ้าหมายเลข case เท่ากับ 2

(1) หาผลลบโดย result = num1 - num2;

(2) แสดงข้อความ “You choose case 2 num1 - num2 = “+result;

3.3 ถ้าหมายเลข case เท่ากับ 3

(1) หาผลคูณโดย result = num1 * num2;

(2) แสดงข้อความ “You choose case 3 num1 * num2 = “+result;

Page 53: Chapter 04 Compare

ขั้นว ิเคราะห์ปญัหา

4. หาขั้นตอนวิธกีารทำางานของโปรแกรม ? (ต่อ)3.4 ถ้าหมายเลข case ไม่ได้อยู่ใน 1-3

แสดงข้อความ “sorry the system can’t process”

Page 54: Chapter 04 Compare

เข ียน Flowchart

1. สร้างตัวแปรสำาหรับเก็บข้อมูลเลขจำานวนที่ 1, เลขจำานวนที่ 2,

หมายเลข case, ผลลัพธ ์และกำาหนดค่าเบื้องต้นให้กับตัวแปรทั้งหมดfloat num1=0.0, num2=0.0, result=0.0;

int case_num= 0;

Page 55: Chapter 04 Compare

เข ียน Flowchart

2. รับข้อมูลเลขจำำนวนที่ 1, เลขจำำนวนที่ 2, หมำยเลข case จำกผูใ้ช้

case_num, num1, num2

Page 56: Chapter 04 Compare

เข ียน Flowchart

3. ประมวลผลโดยกำรเปรียบเทียบ ตรวจสอบหมำยเลข case

switch case_num

Page 57: Chapter 04 Compare

เข ียน Flowchart

ถ้ำหมำยเลข case เท่ำกับ 1

(1) หำผลรวมโดย result = num1 + num2;

(2) แสดงข้อควำม “You choose case 1 num1 + num2 = “+result;

case 1:

result = num1 + num2;

“You choose case 1 num1 + num2 = “+result;

Page 58: Chapter 04 Compare

เข ียน Flowchart

ถ้ำหมำยเลข case เท่ำกับ 2

(1) หำผลรวมโดย result = num1 - num2;

(2) แสดงข้อควำม “You choose case 2 num1 - num2 = “+result;

case 2:

result = num1 - num2;

“You choose case 2 num1 - num2 = “+result;

Page 59: Chapter 04 Compare

เข ียน Flowchart

ถ้ำหมำยเลข case เท่ำกับ 3

(1) หำผลรวมโดย result = num1 * num2;

(2) แสดงข้อควำม “You choose case 3 num1 * num2 = “+result;

case 3:

result = num1 + num2;

“You choose case 3 num1 * num2 = “+result;

Page 60: Chapter 04 Compare

เข ียน Flowchart

ถ้ำหมำยเลข case ไม่ได้อยู่ใน 1-3

แสดงข้อควำม “sorry the system can’t process”

default :

“sorry the system can’t process”;

Page 61: Chapter 04 Compare

start

float num1=0.0, num2=0.0, result= 0.0;int case_num= 0;

case_num, num1, num2

switch case_num

result = num1 + num2;

“You choose case 1 num1 + num2 = “+result;

stop

“sorry the system can’t process”;

result = num1 - num2;

“You choose case 2 num1 - num2 = “+result;

result = num1 * num2;

“You choose case 3 num1 * num2 = “+result;

case 1:

case 2:

case 3:

default:

Page 62: Chapter 04 Compare

เข ียนสว่นที่เปน็ Preprocessor

• เนื่องจำกมีกำรรับและแสดงผลข้อมูลอย่ำงเดียว ไม่มีตัวแปร string และไม่มีกำรใชฟ้ังก์ชนัทำงคณิตศำสตร์ ดังนั้น Preprocessor จึงมีตัวเดียวคอื

#include<iostream.h>

Page 63: Chapter 04 Compare

กำรเข ียนโปรแกรมสว่นของ Function

ขั้นตอนที่ 1 void main (){

}

start

float num1=0.0, num2=0.0, result= 0.0;int case_num= 0;

case_num, num1, num2

switch case_num

result = num1 + num2;

“Youchoosecase1num1+num2=“+result;

stop

“sorry the system can’t process”;

result = num1 -num2;

“Youchoosecase2num1-num2=“+result;

result = num1 * num2;

“Youchoosecase3num1*num2=“+result;

case 1: case 2: case 3: default:

Page 64: Chapter 04 Compare

เข ียน Flowchart

แปลงเปน็ code ภำษำ C++ ได้ดังนี้float num1=0.0, num2=0.0, result=0.0;

int case_num= 0;

float num1=0.0, num2=0.0, result=0.0;int case_num= 0;

Page 65: Chapter 04 Compare

เข ียน Flowchart

case_num, num1, num2

แปลงเปน็ code ภำษำ C++ ได้ดังนี้

cin>>case_num>>num1>>num2;

Page 66: Chapter 04 Compare

เข ียน Flowchart

switch case_num

แปลงเป็น code ภำษำ C++ ได้ดังนี้

switch (case_num)

{

ค่อยใส ่เคร ื่องหมำย ปีกกำป ิด ท ีหล ัง หล ังจำก

เข ียนคำำส ั่งภำยในเสร ็จแล ้ว

Page 67: Chapter 04 Compare

เข ียน Flowchart

start

float num1=0.0, num2=0.0;int case_num= 0;

case_num, num1, num2

switch case_num

result = num1 + num2;

“Youchoosecase1num1+num2=“+result;

stop

“sorry the system can’t process”;

result = num1 -num2;

“Youchoosecase2num1-num2=“+result;

result = num1 * num2;

“Youchoosecase3num1*num2=“+result;

case 1: case 2: case 3: default:

แปลงเปน็ code ภำษำ C++ ได้ดังนี้case 1:

result = num1+num2;

cout<<“You choose case 1 num1+num2 = “<<result<<endl;

break;

Page 68: Chapter 04 Compare

เข ียน Flowchart

start

float num1=0.0, num2=0.0;int case_num= 0;

case_num, num1, num2

switch case_num

result = num1 + num2;

“Youchoosecase1num1+num2=“+result;

stop

“sorry the system can’t process”;

result = num1 -num2;

“Youchoosecase2num1-num2=“+result;

result = num1 * num2;

“Youchoosecase3num1*num2=“+result;

case 1: case 2: case 3: default:

แปลงเป็น code ภำษำ C++ ได้ดังนี้case 2:result = num1- num2;cout<<“You choose case 2 num1-num2 =

“<<result<<endl;break;

Page 69: Chapter 04 Compare

เข ียน Flowchart

start

float num1=0.0, num2=0.0;int case_num= 0;

case_num, num1, num2

switch case_num

result = num1 + num2;

“Youchoosecase1num1+num2=“+result;

stop

“sorry the system can’t process”;

result = num1 -num2;

“Youchoosecase2num1-num2=“+result;

result = num1 * num2;

“Youchoosecase3num1*num2=“+result;

case 1: case 2: case 3: default:

แปลงเป็น code ภำษำ C++ ได้ดังนี้case 3:result = num1* num2;cout<<“You choose case 3 num1*num2 =

“<<result<<endl;break;

Page 70: Chapter 04 Compare

เข ียน Flowchart

start

float num1=0.0, num2=0.0;int case_num= 0;

case_num, num1, num2

switch case_num

result = num1 + num2;

“Youchoosecase1num1+num2=“+result;

stop

“sorry the system can’t process”;

result = num1 -num2;

“Youchoosecase2num1-num2=“+result;

result = num1 * num2;

“Youchoosecase3num1*num2=“+result;

case 1: case 2: case 3: default:

แปลงเป็น code ภำษำ C++ ได้ดังนี้default:cout<<“sorry the system can’t

process”<<endl;break;}

ปิด switch case เน ื่องจำกเป ิดเอำไว ้ในตอนแรก

Page 71: Chapter 04 Compare

สร ุปผลกำรเข ียนโปรแกรม