學生信息管理系統是 C 語言教學中的經典實戰項目,綜合考察結構體、鏈表、文件讀寫、模組化程式設計等核心知識。本文提供一個完整的控制台版實現,涵蓋增刪改查、數據持久化、菜單交互等功能。
student.txt,退出前可手動保存,採用文本格式便於人工檢視。#define LEN 15 // 學號/姓名最大長度
#define N 100 // 最大學生人數
struct record {
char code[LEN+1]; // 學號
char name[LEN+1]; // 姓名
int age; // 年齡
char sex[3]; // 性別
char time[LEN+1]; // 出生年月
char add[30]; // 家庭地址
char tel[LEN+1]; // 電話
char mail[30]; // 電子郵件
} stu[N];
| 函數名 | 功能 | 關鍵技術點 |
|---|---|---|
readfile() | 從文件載入數據 | fopen、fscanf 循環讀取,錯誤處理 |
insert() | 插入新記錄 | 學號唯一性檢查、動態擴展計數器 |
del() | 刪除記錄 | 數組元素前移覆蓋、計數器遞減 |
seek() | 查詢記錄 | strcmp 字符串比較、雙模式查詢 |
modify() | 修改字段 | 子菜單定位字段、strcpy 更新字符串 |
sort() | 按學號排序 | 結構體整體交換、雙層循環冒泡 |
save() | 保存到文件 | fprintf 格式化輸出、fclose 釋放資源 |
menu() | 主菜單交互 | switch-case 分發、全局變量控制循環 |
student.txt。fgets 替換 scanf 避免截斷。完整源碼已整合於上方邏輯中,可直接複製編譯運行。此項目適合作為期末課程設計、基礎鞏固練習或面試項目展示。