freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內(nèi)容

畢業(yè)設計-c語言題庫管理系統(tǒng)設計—論文-文庫吧

2025-10-28 17:26 本頁面


【正文】 一般用戶界面 用戶管理 試題管理 試卷管理、成績管理 添加用戶 刪除用戶 更新用戶 查看刪除成績和試卷 試題管理:修改 評分、改錯 是否交卷 試題管理:添加 試題管理:刪除 是否已生成試卷 生成試卷 進行考試 結(jié)束 是否退出 系統(tǒng)總體流程圖 四、系統(tǒng)總體設計 系統(tǒng)功能模塊框圖 數(shù)據(jù)庫設計 數(shù)據(jù)庫在一個信息管理系統(tǒng)中占有非常重要的地位,數(shù)據(jù)庫設計的好壞將直接對應用系統(tǒng)的效 率以及實現(xiàn)的效果產(chǎn)生影響。合理的數(shù)據(jù)庫設計可以提高數(shù)據(jù)存儲的效率,保證數(shù)據(jù)的完整和一致。同時,合理的數(shù)據(jù)庫結(jié)構(gòu)也將有利于程序的實現(xiàn)。 設計數(shù)據(jù)庫系統(tǒng)時應該首先充分了解用戶各方面的需求,包括現(xiàn)有的以及將來可能增加的需求。 數(shù)據(jù)庫需求分析 用戶登陸模塊 試題庫管理系統(tǒng) 選擇題管理 試卷管理模塊 用戶管理模塊 填空題模塊 考試模塊 試卷生成模塊 系統(tǒng)安全模塊 資料維護模塊 用戶應用模塊 添加新用戶 刪除試題 刪除已有用戶 更新已有用戶 查看刪除試卷 更改試題 新建試題 新建試題 更改試題 刪除試題 評分錯題查看 生成新試卷 用戶的需求具體體現(xiàn)在各種信息的提供、保存、更新和查詢統(tǒng)計,這就要求數(shù)據(jù)庫結(jié)構(gòu)能充分滿足各種信息的輸出和輸入。收集基本數(shù)據(jù)、數(shù)據(jù)結(jié)構(gòu)以及數(shù)據(jù)處理的流程,組成一份詳盡的數(shù)據(jù)字典,為后面的詳細設計打下基礎 。 針對本系統(tǒng)要求,設計如下的數(shù)據(jù)項和數(shù)據(jù)結(jié)構(gòu): ? 用 戶信息表:包括的數(shù)據(jù)項有:用戶 ID,用戶名,用戶密碼,用戶權限。 ? 課程章節(jié)信息表: 包括的數(shù)據(jù)項有:章節(jié) ID,章節(jié)名。 ? 填空題信息表:包括的字段有:填空題 ID,填空題目,填空題答案,所屬章節(jié),本題分值。 ? 選擇題信息表:包括字段:選擇題 ID,選擇題題目,選擇題選項 A,選擇題選項 B,選擇題選項 C,選擇題選項 D,選擇題選項 E,選擇題選項 F,選擇題答案,所屬章節(jié),分值。 ? 試卷信息表:包括字段:試卷項 ID,試卷名,試題號,試題類型,考生ID,考生答案。 ? 成績信息表:字段:成績編號( ID),考生 ID,試卷名,考試成績,交卷標識。 數(shù)據(jù)庫結(jié)構(gòu)設計 試題庫管理系統(tǒng)數(shù)據(jù)庫中各個表格的設計結(jié)果如下面的幾個表格所示。每個表格表示在數(shù)據(jù)庫中的一個表。 1.用戶信息表: user_stu 字段名 數(shù)據(jù)類型 字段大小 主鍵 stuid 文本 50 是 stuname 文本 8 否 stupwd 文本 20 否 user_admi 數(shù)字 長整型 否 表 2.章節(jié)表: zhang_tab 字段名 數(shù)據(jù)類型 字段大小 主鍵 zhangid 數(shù)字 長整型 否 zhangname 文本 20 是 表 3.填空題信息表: tiank_tab 字段名 數(shù)據(jù)類型 字段大小 主鍵 tiankid 自動編號 長整型 是 tiankbody 文本 255 否 tiankdaan 文本 100 否 zhangid 文本 20 否 tiankfen 數(shù)字 長整型 否 表 4.選擇題信息表: xuanz_tab 字段名 數(shù)據(jù)類型 字段大小 主鍵 Xuanzid 自動編號 長整型 是 Xuanzbody 文本 255 否 Xuanza 文本 50 否 Xuanzb 文本 50 否 Xuanzc 文本 50 否 Xuanzd 文本 50 否 Xuanze 文本 50 否 Xuanzf 文本 50 否 Zhangid 文本 20 否 Xuanzfen 數(shù)字 長整型 否 Xuanzdaan 文本 50 否 表 5.試卷信息表: shij_tab 字段名 數(shù)據(jù)類型 字段大小 主鍵 Shijid 自動編號 長整型 是 Shitid 數(shù)字 長整型 否 Shijname 文本 100 否 Stuid 文本 50 否 Shitidaan 文本 255 否 Shititype 文本 50 否 表 6.成績信息表: chengj_tab 字段名 數(shù)據(jù)類型 字段大小 主鍵 Chengjid 自動編號 長整型 是 Stuid 文本 50 否 Shijname 文本 100 否 Shijfen 數(shù)字 長整型 否 Handup 文本 10 否 表 五、編譯原理試題庫系統(tǒng)具體實現(xiàn) 本 系統(tǒng)是用 生成的單文檔結(jié)構(gòu)的應用程序,首先由向?qū)梢粋€單文檔的應用程序,然后在程序中添加相應的對話框和,在 對話框上添加不同的控件來實現(xiàn)不同的功能,產(chǎn)生實現(xiàn)對應功能的外觀界面。 VC++ 是 面向?qū)ο蟮某绦蛟O計語言,每一個功能可以做為一個對象來看待,把特定的功能放在一個對象里實現(xiàn),有助于簡化系統(tǒng)設計。還可以使系統(tǒng)更安全和便于實現(xiàn)。這里,我就把系統(tǒng)的各個功能放到了不同的類里面去實現(xiàn),還要完成與用戶的交互,所以把功能模塊用對話框類的派生類來實現(xiàn),具體由對話框來完成交互,類里的成員函數(shù)來完成后臺的數(shù)據(jù)處理。 為了與數(shù)據(jù)庫交換數(shù)據(jù),要用到 MFC 數(shù)據(jù)庫訪問類,本程序是使用的 ODBC來連接數(shù)據(jù)庫。數(shù)據(jù)庫訪問是封裝的 MFC 數(shù) 據(jù)庫訪問類,設頂數(shù)據(jù)源和本系統(tǒng)用到的封裝類如下: 在 Access2021 中,按照上節(jié)數(shù)據(jù)庫的設計表,建立數(shù)據(jù)庫,命名為。然后打開本機的控制面板,管理工具,數(shù)據(jù)源( ODBC) ,如下圖: 注冊好 ODBC 數(shù)據(jù)源后,就可以在程序中使用 ODBC 連接數(shù)據(jù)庫,可以動態(tài)的更新查詢數(shù)據(jù)庫。 運行 VC++ 新建工程,命名為 TESTING,在第一步選擇單文檔,其他保持默認值。這樣就生成了一個工程,用于本系統(tǒng)的建立。 在程序中使用了 MFC 的數(shù)據(jù)庫類進行了封裝,以 用于本系統(tǒng)的統(tǒng)一數(shù)據(jù)庫的操作,具體實現(xiàn)代碼如下: 文件 1 // ifndef GEN_DEFINE_H define GEN_DEFINE_H include extern COdbcDB g_odbcDB。 extern CString Userid。 extern BOOL HavEx。 endif 文件 2 // include include COdbcDB g_odbcDB。 CString Userid。 BOOL HavEx。 文件 3 // ifndef ODBC_DB_H define ODBC_DB_H include include vector //利用 vector 數(shù)組結(jié)構(gòu)構(gòu)造一維字符串數(shù)組 typedef ::std::vectorCString CStrs。 //利用 vector 數(shù)組結(jié)構(gòu)構(gòu)造二維字符串數(shù)組 typedef ::std::vectorCStrs CDStrs。 class COdbcDB { public: COdbcDB()。 virtual ~COdbcDB()。 public: //數(shù)據(jù)庫連接 HRESULT Connect(CString strDBSource,CString strDBUser,CString strDBPwd)。 //數(shù)據(jù)庫關閉 void DisConnect()。 //判斷數(shù)據(jù)庫是否處于打開狀態(tài) BOOL IsOpen()。 //執(zhí)行 SQL 語句 HRESULT ExecuteSQL(LPCSTR lpszSQL)。 //根據(jù) SQL 語句查詢數(shù)據(jù)庫,獲取的記錄集保存在二維字符串數(shù)組中 void ExecuteQuery(LPCTSTR lpszSQL,CDStrsamp。 Fields)。 //根據(jù) SQL 語句查詢數(shù)據(jù)庫,獲取一個字段值 void ExecuteQueryValue(LPCTSTR lpszSQL,CStringamp。 value)。 protected: //數(shù)據(jù)庫對象 CDatabase m_db。 BOOL m_IsDBOpen。 //數(shù)據(jù)庫是否打開 CString m_strDBSource。 //數(shù)據(jù)庫源 CString m_strDBUser。 //數(shù)據(jù)庫用戶名 CString m_strDBPwd。 //數(shù)據(jù)庫用戶密碼 }。 endif 文件 4 // include include define DB_NOT_OPEN 0x2021 //數(shù)據(jù)庫打開錯誤 define DB_NO_RECORD 0x2021 //沒有數(shù)據(jù) define DB_SAVE_EPG_ERR 0x2021 //保存 Epg 失敗 define DB_SET_BIGBLOK_ERR 0x2021 //設置大數(shù)據(jù)錯誤 define DB_NOT_NORMAL 0x2021 //數(shù)據(jù)庫打開錯誤 define MEMORY_EXCEPTION 0x2021 //Memory 異常 define MS_OTHER_EXCEPTION 0x2021 //其他異常 COdbcDB::COdbcDB() { m_strDBSource = _T()。 m_strDBUser = _T()。 m_strDBPwd = _T()。 m_IsDBOpen = FALSE。 } COdbcDB::~COdbcDB() { } BOOL COdbcDB::IsOpen() { return m_IsDBOpen。 } HRESULT COdbcDB::ExecuteSQL(LPCSTR lpszSQL) { ASSERT(lpszSQL)。 TRY { //執(zhí)行 SQL 語句 (lpszSQL)。 }//異常處理 CATCH(CDBException, pEx) { return pExm_nRetCode。 } AND_CATCH(CException,pEx) { return MS_OTHER_EXCEPTION。 } END_CATCH return S_OK。 } HRESULT COdbcDB::Connect(CString strDBSource,CString strDBUser,CString strDBPwd) { //Init DB param,in case reconnect m_IsDBOpen = FALSE。 ()。 m_strDBSource = strDBSource。 m_strDBUser = strDBUser。 m_strDBPwd = strDBPwd。 //構(gòu)造連接字符串 CString strDBOpen = _T()。 (DSN=%s。UID=%s。PWD=%s,strDBSource,strDBUser,strDBPwd)。 TRY{ // 連接數(shù)據(jù)庫 (strDBOpen,CDatabase::noOdbcDialog)。 }//異常處理 CATCH(CDBException,ex) { m_IsDBOpen = FA
點擊復制文檔內(nèi)容
公司管理相關推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1