基於VC的學生宿舍管理系統

2021-03-04 07:57:04 字數 4745 閱讀 1827

學院專業題目

學生學號

基於visual c++/access實現的學生宿舍管理系統(studormms)

摘要:本系統根據大學宿舍管理的實際情況而設計,採用visual c++為開發工具,資料庫採用的是最為普及的小型資料庫管理系統access,能實現宿舍管理中的新增資訊、修改資訊、刪除資訊、查詢資訊等必不可少的功能。

關鍵字:c++;宿舍管理系統;access;資料庫;mfc程式設計

1 引言

宿舍,是大學生在高校校園裡乙個重要的學習、生活、交往的空間環境。隨著高校辦學規模的擴大,學生人數不斷增多,高校學生宿舍管理資訊量日益龐大,如果仍採用傳統的工作方式——紙媒介的賬本化工作模式,會存在獲取資訊慢、查閱困難、準確性差等問題,很難適應高水平宿舍管理的需要。而採用計算機軟體來實現資訊的管理能很好的解決傳統工作方式存在的問題。

因此,我們設計開發了學生宿舍管理系統,旨在提高宿舍管理的效率和準確性,減少工作的盲目性,對後勤管理的現代化建設有一定的指導意義。

2 設計依據及框圖

2.1 設計平台

開發本系統的過程中所用到的主要軟體開發工具有:visual c++ 6.0、access 2000、photoshop。現將使用情況分別介紹如下:

visual c++ 6.0: mfc方式設計系統介面,採用ole db方式訪問資料庫。

access 2000:採用access設計本系統中的資料庫。

photoshop:用於新增學生、刪除學生、查詢學生等等按鈕圖示的美工設計。

2.2 設計思想

(1) 應用原型方法進行開發。原型方法將系統分析、設計、實施三個階段融為一體,使操作者更便於使用該系統,由大學大學宿舍管理的實際情況出發,講宿舍資訊分層設計,有宿舍型別到樓號,由樓號到宿舍號,在找到床鋪號,便於層次化管理。(2) 選用靈活、方便、友好的使用者介面。

採用操作簡單的樹型圖設計,便於查詢學生資訊,操作快捷方便; (3) 資料庫採用的是比較流行的小型資料庫管理軟體access,與c++程式的連線方式為ole db,該方式可以讓開發人員不直接向資料來源發出指令,而是通過ole db介面與資料提供者進行互動,只需要對介面進行操作,這樣簡化了程式的設計。

2.3 設計框圖、使用者介面

本系統「宿舍管理」的設計框圖如下:

主介面檢視學生詳細資訊」介面

「新增學生」介面

「刪除學生」介面

「學生查詢」介面

2.4 資料庫表結構

本系統採用access作為資料庫,使用ole db訪問資料庫。根據系統功能與需求分析,只需要建立乙個資料表house,該錶包含學生姓名,性別,入學時間,學號,專業,宿舍型別,樓號,房間號,床鋪號,宿舍**,備註等資訊項,自然的形成了乙個樹型結構。不設定主鍵(primary key),由程式根據位址唯一確定使用者資訊的不二性。

表結構如右所示:

3各模組功能及主要模組的流程圖

3.1 各模組功能簡介

1、羅列學生資訊

在左邊的樹試圖中,通過滑鼠或者鍵盤選擇宿舍型別、樓號或者房間號等樹項,右邊的列表檢視就會羅列出相應宿舍型別、樓或者房間中的所有學生的簡要資訊。對這些羅列出來的學生可以對它們進行刪除或者檢視詳細資訊的操作。

2、檢視學生詳細資訊

選擇左邊樹檢視中的房間號,或者雙擊右邊列表檢視中的某一學生,右邊的檢視就會顯示該使用者的詳細資訊(見「檢視學生詳細資訊」介面)。

3、新增學生

單擊工具條的【新增學生】按鈕,或者選擇選單【系統維護】->【新增學生】,彈出「新增學生」對話方塊,見「新增學生」介面。在該對話方塊中填寫完相應的資訊,單擊【確定】按鈕完成新增。其中「學生姓名」和「宿舍位址」是必須填寫完整的,如果不完整單擊【確定】按鈕後系統會提示使用者。

4、刪除學生

當程式的輸入焦點在左邊的樹檢視時,選擇要刪除的項,單擊工具條的【刪除學生】按鈕,或者選擇選單【系統維護】->【刪除學生】,彈出詢問使用者確認刪除操作的對話方塊,見「刪除學生」介面。如果刪除的是宿舍型別,則該宿舍型別中的所有學生都被刪除;如果刪除是樓號,則該樓中的所有學生被刪除,如果刪除的是房間號,則該房間中的所有學生都被刪除;如果刪除的是學生,則該學生資訊被刪除。

當主視窗的右邊是學生的列表檢視時,並且輸入焦點在其中,選擇其中要刪除的學生(可以選擇多個),單擊工具條的【刪除學生】按鈕,或者選擇選單【系統維護】->【刪除學生】,彈出詢問使用者確認刪除操作的對話方塊,單擊【是】按鈕刪除選擇的學生資訊。

5、學生查詢

單擊工具條中的【學生查詢】按鈕,或者選擇選單【系統維護】->【學生查詢】,彈出「查詢學生」對話方塊,見「學生查詢」介面。在該對話方塊中填寫完查詢條件,單擊【確定】按鈕。如果有符合條件的學生,在右邊的學生列表中就會全部羅列出來,可以對這些學生進行刪除或者檢視詳細資訊的操作。

3.2 主要流程圖

本軟體系統對學生資訊的管理主要流程圖:

(1) 在樹檢視中羅列學生資訊的程式流程,如圖所示:

(2) 查詢和羅列的程式流程,如圖所示:

