LAB # 8 Computer Programming 1 1. จงเขียนโปรแกรมเพื่อรับ string แล้ว กลับ string จาก ซ้ายไปขวา ดังตัวอย่าง โดยใช้ pointer Lab8-1.cpp Example 1 Enter string = Hello Reverse string = olleH Example 2 Enter string = live Reverse string = evil Example 3 Enter string = abcdef Reverse string = fedcba Example 4 Enter string = fedcba Reverse string = abcdef Example 5 Enter string = stand Reverse string = dnats Example 6 Enter string = than Reverse string = nath หมายเหตุ สีเขียวแสดงข้อมูลที่ป้อน, สีแดงแสดงผลลัพธ์
2. จากตัวอย่างเป็นโปรแกรม สำหรับรับพิกัด x ,y ของจุดจุดหนึ่ง แล้วแสดงพิกัดของจุดจุดนั้น จงทดลองป้อนค่าให้โปรแกรมแล้วดูผลลัพธ์ที่ได้ #include <iostream.h> typedef struct { int x; int y; } point; void main() { point pt1; cout << "\nEnter data\n"; cout << " point x : "; cin >> pt1.x; cout << " point y : "; cin >> pt1.y; cout << "\n Your point (x,y) = ("<<pt1.x<<", " <<pt1.y<<")"; } Lab8-2.cpp
3. จากตัวอย่างเป็นโปรแกรม สำหรับรับวันเดือนปี แล้วแสดงวันเดือนปีนั้น จงเติมคำสั่งที่ถูกต้องในช่องว่าง และเมื่อโปรแกรมทำงานป้อนค่าให้โปรแกรมแล้วดูผลลัพธ์ที่ได้ #include <iostream.h> typedef struct { int day; int month; int year; } Date; void main() { Date d1; cout <<"\nEnter date\n"; cout <<"\tDay : "; cin >> ; cout << "\tMonth : "; cout << "\tYear : "; cout <<"\tYour Date = " <<d1.day <<d1.month <<d1.year; } Lab8-3.cpp คำสั่งเพื่อป้อนข้อมูล วัน คำสั่งเพื่อป้อนข้อมูล เดือน คำสั่งเพื่อป้อนข้อมูล ปี
4.จากข้อ 1 จงเพิ่มเติม code เพื่อให้สามารถรับจุดสองจุดซึ่งเป็นจุดของสี่เหลี่ยมแล้วทำการหาพื้นที่สี่เหลี่ยมที่เกิดจากสองจุดนั้น (x1,y1) (x2,y2) Lab8-4.cpp Hint: สร้าง struct ของจุด 2 จุด ความสูงของสี่เหลี่ยม = (y1 – y2) ความกว้างของสี่เหลี่ยม = (x2 – x1)
5.จงเขียนโปรแกรมเพื่อคํานวณพื้นที่ของรูปสี่เหลี่ยม โดยเก็บข้อมูลของสี่เหลี่ยมคือ ความกว้าง ความสูง และพื้นที่เป็นลักษณะโครงสร้าง rectangle Enter width: 30 Enter height: 5 Area = 150 width height area Lab8-5.cpp
6. เขียนโปรแกรมเพื่อทําหน้าที่ในการตัดเกรดของกระบวนวิชาหนึ่ง โดยรับข้อมูลรหัสนักศึกษา และคะแนนสอบของนักศึกษาโดยเก็บไว้ในโครงสร้าง โปรแกรมจะทําหน้าที่ตัดเกรดและแสดงผลการตัดเกรดให้กับนักศึกษาโดยคิดจากคะแนนเต็ม 100 คะแนน มีเกณฑ์การตัดเกรดดังนี้ คะแนน เกรด ตั้งแต่ 85 ขึ้นไป A 75 ถึง 84 B 60 ถึง 75 C 50 ถึง 59 D ตํ่ากว่า 50 F student id score grade Lab8-6.cpp
7. จงเขียนโปรแกรมต่อไปนี้ ให้ประกาศ struct สำหรับเก็บข้อมูลสี่เหลี่ยม ที่ประกอบด้วยข้อมูล ความกว้าง ความยาว และ พื้นที่สี่เหลี่ยมที่มีชนิดข้อมูลเป็นจำนวนเต็ม struct สำหรับเก็บข้อมูลสามเหลี่ยม ที่ประกอบด้วยข้อมูล ความสูง และความยาวฐาน และพื้นที่สามเหลี่ยมที่มีชนิดข้อมูลเป็นจำนวนเต็ม ให้เขียนโปรแกรม เพื่อรับข้อมูล ความกว้าง ความยาว แล้วคำนวณพื้นที่ของสี่เหลี่ยม รับข้อมูล ความสูง ความยาวฐาน แล้วคำนวณพื้นที่ของสามเหลี่ยม โปรแกรมสามารถตรวจสอบได้ว่า พื้นที่สี่เหลี่ยม บวก พื้นที่สามเหลี่ยม มากกว่า 50 และ น้อยกว่า 150 หรือไม่ Hint: ข้อนี้ทดสอบการใช้งาน typedef/structure และ if Lab8-7.cpp
จากข้อ 4 จงเขียนโปรแกรมเพื่อโดยมีเมนูให้เลือก 8. จากตัวอย่างเป็นโปรแกรม สำหรับรับข้อมูลนิสิต 5 คนเป็น array of structure จงเขียนโปรแกรมต่อเพื่อทำการแสดงข้อมูลต่างๆของนิสิตทั้ง 5 คน #include <iostream.h> typedef struct { char name[30]; int height; } student; void main() { student stu[5]; int i; for(i=0;i<=4;i++){ cout <<"Enter Name::"; cin >> stu[i].name; cout << "Enter Height::"; cin >> stu[i].height; } Lab8-8.cpp จากข้อ 4 จงเขียนโปรแกรมเพื่อโดยมีเมนูให้เลือก เมื่อเลือก 1 ให้แสดงข้อมูลนิสิตที่มีความสูงมากที่สุดในรายการ เมื่อเลือก 2 ให้แสดงข้อมูลนิสิตที่มีความสูงน้อยที่สุดในรายการ