การจัดการ String ครอบคลุมการสร้างข้อความ ค้นหา ตัดต่อ เปรียบเทียบ และตรวจสอบความถูกต้องของข้อมูล การทำงานกับ String ต้องระวังขนาด Buffer และรูปแบบข้อมูลที่ผู้ใช้ป้อน
Structure ใช้รวมข้อมูลหลายชนิดเป็นหน่วยเดียว เช่น ข้อมูลนักศึกษา ส่วน Union ใช้พื้นที่หน่วยความจำร่วมกัน เหมาะกับกรณีที่ข้อมูลมีได้หลายรูปแบบแต่ใช้ทีละแบบ
typedef ช่วยตั้งชื่อชนิดข้อมูลให้อ่านง่ายขึ้น ส่วน enum ใช้กำหนดค่าคงที่แบบมีความหมาย เช่น สถานะ ประเภท หรือระดับความสำคัญ
พัฒนาโปรแกรมจัดเก็บข้อมูลด้วย Structure พร้อมใช้ enum แสดงสถานะของข้อมูล และเพิ่มฟังก์ชันค้นหา/แสดงผล
ผู้เรียนฝึกจัดการข้อมูลข้อความที่พบในโปรแกรมจริง เช่น ชื่อ รหัส อีเมล หรือคำอธิบายรายการ โดยให้ความสำคัญกับความยาวของข้อความ การเปรียบเทียบตัวพิมพ์เล็ก/ใหญ่ และการตรวจสอบข้อมูลก่อนบันทึก จากนั้นออกแบบ Structure เพื่อรวมข้อมูลที่เกี่ยวข้องกันเป็น record เดียว
การใช้ enum ช่วยลด magic number และทำให้สถานะของข้อมูลอ่านง่าย เช่น ACTIVE, INACTIVE, DELETED ส่วน typedef ช่วยให้ชนิดข้อมูลที่สร้างเองมีชื่อกระชับและสื่อความหมาย
ออกแบบ Structure สำหรับข้อมูลนักศึกษา สินค้า หรือหนังสือ พร้อมฟังก์ชันค้นหาด้วยรหัสและแสดงรายการตามสถานะ
String Management คือการจัดการข้อความให้ถูกต้องและปลอดภัย ส่วน User-defined Types คือการสร้างชนิดข้อมูลที่สะท้อนข้อมูลจริง เช่น struct, union, typedef และ enum
%%{init: {'theme': 'base', 'themeVariables': {
'background': '#282828',
'primaryColor': '#3c3836',
'primaryTextColor': '#fbf1c7',
'primaryBorderColor': '#fabd2f',
'lineColor': '#b8bb26',
'secondaryColor': '#504945',
'tertiaryColor': '#665c54',
'fontFamily': 'Arial'
}}}%%
flowchart TD
A[Input String
รับข้อความ] --> B[Validate
ตรวจรูปแบบ]
B --> C[Store in Struct
เก็บในโครงสร้าง]
C --> D[Use Enum Status
ใช้สถานะ enum]
D --> E[Search/Display
ค้นหาและแสดงผล]
#include <iostream>
#include <string>
using namespace std;
enum Status { ACTIVE, INACTIVE };
struct Student {
string id;
string name;
Status status;
};
int main() {
Student s = {"66001", "Anan", ACTIVE}; // ตัวอย่างการสร้าง record
cout << s.id << " " << s.name << endl; // expected: 66001 Anan
return 0;
}
| ชนิดข้อมูล | จุดประสงค์ | ตัวอย่างใช้ |
|---|---|---|
struct |
รวม field หลายชนิด | ข้อมูลนักศึกษา |
enum |
กำหนดสถานะที่อ่านง่าย | ACTIVE, INACTIVE |
typedef |
ตั้งชื่อชนิดข้อมูล | StudentList |