โครงสร้างคือชุดของรายการประเภทข้อมูลต่างๆ มีประโยชน์มากในการสร้างโครงสร้างข้อมูลที่ซับซ้อนด้วยเร็กคอร์ดประเภทข้อมูลที่แตกต่างกัน โครงสร้างถูกกำหนดด้วยคีย์เวิร์ด struct
ตัวอย่างของโครงสร้างมีดังนี้ −
struct DistanceFI { int feet; int inch; };
โครงสร้างด้านบนกำหนดระยะทางในรูปของฟุตและนิ้ว
โปรแกรมสำหรับบวกสองระยะทางในหน่วยนิ้ว-ฟุต โดยใช้โครงสร้างในภาษา C++ มีดังนี้ −
ตัวอย่าง
#include <iostream> using namespace std; struct DistanceFI { int feet; int inch; }; int main() { struct DistanceFI distance1, distance2, distance3; cout << "Enter feet of Distance 1: "<<endl; cin >> distance1.feet; cout << "Enter inches of Distance 1: "<<endl; cin >> distance1.inch; cout << "Enter feet of Distance 2: "<<endl; cin >> distance2.feet; cout << "Enter inches of Distance 2: "<<endl; cin >> distance2.inch; distance3.feet = distance1.feet + distance2.feet; distance3.inch = distance1.inch + distance2.inch; if(distance3.inch > 12) { distance3.feet++; distance3.inch = distance3.inch - 12; } cout << endl << "Sum of both distances is " << distance3.feet << " feet and " << distance3.inch << " inches"; return 0; }
ผลลัพธ์
ผลลัพธ์ของโปรแกรมข้างต้นมีดังนี้
Enter feet of Distance 1: 5 Enter inches of Distance 1: 9 Enter feet of Distance 2: 2 Enter inches of Distance 2: 6 Sum of both distances is 8 feet and 3 inches
ในโปรแกรมข้างต้น โครงสร้าง DistanceFI ถูกกำหนดที่มีระยะทางเป็นฟุตและนิ้ว ด้านล่างนี้ −
struct DistanceFI{ int feet; int inch; };
ค่าของระยะทางทั้งสองที่จะเพิ่มนั้นได้มาจากผู้ใช้ ด้านล่างนี้ −
cout << "Enter feet of Distance 1: "<<endl; cin >> distance1.feet; cout << "Enter inches of Distance 1: "<<endl; cin >> distance1.inch; cout << "Enter feet of Distance 2: "<<endl; cin >> distance2.feet; cout << "Enter inches of Distance 2: "<<endl; cin >> distance2.inch;
เพิ่มฟุตและนิ้วของระยะทางทั้งสองแยกกัน หากนิ้วมากกว่า 12 ให้บวก 1 เข้ากับเท้าและลบ 12 ออกจากนิ้ว ที่ทำได้เพราะ 1 ฟุต =12 นิ้ว ข้อมูลโค้ดสำหรับสิ่งนี้ได้รับด้านล่าง −
distance3.feet = distance1.feet + distance2.feet; distance3.inch = distance1.inch + distance2.inch; if(distance3.inch > 12) { distance3.feet++; distance3.inch = distance3.inch - 12; }
ในที่สุดค่าของฟุตและนิ้วในระยะทางที่เพิ่มจะปรากฏขึ้น ด้านล่างนี้ −
cout << endl << "Sum of both distances is " << distance3.feet << " feet and " << distance3.inch << " inches";