(4)成績查詢模塊完成成績的查詢功能。查詢符合條件的記錄信息,可以按照學號和姓名兩種方式進行查詢,並輸出符合條件的信息。
(5)成績計算模塊完成成績的排序、計算平均分的功能。
(6)成績保存模塊完成成績保存到文件的功能。
2)數據結構
本係統中主要的數據結構就是學生的成績信息,包含學號、姓名、三門課程成績、平均分等。
3)程序流程
係統的執行應從係統菜單的選擇開始,根據用戶的選擇來進行後續的處理,直到用戶選擇退出係統為止,其間應對用戶的選擇做出判斷及異常處理。係統的流程圖如圖11.2所示。
11.4係統詳細設計與實現
在總體設計的基礎上進行詳細設計和實現。
1)數據結構
由於學生信息中包含不同的數據類型,將學生定義為結構體類型的數據,定義學生結構體如下:
2)各個功能模塊的設計與實現
(1)菜單的設計與實現。
本係統設計了友好且功能豐富的主菜單界麵,提供打7項功能的選擇。利用switbsp;ca語句來實現調用主菜單函數,返回值整數作開關語句的條件,值不同,執行的函數不同。
(2)輸入新記錄。
當在主菜單中輸入了字符0時,調用enter()函數進行學生信息的輸入。首選輸入要輸入的學生的人數,然後按照提示信息輸入學號(字符串不超過10位)、姓名(字符串不超過10位)、三門課程的成績(整數0~100),每輸入一個數就按一下回車鍵。輸入的數據保存在結構圖數組中。
(3)顯示所有數據。
當在主菜單中輸入了字符1時,調用list()函數進行所有學生信息數據的顯示瀏覽。該函數的形參是結構體數組,函數的功能把該數組的數據輸出。
(4)數據查詢。
當在主菜單中輸入了字符2時,調用arch()函數進行信息數據的查找。該函數按照學生姓名進行查找數據。首先輸入待查找姓名,然後調用find()函數進行操作,從頭開始順序查找,成功則顯示記錄信息;失敗,顯示bsp;not find the name who you want!。
(5)刪除數據。
當在主菜單中輸入了字符3時,調用delete()函數進行信息數據的刪除。首先輸入要刪除學生的姓名,然後調用find()函數進行輸入查找該姓名的學生,如果沒找到,則輸出no found not deleted;否則,顯示是否要刪除的信息,按1鍵後刪除信息。
(6)保存數據到文件。
當在主菜單中輸入了字符4時,調用save()函數進行信息數據的保存。將學生成績信息保存到指定的文件(record.txt)中。
(4)成績查詢模塊完成成績的查詢功能。查詢符合條件的記錄信息,可以按照學號和姓名兩種方式進行查詢,並輸出符合條件的信息。