• 學生資訊錄入,資訊包括學號、姓名、專業、四門課成績、總分、名次;
• 系統可對學生資訊瀏覽、增加、刪除和修改;
• 按學生成績確定名次及資訊輸出,雙向氣泡排序、希爾排序、快速排序、堆 排序。
• 要求可對學生資訊查詢,根據學號或姓名進行查詢;
• 資訊修改僅可修改四門課成績;
• 檔案訪問學生資訊
• 新增學生資訊(包括學號、姓名、專業、4門課成績……)
• 瀏覽學生資訊(對學生排序後資訊進行瀏覽)
• 刪除學生資訊(刪除指定學生的資訊,可給使用者選擇檢索指定項)
• 查詢學生資訊(查詢符合條件的某條記錄)
• 儲存學生資訊(儲存學生成績檔案資訊到文字檔案)
• 載入學生資訊(登入系統後將磁碟檔案中儲存的學生成績資訊讀
取到記憶體中)
本實驗採用dao模式進行編寫,由於暫時沒有學習資料庫,故新建乙個類來模擬儲存資料庫,此外,本人想法是將資料儲存於excel檔案中,並從excel檔案中讀取資料。
快速排序
/**
* 快速排序
* 遞迴
*/private
void
quicksort
(list
stuinfoslist,
int left,
int right)
int l = left;
int r = right;
//基準值,取中間
int key = stuinfoslist.
get(left)
.getsum()
;boolean flag=
true
;//交換容器
stuinfo student;
while
(l != r)
else
}else
else}}
quicksort
(stuinfoslist,left, r -1)
;quicksort
(stuinfoslist, l +
1, right)
;}
雙向氣泡排序/**
* 雙向氣泡排序
*/private
void
doublebubblesort
(list
stuinfoslist)
} left++
;for
(int i = right; i >= left; i--)}
right--;}
}
堆排序/**
* 堆排序
*/private
void
heapsort
(list
stuinfoslist)
}/**
* 堆調整
*/private
void
heapfity
(list
stuinfoslist,
int index,
int len)
else
if(lchild <= len)
else
if(rchild <= len)
//if
(stuinfoslist.
get(temp)
.getsum()
< stuinfoslist.
get(index)
.getsum()
)}/** * 建立小根堆
*/private
void
buildheap
(list
stuinfoslist)
}
希爾排序/**
* 希爾排序
*/private
void
shellsort
(list
stuinfoslist)
step /=2;
}}/** * 希爾排序迴圈內使用的插入排序
*/private
void
insertsort
(list
stuinfoslist,
int step,
int start)
}}
學生成績管理系統
include include include define n 50 定義符號常量,代表學生人數最大值 int count 0 全域性變數,用於記錄陣列的當前位置 struct student 定義結構體型別,代表學生資訊 void input struct student arr 函式宣告,輸入...
學生成績管理系統
include include include include include include include include define null 0 define esc 0x001b 退出 define f1 0x3b00 檢視幫助資訊,呼叫helpmassage 函式 define f2 ...
學生成績管理系統
這是進入大學以來,第一次做的c語言課程設計,覺得挺有意義,把 貼上來,曬一下!學生成績管理系統 教師,管理員密碼 輸入學生的基本資訊 輸出學生的基本資訊 查詢學生的基本資訊 學生成績分析 排序 統計 退出 include include include include include include...