




版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1、安徽建筑工業學院 vc+面向對象 課程設計報告書院 系 數理系 專 業 信息與計算科學 班 級 09 信 息 學 號 姓 名 題 目 圖書館登錄系統 指導教師 圖書館登錄系統一、 功能:該系統對用戶輸入的用戶名和密碼進行驗證,只有確保用戶名和密碼都正確才能進入該系統,在登陸過程中給出是否為合法用戶的反饋信息。系統登錄后自動彈出主界面,用戶可以對自己的登錄密碼進行修改。二、 設計: 1、數據庫設計: 采用ado操作數據庫,數據庫形式可以自行選擇,本系統采用的是access2003,數據庫中包含一個表,表數據中包含以下字段:用戶編號、用戶姓名、登錄密碼。其中用戶編號為主鍵.。數據庫和數據表的名稱自
2、定。 2、程序界面設計: 建立三個用戶界面:系統登錄界面,主界面,修改密碼界面。 用戶登錄界面 該界面主要包含用戶姓名、用戶密碼輸入框,登錄和退出按鈕,點擊登錄時驗證用戶姓名和用戶密碼的合法性,并給出驗證結果。如果用戶輸入正確,然后進入主界面。 主界面 用戶登陸成功之后進入系統主界面,此時用戶可以對自己的登錄密碼進行修改。 修改密碼界面 用戶在主界面點擊修改密碼按鈕進入該界面。該界面主要包含用戶的舊密碼、新密碼、確認新密碼輸入框,保存和返回命令按鈕。點擊保存則修改用戶密碼,點擊返回則放棄修改密碼,返回到主界面。三、 要求: 1、用戶登錄時對用戶的合法性結果以消息框的形式給出,如果用戶三次登錄不
3、成功,則系統自動退出。 2、修改用戶密碼時,應以消息框的形式提示用戶是否保存修改內容。 3、退出系統時,應得到用戶的確認之后方可退出。四、主要功能模塊設計、數據庫的設計與創建1、建立數據庫 命名為“table2”,新建一個表“table2”并設計表2、輸入數據到表“table2”上:、 創建應用程序框架1、打開vc+6.0 新建工程,命名為“123456”2、點擊完成,選擇單文檔,直接點擊3、應用程序生成如下界面、對話框的創建1、登陸對話框的設計與創建:2、新建對話框類,建立類向導:3、為登錄按鈕添加代碼如下(驗證用戶信息的合法性)void clogindlg:onlogin() / todo
4、: add your control notification handler code hereupdatedata(true);cstring sql;clogindlg dlg;_variant_t val;cstring name,password;bool isfind=false;try while(!m_precordset-adoeof) val=m_precordset-getcollect(name); if(val.vt!=vt_null) name=(lpcstr)_bstr_t(val); val=m_precordset-getcollect(password);
5、if(val.vt!=vt_null) password=(lpcstr)_bstr_t(val); if(name=m_stredit1)& (password=m_stredit2) isfind=true; cmaindlg dlg; dlg.m_username=name; cdialog:onok(); dlg.domodal(); break; m_precordset-movenext();if(isfind=false)afxmessagebox(您輸入的用戶名或密碼錯誤,請重新輸入!);m_stredit1=;m_stredit2=;updatedata(false);get
6、dlgitem(idd_dialog1)-setfocus();catch(_com_error e) afxmessagebox(查找失敗!); return;bool clogindlg:oninitdialog() cdialog:oninitdialog();return true; / return true unless you set the focus to a control / exception: ocx property pages should return false主界面的設計:1、添加主界面對話框類,命名為“cmaindlg”,建立類向導2、為該界面按鈕所在的成
7、員函數添加代碼如下:void cmaindlg:onamend() / todo: add your control notification handler code herecgaimimadlg dlg;cdialog:onok(); dlg.m_username=m_username;dlg.domodal();void cmaindlg:onbutton1() / todo: add your control notification handler code heremessagebox(系統維護中.);void cmaindlg:onbutton2() / todo: add y
8、our control notification handler code heremessagebox(系統維護中.);void cmaindlg:onbutton3() / todo: add your control notification handler code here、創建修改密碼對話框1、插入對話框資源2、新建對話框類“cgaimimadlg”,建立類向導3、當用戶輸入舊密碼以及新密碼確認修改密碼,點擊保存按鈕時,講用戶的新密碼更新到數據庫中,為保存按鈕的成員函數添加實現代碼如下:void cgaimimadlg:onsave() / todo: add your contr
9、ol notification handler code hereupdatedata(true);cstring sql;_variant_t val,val1;cstring password,name; m_precordset1-movefirst();while(!m_precordset1-adoeof) val1=m_precordset1-getcollect(name);if (m_username=(lpcstr)_bstr_t(val1) break; if (m_username!=(lpcstr)_bstr_t(val1)m_precordset1-movenext(
10、);val=m_precordset1-getcollect(password);if(val.vt!=vt_null)password=(lpcstr)_bstr_t(val);if(password!=m_oldpwd)messagebox(舊密碼不正確!);return;elseif(m_newpwd!=m_renewpwd)afxmessagebox(兩次輸入密碼不一致);elsem_precordset1-fields-getitem(password)-value=(_variant_t)(_bstr_t)(m_newpwd);m_precordset1-update();afxm
11、essagebox(修改成功);4、返回按鈕代碼:void cgaimimadlg:onbutton1() / todo: add your control notification handler code herecmaindlg dlg;cdialog:onok(); dlg.domodal();五、數據庫的導入與訪問1、在stdafx.h中添加如下代碼:#import c:program filescommon filessystemadomsado15.dll no_namespace rename(eof,adoeof)2、定義連接指針:_connectionptr m_pconn
12、ection;/定義連接指針_recordsetptr m_precordset;/定義記錄集指針3、數據庫的連接在登錄對話框類clogindlg的構造函數中實現代碼如下:clogindlg:clogindlg(cwnd* pparent /*=null*/): cdialog(clogindlg:idd, pparent)/afx_data_init(clogindlg)m_stredit1 = _t();m_stredit2 = _t();/afx_data_initisadd=false;m_pconnection.createinstance(_uuidof(connection);m
13、_precordset.createinstance(_uuidof(recordset);try /_bstr_t strconnect=provider=microsoft.jet.oledb.4.0;datasource=table2.mdb,admodeunknown; m_pconnection-open(provider=microsoft.jet.oledb.4.0;data source=table2.mdb,admodeunknown); cstring strsql=select * from table2 ;bstr bstrsql=strsql.allocsysstri
14、ng();m_precordset-open(bstrsql,(idispatch*)m_pconnection,adopendynamic,adlockoptimistic,adcmdtext); /*whle(!m_precordset-adoeof) */ _variant_t thevalue; cstring str; thevalue=m_precordset-fields-getitem(id)-value; if (thevalue.vt!=vt_null) m_id=thevalue.ival; thevalue=m_precordset-fields-getitem(nam
15、e)-value; if (thevalue.vt!=vt_null) str=(char *)_bstr_t(thevalue); m_name=str; thevalue=m_precordset-fields-getitem(password)-value; if (thevalue.vt!=vt_null) str=(char *)_bstr_t(thevalue); m_password=str; /updatedata(false); /* m_precordset-movenext();*/ /afxmessagebox(sssss);catch(_com_error e) af
16、xmessagebox(e.errormessage();六、程序運行結果以及界面現實情況如下1、登錄當輸入用戶名或者密碼錯誤時彈出提示消息框:2、程序主界面:3、修改密碼界面七、系統評價 該圖書館用戶登錄系統實現了數據庫系統的基本功能,用戶的登錄和用戶登錄密碼的修改。因為所學知識有限,所以該系統功能比較簡單,系統界面不是很美觀,還可以進一步充實類容,美化界面,實現更豐富個功能。八、心得體會 通過本次vc+面向對象課程設計做用戶登錄系統,我熟悉了使用vc+和access 2003創建數據庫管理系統的方法,進一步熟悉了數據庫中如何新建一個數據庫,熟悉了設計一個表以及表中所包含的各個字段。通過運用本學期所學的vc+面向對象程序設計,更加深入的了解mfc編程還有數據庫編程的知識與技巧運用,熟悉創建對話框資源以及各個對話框之間的通信。這次課程設計涉及到到計算機程序設計語言的各門知識,擴展性比較強。課程設計是一次我們在校大學生實踐的重要機會,我更加深入的認識到了各門課知識的連貫性,懂的理論與實踐的結合的重要性! 當然,在這次課程設計
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
評論
0/150
提交評論