學生資訊管理系統實驗報告 原版

2021-03-21 17:10:45 字數 2920 閱讀 1938

物件導向程式設計大作業

學生資訊管理系統

學院名稱數學與系統科學學院

專業班級數學類2012級1班

學生姓名鄒霖逸

學號 201201051242

指導教師孫紅梅

完成時間: 2014 年 5 月 3 日

學生資訊管理系統

為方便學生資訊的管理,特編寫這個程式方便操作學生資訊管理系統。實現對學生姓名、學號、性別、成績等資訊的管理,可以實現學生的增加、刪、查等多種功能的操作。

本系統實現學生資訊的管理,以動態鍊錶、結構體資料型別來實現資料的儲存與加工,利用鍊錶來實現學生資訊的插入、刪除、查詢功能。

主要分7個模組:

結構體的定義,定義struct student{};struct date{};結構體struct student{};資料成員包括:int studentid; char name[20]; char ***[5]; struct date birthday; int score; struct student *next; 其中 struct date birthday;又借用struct date{};結構體的成員:int year; int month; int day;以此來實現學生學號、姓名、性別、出生日期、成績等資訊的儲存於處理。

listcreate函式,函式型別為:struct student 形參:struct student *head struct student *p 返回值:

head指標。實現鍊錶的建立功能。

listinsert函式, 函式型別為:struct student 形參:struct student *head struct student *p 返回值:

head指標。實現鍊錶節點的插入功能。

listdelete函式, 函式型別為:struct student 形參:struct student *head struct student *p 返回值:

head指標。實現鍊錶節點的刪除功能。

listprint函式, 函式型別為:void 形參:struct student *head 返回值:無

實現鍊錶各節點資訊的輸出功能。

listfind函式, 函式型別為:void 形參:struct student *head int id 返回值:

無 。遍歷鍊錶,查詢出符合條件的鍊錶節點,並列印輸出。

模組七:void main();主函式,測試資料,測試鍊錶各節點(學生基本資訊)的輸出、插入、刪除、查詢功能。

1.考慮到學生個人資訊包含學號、姓名、性別、出生日期、成績等資訊。因此採用結構體型別,定義學生個人資訊結構體,並定義學生學號、姓名、性別、出生日期、成績等資料成員。

2.考慮到要實現多個學生個人資訊的管理,可採用結構體陣列與鍊錶。但是由於要對多個學生資訊進行資訊的插入、刪除、查詢等操作。顯然結構體陣列很難實現以上操作,因此選用鍊錶。

選用鍊錶之後,考慮其儲存結構,由於要實現資訊的插入、刪除、查詢等功能,顯然動態鍊錶更適合。相應的以鏈式儲存結構來儲存資料。

學生資訊的插入功能的實現:在動態鍊錶中要實現節點資料的插入,只要靈活的改變頭乙個節點的next指標使它指向要插入節點的當前指標,並使要插入接點的next指標指向要插入位置的下乙個節點的當前指標即可,當然要對插入的位置進行分情況討論,如是插在表頭,表中還是表未。另外還應當注意的是在插入前,要考慮下呆插入鍊錶是否為空。

學生資訊的刪除功能的實現:動態鍊錶中節點資料的刪除操作與插入操作思路大體相同,

主要思路還是改變指標的指向來實現這一功能。刪除位置同樣要分情況討論,當然也要提前考慮鍊錶是否為空,若為空應當給出「當前鍊錶為空」的相應應答。另外還要考慮要刪除的節點不在鍊錶中的情況,這種情況下,要報錯。

學生資訊的查詢功能的實現:要查詢某個符合一定要求的學生資訊,如學號為:1001。

只要遍歷鍊錶,列印輸出符合條件的學生資訊即可。當然也要考慮要查詢的資訊不在鍊錶中的情況,這是系統要報錯。

系統的總體設計要考慮到介面友好性,程式的時間複雜度、空間複雜度,以及程式的健壯性等效能指標。本系統在設計過程中,充分分析考慮了多種可能發生的情況。並對一些可能會導致系統崩潰的細節問題做了進一步處理。

如在刪除學生資訊時考慮了表為空的情況等。

總體設計步驟:

1. 資料結構與儲存結構的選擇。

2. 資料的輸入處理。

3. 程式功能的實現,功能函式的宣告與定義。

4. 主函式的定義,在編寫主函式時,要求主函式要盡可能的考慮到功能函式的各種極端情況,以便能得出合理的測試結果。

5. 程式執行測試。這一過程中,測試案例的選擇尤為重要,選擇的案例要有帶表性,同時要考慮一些極端案例。

6. 程式的除錯與進步完善。

本系統運用的關鍵技術是動態鍊錶。動態鍊錶在初始時必須分配足夠的空間, 也就是空間大小是靜態的, 在進行插入和刪除時則不需要移動元素, 修改指標域即可,所以仍然具有鍊錶的主要優點,鍊錶結構可以是動態地分配儲存的,即在需要時才開闢結點的儲存空間,實現動態鏈結。

要點包括:

1. 動態鍊錶的建立。

2. 鍊錶節點的插入與刪除。

3. 動態鍊錶的遍歷。

#include

#include

#include

struct date

;struct student

;struct student *listcreate(int n)

return head;

}struct student *listinsert(struct student *head,struct student *p)

else

if(curpt!=null)

else

}return head;

}struct student *listdelete(struct student *head,int id)

else

if(curpt!=null)

{if(curpt==head)

學生資訊管理系統實驗報告

程式設計技能強化實驗報告 指導教師 才智傑 班級 14級c班 實踐時間 2015.9.7 2015.9.30學號 20142111439 組長 索朗 成員 尕藏才讓才讓東周達瓦次裡多吉占堆 小組實驗報告 學生成績管理系統 實驗日期實驗成績 1 實驗目的 1.熟練掌握資料的輸入和輸出語句。2.在程式中...

資訊管理系統實驗報告

企事業人事資訊管理系統 班級 經貿 1003 學號 201046910305 姓名 程保磊 日期 2011 年 11 月 12 日 目錄1 引言1 2 1.1 問題的提出1 1.2 本系統的研發背景1 2 1.3 參考資料2 2 系統分析2 5 2.1 可行性分析2 3 2.2 系統需求分析3 4 ...

軟體綜合實習學生資訊管理系統實驗報告

學生資訊管理系統實驗報告 1.實驗題目 編寫乙個程式實現學生基本資訊的管理功能 2.需求分析 輸入的形式和輸入值的範圍 int型的學號 年齡,char型的姓名 性別 生日 專業和學院。輸出的形式 輸出學生資訊管理 再根據 選擇對應的輸出操作。程式所達到的功能 輸入 新增 刪除 排序學生資訊,以及按學...