計算機工程學院
實踐報告
課程名稱:資料結構課程設計
設計題目學生成績管理
院系數理學院
專業資訊與計算科學
組別28
學生姓名: 陸君學號: 1114101128
起止日期: 2023年 7月 1日~2013 年 7月5日
指導教師: 周海岩寇海洲
學年學期: 2012 ~ 2013 學年第 2 學期
設計任務書
摘要:學生成績管理系統是典型的資訊管理系統(mis),其開發主要包括後台資料庫的建立和維護以及前端應用程式的開發兩個方面。對於前者要求建立起資料一致性和完整性強,資料安全性強,資料安全性好的庫。
而對於後者則要求應用程式功能完備易使用等特點。該系統主要實現,新增、修改、刪除、讀出、寫入、查詢、排序、計算總分、平均分、分類彙總等功能。系統的核心是新增、修改和刪除三者之間的聯絡,每個表的修改都將聯動的影響其他的表,當完成新增或刪除操作時系統會自動地完成學生成績的修改。
查詢功能也是系統的核心之一,在系統中主要根據學生姓名和學號進行查詢,其目的就是為了方便使用者使用。系統有完整的使用者新增、修改、刪除和密碼修改功能,並具備報表列印功能。
關鍵詞:新增;修改;刪除;查詢;排序;總分;平均分
目錄1 需求分析: 1
1.1任務及要求 1
1.2程式設計思想 1
1.3實現功能 1
2 概要設計: 2
2.1線性順序表的抽象資料定義: 3
2.2程式框圖 3
2.3程式模組 3
3 詳細設計: 5
3.1宣告乙個student的結構體型別並且定義變數 5
3.2宣告類system且建構函式 6
3.3呼叫新增函式 6
3.4呼叫查詢函式 7
3.5呼叫顯示函式 7
3.6呼叫修改函式 8
3.7呼叫刪除函式 9
3.8呼叫排序函式 9
3.9 do……while判斷是否迴圈 11
4 除錯分析: 12
5 測試結果: 13
5.1主選單 13
5.2新增學生成績 13
5.3查詢學生成績 14
5.4顯示學生成績 14
5.5修改學生成績 15
5.6刪除學生成績 15
5.7對學生成績排序 15
5.8退出 16
5.9源程式檔名清單 16
6 附錄: 17
1.需求分析
1.1 任務及要求
該系統主要實現,新增、修改、刪除、讀出、查詢、排序、計算總分、平均分、分類彙總等功能。
1.2 程式設計思想
該系統需要解決多個問題,資料型別特徵並不都相同。為了解決問題的方便化,採用結構體來做程式。並且很多資料在輸出時採用了迴圈語句人為完成。
1.3 實現功能
1)錄入資料:將學生學號、姓名、成績寫入檔案。
2)增加人員:增加學生,並將學生姓名、學號和成績寫入檔案。
3)刪除人員:刪除學生資訊和成績。
4)修改資料:修改學生成績。
5)按學號查詢:根據學號查詢學生成績,包括平均分。
6)按姓名查詢:根據學生姓名查詢學生成績,包括總分和平均分。
7)輸出所有學生成績。
8)按照總分、平均分從高到低排序。
2.概要設計
2.1 涉及到的基礎知識
所用到的基礎知識有結構體和簡單的do--while迴圈語句和「break」跳出迴圈語句同時還有多處用到了for迴圈語句。通過多個函式的結合完成預期的結果。
1.結構、類和建構函式
宣告結構型別時,首先指定關鍵字struct和結構名,然後用一對花括號將若干個結構成員資料型別說明括起來。
(1).struct student //宣告乙個名為student的結構體型別
;int main()
(2)class system
private:
2.迴圈結構:
(1) switch語句
switch語句,它也稱為多選擇語句。它可以根據給定的條件,從多個分支語句序列中選擇執行乙個分支的語句序列。switch語句的一般格式為:
switch(表示式)
(2)for語句
這種迴圈語句不僅用於迴圈次數已知的情況,還能用於迴圈次數預先不能確定只給出迴圈結束條件的情況下。
for 語句的一般形式:
for (表示式1;表示式2;表示式3)
(3)do……while語句
do迴圈體
while(條件表示式)
當流程到達do後,立即執行迴圈體語句,然後再對表示式進行測試。若條件表示式的值為真,則重複迴圈,否則退出。
2.2 程式框圖
2.3程式模組
2.3.1主程式模組
void main()
2.3.2新增模組
「學生成績管理系統」包括幾個模組:新增學生成績,顯示學生成績,查詢學生成績、修改學生成績、刪除學生成績、將學生成績進行排序,最後退出程式
主要程式的模組說明:
1)查詢學生成績模組
void system::search()//查詢
case 1://按照學號查詢
if(stu[i].number!=num)
cout<<"未找到該學生資訊!!" case 2://按照姓名查詢 方法同上 2)修改學生成績模組 void system::change() //修改 for( ) if(stu[i].number==num) if(stu[i].number!=num) cout<<"無此學生資訊!!"<3)刪除學生成績 void system::del() //刪除 輸入新的學生成績 for( ) if(stu[i].number==num) }4)將學生成績進行排序模組 void system::px() //排序 }} }break; case 2://按學生平均分排序 方法同上 5)各個模組之間的關係如下: 主程式模組 新增查詢顯示修改刪除排序 按學號按姓名按總分按平均分 3.詳細設計 3.1宣告乙個名為student的結構體型別並且定義變數 struct student //建構函式 void add();//新增 void show();//顯示 void search();//查詢 void change();//修改 目錄一 學生成績管理系統需求分析及功能模組設計 1 1.1學生成績管理系統的開發背景 1 1.2學生成績管理系統概述 1 1.3學生成績管理系統功能模組分析與設計 1 1.4 小組成員分工與實際工作任務完成情況 3 二 資料庫設計與實現 3 2.1 學生成績管理系統的實體與聯絡分析 e r圖 3 2... 編號web實習 說明書 題目 學生成績管理系統設計與實現 院 系 電腦科學與工程 專業 資訊管理與資訊系統 學生姓名 學號指導教師 2015年1月 18 日 目錄一 學生成績管理系統 3 1.1 引言 3 1.2 課題研究的意義 3 1.3 課題的可行性分析 3 1.3.1 課題調研 3 1.3.2... 河北聯合大學 綜合課程設計 題目 學生成績管理系統 學院 計算機自動控制學院 專業 電腦科學與技術 班級07計 1班 姓名學號 200701210133 指導教師張繼德 完成日期2011 1 9 目錄一 緒論 1 引言 1.1編寫目的 該系統的編寫目的是提高學生成績管理的工作效率,使人們從乏味的資料...學生成績管理系統
學生成績管理系統
學生成績管理系統