โครงสร้างคือชุดของรายการประเภทข้อมูลต่างๆ มีประโยชน์มากในการสร้างโครงสร้างข้อมูลที่ซับซ้อนด้วยเร็กคอร์ดประเภทข้อมูลที่แตกต่างกัน โครงสร้างถูกกำหนดด้วยคีย์เวิร์ด 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";