填充樹檢視的程式流程查詢和羅列的程式流程

(3) 增加學生的程式流程,如下圖所示:

4 軟體除錯分析

本軟體是基於windows的程式設計開發,所以,軟體除錯必須在windows環境下進行。除錯前須做好以下準備工作:

(1)需要檔案 mfc42.dll、msvcrt.dll,如果沒有,則安裝visual c++6.0環境;

(2)需要安裝access 2000的ole db驅動,如果沒有,可以安裝access2000以上版本;

(3)需要將studormms.mdb資料庫檔案與可執行檔案studormms.exe放在同一目錄下,才能執行成功。

配置好之後,在visual c++6.0環境下進行軟體的除錯。除錯分析如下:

(1)首先進行資料庫的匯入,加入atl產生的模板類,生成包含資料庫的house.h[見附]標頭檔案,該標頭檔案是與資料庫的介面,經過測試,資料庫鏈結成功;

(2)實現介面框架,使用類csplitterwnd切分檢視和動態切換檢視的型別,通過包含該類的單檔案除錯發現無錯誤後,整體系統執行能成功切換試圖。

(3)系統框架的左側為樹檢視,採用clefttreeview類來實現;右側學生資訊羅列採用類cuserslistview來實現,成功除錯後能正常顯示資訊。

(4)「增加學生」模組,單模組除錯通過後,需要在整理系統編寫完後,再進行操作測試,新增一條記錄後,發現在資料庫中有儲存該記錄,如果錯誤輸入,觀察是否能正常提示資訊。否則修改程式再進行除錯。

(5)「查詢學生」模組,該模組可以實現單項查詢和組合查詢,單項查詢除錯通過後,編寫組合查詢的**,再進行除錯,看是否能滿足要求,並且能正常提示非法查詢請求。

(6)「刪除學生」模組,可以進行不同層次的刪除操作,例如刪除宿舍將會刪除該宿舍的所有成員,如果只刪除某一學生,不會影響到其他成員。本模組測試通過。

經過除錯,以上各部分執行正常,能實現預期的功能。

5 結語

5.1 結論與討論

結論:本文介紹的宿舍管理系統具有介面友好、操作簡單、實用性強等特點,並已開發完畢,使用效果良好,初步取得了以下效果: (1) 操作簡單,實用性強,能夠快速地提供住宿學生的各種基本資訊供管理者參考和使用,大大提高了工作效率; (2) 瀏覽、查詢、新增實現資料庫管理,紙質檔案的流轉被電子郵件代替,節約了辦公經費; (3) 實現了對資料的智慧型處理,為領導決策起到了一定的輔助作用; (4) 使宿舍管理工作更加科學化和規範化。

討論:本文介紹的實現方法適合與小型的資料管理,而且功能比較簡單,在一定程度上能解決實際中宿舍管理中的問題。但也存在一些不完善的地方,如需要儲存更多的資訊,實現更多的功能,需要採用較大型的資料庫管理系統,而且未來的管理以網路化為趨勢,開發一套可以聯網管理的軟體系統能給宿舍管理工作帶來更大的方便。

參考文獻

[1] 求是科技. visual c++ 6.0 資料庫開發技術與工程實踐.北京:人民郵電出版社,2004

[2] 鄭莉,董淵,張瑞豐.c++語言程式設計.北京:清華大學出版社,2003

[3] (美)paul j.fortier等著.資料庫技術大全.林瑤等譯.北京:電子工業出版社,1999

附錄各類的宣告見源***.h標頭檔案,資料庫連線檔案見house.h,完整源**見電子文件。

現將各功能函式的核心**列表如下:

---beganing of adduserdlg.cpp---

// adduserdlg.cpp : implementation file

//#include "stdafx.h"

#include "inhabitants.h"

#include "adduserdlg.h"

#include "inhabitantsdoc.h"

#include "mainfrm.h"

#include "lefttreeview.h"

#ifdef _debug

#define new debug_new

#undef this_file

static char this_file = __file__;

#endif

// cadduserdlg dialog

cadduserdlg::cadduserdlg(cwnd* pparent /*=null*/)

: cdialog(cadduserdlg::idd, pparent)

{ //{{afx_data_init(cadduserdlg)

m_strmajor = _t("");

m_nbuildingnum = 0;

m_nroomnum = 0;

m_strremarks = _t("");

m_strhometel = _t("");

m_strstudentname = _t("");

m_strid = _t("");

m_str*** = _t("");

基於UML的學生宿舍管理系統的建模

案例分析 採用uml對學生宿舍管理系統的建模 1.案例分析目標 本案例採用uml的方式對學生宿舍管理系統進行分析和設計,通過對學生宿舍的建模來對uml進行更加詳細的了解和熟悉。基於以上我們對學生宿舍的了解和對學校宿舍樓管理老師的諮詢,我們小組成員 錢亞文,鐘春瑕,倉決決定試著開發出來乙個小型的學生宿...

學生宿舍管理系統

物件導向的系統分析與設計學生 宿舍管理 系統指導教師 劉永前老師 小組成員 1 系統概述 1.現狀描述 高等院校是培養大學生成才的重要陣地,大學生在校期間的時間可以說大部分是在宿 舍這塊園地度過的。高校對學生宿舍的管理是一項不可忽視的日常學生管理工作,是高校學生管理工作中的重要部分,管理與服務這些工...

學生宿舍管理系統

需求規格說明書 擬制人 羅躍洪 審核人批准人 二 一四年十月十日 目錄第一章引言 3 1.1 目的 3 1.2 文件約定 3 1.3 預期的讀者和閱讀建議 3 1.4 產品的範圍 3 1.5 參考文獻 3 第二章綜合描繪 4 2.1 產品的前景 4 2.2 產品功能 4 2.3 使用者類和特徵 4 ...