北郵程式設計實踐學生管理系統實驗報告

2021-04-19 23:52:03 字數 2601 閱讀 7066

程式設計實踐設計

報告課題名稱:基於mfc與access資料庫的學生管理系統

學生姓名:

班級:2012211109

班內序號:26

學號:2012210270

日期:2014.5.31

1. 課題概述

1.1課題目標和主要內容

本課題中主要使用的工具mfc,在vs2010平台下進行開發。通過ado庫連線到筆者電腦中的系統資料庫並通過access database檢視資料庫同步與修改情況並演示。

實驗內容:

● 實現基本的學生管理系統的功能;

● 實現程式與access資料庫同步,可以進行資訊修改、新增使用者等功能;

● 基於c++物件導向實現不同類之間的關聯呼叫

實驗目標:

● 理解mfc應用程式的執行機制;

● 掌握使用mfc構建windows應用程式的基本結構及程式設計的基本方法;

● 理解和掌握mfc應用程式訊息處理機制及應用;

● 掌握mfc與資料庫相連的方法,建立乙個簡單的學生管理系統。

1.2系統的主要功能

功能描述:

一、 學生部分:可以使用自己的學號及密碼登入學生管理系統,並查詢自己的成績。

二、 教師部分:使用賬號和密碼登入學生管理系統,進行學生成績檢視、錄入及修改。

三、 管理員部分:可以檢視使用者及使用者許可權,新增使用者以及修改使用者許可權。

2. 系統設計

2.1 系統總體框架

系統框架圖如下:

設計思想:

分為mfc程式部分,連線部分和資料庫部分。

根據功能直接操縱對話方塊新增控制項,進而設計相應函式,呼叫相應類來實現功能;

然後通過呼叫ado庫中的函式來建立與access資料庫的連線。

2.2 系統詳細設計

[1] 模組劃分圖及描述

學生功能模組圖

教師功能模組圖

管理員功能模組圖

[2] 類關係圖及描述

以上這些派生類是這個程式所用到的主要類。

其中,cstudent2dlg對應著登入介面對話方塊的類;

cteacherdlg對應著教師登入進去所顯示的對話方塊的類;

cstudentdlg對應著學生登入進去所顯示的對話方塊的類;

cadministratordlg對應著管理員登入進去所顯示的對話方塊的類;

其他類也分別對應著實現某個功能所顯示的對話方塊的類。

[3] 程式流程圖及描述

[4] 儲存結構

mfc中的資料儲存在列表控制項中,指標型別為lpcstr;

匯出資料庫時搜尋出來的資料儲存型別主要是cstring,用來儲存各種從資料庫中獲得的資訊

2.3 關鍵演算法分析

(1)初始化操作,即連線資料庫

[1]演算法功能:實現主介面的初始化工作,建立與資料庫的連線

[2]時間、空間複雜度o(1)

[3]**分析

bool cstudent2dlg::oninitdialog()

}// 設定此對話方塊的圖示。當應用程式主視窗不是對話方塊時,框架將自動

// 執行此操作

seticon(m_hicon, true設定大圖示

seticon(m_hicon, false設定小圖示

// todo: 在此新增額外的初始化**

try}

catch(_com_error e)//捕捉異常

return true; // 除非將焦點設定到控制項,否則返回 true

} }

}分析:

連線資料庫 ado最重要的三個物件有三個:連線物件(connection)、命令物件(command)和記錄集物件(recordset)。在使用這三個物件的時候,需要定義與之相對應的智慧型指標,分別為_connectionptr、_commandptr、_recordsetptr。

hresult 是一種簡單的資料型別,通常被屬性和 atl 用作返回值。

返回值:如果成功返回新影象的索引,否則返回-1。

(2) 獲取登入資訊,分析登入許可權的演算法

[1] 時間複雜度、空間複雜度o(n)

[2] **分析

void cstudent2dlg::onbnclickedok()

catch(_com_error*e)//捕捉異常

//獲取對話方塊資料num pass,對賬戶進行判斷登入

updatedata(true);

if(numpass == "")

_variant_t var; //就可以方便的把c++型別變數轉換成com中的變數了。

cstring strnum,strpass,stradm;

m_precordset->movefirst();//移到首條記錄

while(!m_precordset->adoeof)

if(m_precordset->adoeof)

afxmessagebox("賬號錯誤,請重試");

else

首先用cstring型別的num和pass分別記錄從編輯框中獲取的使用者輸入的賬號和密碼,再分別於資料庫中admin3這張表中的賬號和密碼比對,如果有該條符合條件的記錄,則讀取資料庫中對應那條記錄中的admin即許可權項,再分別呼叫與之匹配的類物件,進入到相對應的使用者介面當中去。

北郵程式設計實踐報告mfc畫圖

程式設計實踐設計 報告課題名稱 簡單畫圖程式的設計與實現 學生姓名 班級 班內序號 學號 日期 課題概述 1.1課題目標和主要內容 該軟體功能與windows下附件中的畫圖軟體有相似功能。本程式是在vc2010平台上用mfc所編。繪製方面的功能主要包括繪製各種圖元,包括直線 矩形 橢圓 扇形 連續線...

學生資訊管理系統程式設計

1 軟體開發目的 該軟體主要是實現對學生基本資訊進行系統化的管理,首先可以對學生基本資訊進行錄入和訪問,其次可以瀏覽學生的相關資訊,然後可以刪除和插入學生的相關資訊,還有就是可按學號或按學生姓名查詢此學生的相關資訊。由此來系統化管理學生基本資訊,並達到簡易操作的目的。2 功能分析說明圖 3 各項功能...

學生成績管理系統程式設計

要求 設計乙個學生成績管理資訊系統,編寫系統設計報告,內容包括 1 系統概述 系統目標 系統主要功能 輸入 輸出 編輯 列印 查詢 2 系統設計規範 系統名稱 檔案命名規範 資料庫 表 字段命名規範 3 總體結構設計 系統功能結構圖 子系統及模組功能說明 子系統流程圖 畫功能模組結構圖 計算機網路系...