學生成績檔案管理系統
- 目錄
- 一、題目要求與需實作的功能
- 二、編程語言與軟體
- 三、程式設計思想
目錄
一、題目要求與需實作的功能
二、編程語言與軟體
三、程式設計思想
一、題目要求與需實作的功能
(1)實驗任務要求
●學生資訊錄入,資訊包括學號、姓名、專業、四門課成績、總分、名次;
●系統可對學生資訊瀏覽、增加、洗掉和修改;
●按學生成績確定名次及資訊輸出,雙向冒泡排序、希爾排序、快速排序、堆排序,
●要求可對學生資訊查詢,根據學號或姓名進行查找;
●資訊修改僅可修改四門課成績;
●檔案存取學生資訊,
(2)需求分析
●新增學生資訊(包括學號、姓名、專業、4門課成績……)
●瀏覽學生資訊(對學生排序后資訊進行瀏覽)
●洗掉學生資訊(洗掉指定學生的資訊,可給用戶選擇檢索指定項)
●查找學生資訊(查找符合條件的某條記錄)
●保存學生資訊(保存學生成績檔案資訊到文本檔案)
●加載學生資訊(登錄系統后將磁盤檔案中保存的學生成績資訊讀取到記憶體中)
二、編程語言與軟體
(1)編程語言:Java
(2)使用軟體:IntelliJ IDEA
三、程式設計思想
(1)定義類
1.主類
所有類功能的實作
2.學生資訊類
學生學號(number)
學生姓名(name)
學生專業(major)
學生成績(score1、score2、score3、score4)
成績總分(score)
成績排名(ranking)
3.功能類
學生的錄入(add)
學生的排序(sorting)
學生檔案的修改(modify)
對學生檔案的查詢(Visit)
(2)演算法的理解
1.雙向冒泡排序
與冒泡排序的不同處在于排序時是以雙向在序列中進行排序,外層比較左右邊界
內層一個回圈從左向右比,取高值置后;一個回圈從右向左,取低值置前;
效率上,O(N^2), 不比普通的冒泡快
2.希爾排序
是插入排序的一種又稱“縮小增量排序”,是直接插入排序演算法的一種更高效的改進版本,希爾排序是非穩定排序演算法,
希爾排序是把記錄按下標的一定增量分組,對每組使用直接插入排序演算法排序;隨著增量逐漸減少,每組包含的關鍵詞越來越多,當增量減至 1 時,整個檔案恰被分成一組,演算法便終止,
先取一個小于n的整數d1作為第一個增量,把檔案的全部記錄分組,所有距離為d1的倍數的記錄放在同一個組中,先在各組內進行直接插入排序;然后,取第二個增量d2 =1( …
一般的初次取序列的一半為增量,以后每次減半,直到增量為1,
3.快速排序
通過一趟排序將待排記錄分隔成獨立的兩部分,其中一部分記錄的關鍵字均比另一部分的關鍵字小,則可分別對這兩部分記錄繼續進行排序,以達到整個序列有序,
4.堆排序
將待排序序列構造成一個大頂堆,此時,整個序列的最大值就是堆頂的根節點,將其與末尾元素進行交換,此時末尾就為最大值,然后將剩余n-1個元素重新構造成一個堆,這樣會得到n個元素的次小值,如此反復執行,便能得到一個有序序列了
轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/265665.html
標籤:其他
上一篇:Doris關于priority_networks配置錯誤,FE無法Alive&Join
下一篇:分塊矩陣行列式的性質證明
