VC++面向?qū)ο笳n程設(shè)計報告書圖書館登錄系統(tǒng)_第1頁
VC++面向?qū)ο笳n程設(shè)計報告書圖書館登錄系統(tǒng)_第2頁
VC++面向?qū)ο笳n程設(shè)計報告書圖書館登錄系統(tǒng)_第3頁
VC++面向?qū)ο笳n程設(shè)計報告書圖書館登錄系統(tǒng)_第4頁
VC++面向?qū)ο笳n程設(shè)計報告書圖書館登錄系統(tǒng)_第5頁
已閱讀5頁,還剩17頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)

文檔簡介

1、安徽建筑工業(yè)學(xué)院 vc+面向?qū)ο?課程設(shè)計報告書院 系 數(shù)理系 專 業(yè) 信息與計算科學(xué) 班 級 09 信 息 學(xué) 號 姓 名 題 目 圖書館登錄系統(tǒng) 指導(dǎo)教師 圖書館登錄系統(tǒng)一、 功能:該系統(tǒng)對用戶輸入的用戶名和密碼進(jìn)行驗(yàn)證,只有確保用戶名和密碼都正確才能進(jìn)入該系統(tǒng),在登陸過程中給出是否為合法用戶的反饋信息。系統(tǒng)登錄后自動彈出主界面,用戶可以對自己的登錄密碼進(jìn)行修改。二、 設(shè)計: 1、數(shù)據(jù)庫設(shè)計: 采用ado操作數(shù)據(jù)庫,數(shù)據(jù)庫形式可以自行選擇,本系統(tǒng)采用的是access2003,數(shù)據(jù)庫中包含一個表,表數(shù)據(jù)中包含以下字段:用戶編號、用戶姓名、登錄密碼。其中用戶編號為主鍵.。數(shù)據(jù)庫和數(shù)據(jù)表的名稱自

2、定。 2、程序界面設(shè)計: 建立三個用戶界面:系統(tǒng)登錄界面,主界面,修改密碼界面。 用戶登錄界面 該界面主要包含用戶姓名、用戶密碼輸入框,登錄和退出按鈕,點(diǎn)擊登錄時驗(yàn)證用戶姓名和用戶密碼的合法性,并給出驗(yàn)證結(jié)果。如果用戶輸入正確,然后進(jìn)入主界面。 主界面 用戶登陸成功之后進(jìn)入系統(tǒng)主界面,此時用戶可以對自己的登錄密碼進(jìn)行修改。 修改密碼界面 用戶在主界面點(diǎn)擊修改密碼按鈕進(jìn)入該界面。該界面主要包含用戶的舊密碼、新密碼、確認(rèn)新密碼輸入框,保存和返回命令按鈕。點(diǎn)擊保存則修改用戶密碼,點(diǎn)擊返回則放棄修改密碼,返回到主界面。三、 要求: 1、用戶登錄時對用戶的合法性結(jié)果以消息框的形式給出,如果用戶三次登錄不

3、成功,則系統(tǒng)自動退出。 2、修改用戶密碼時,應(yīng)以消息框的形式提示用戶是否保存修改內(nèi)容。 3、退出系統(tǒng)時,應(yīng)得到用戶的確認(rèn)之后方可退出。四、主要功能模塊設(shè)計、數(shù)據(jù)庫的設(shè)計與創(chuàng)建1、建立數(shù)據(jù)庫 命名為“table2”,新建一個表“table2”并設(shè)計表2、輸入數(shù)據(jù)到表“table2”上:、 創(chuàng)建應(yīng)用程序框架1、打開vc+6.0 新建工程,命名為“123456”2、點(diǎn)擊完成,選擇單文檔,直接點(diǎn)擊3、應(yīng)用程序生成如下界面、對話框的創(chuàng)建1、登陸對話框的設(shè)計與創(chuàng)建:2、新建對話框類,建立類向?qū)В?、為登錄按鈕添加代碼如下(驗(yàn)證用戶信息的合法性)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主界面的設(shè)計:1、添加主界面對話框類,命名為“cmaindlg”,建立類向?qū)?、為該界面按鈕所在的成

7、員函數(shù)添加代碼如下: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(系統(tǒng)維護(hù)中.);void cmaindlg:onbutton2() / todo: add y

8、our control notification handler code heremessagebox(系統(tǒng)維護(hù)中.);void cmaindlg:onbutton3() / todo: add your control notification handler code here、創(chuàng)建修改密碼對話框1、插入對話框資源2、新建對話框類“cgaimimadlg”,建立類向?qū)?、當(dāng)用戶輸入舊密碼以及新密碼確認(rèn)修改密碼,點(diǎn)擊保存按鈕時,講用戶的新密碼更新到數(shù)據(jù)庫中,為保存按鈕的成員函數(shù)添加實(shí)現(xiàn)代碼如下: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();五、數(shù)據(jù)庫的導(dǎo)入與訪問1、在stdafx.h中添加如下代碼:#import c:program filescommon filessystemadomsado15.dll no_namespace rename(eof,adoeof)2、定義連接指針:_connectionptr m_pconn

12、ection;/定義連接指針_recordsetptr m_precordset;/定義記錄集指針3、數(shù)據(jù)庫的連接在登錄對話框類clogindlg的構(gòu)造函數(shù)中實(shí)現(xiàn)代碼如下: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();六、程序運(yùn)行結(jié)果以及界面現(xiàn)實(shí)情況如下1、登錄當(dāng)輸入用戶名或者密碼錯誤時彈出提示消息框:2、程序主界面:3、修改密碼界面七、系統(tǒng)評價 該圖書館用戶登錄系統(tǒng)實(shí)現(xiàn)了數(shù)據(jù)庫系統(tǒng)的基本功能,用戶的登錄和用戶登錄密碼的修改。因?yàn)樗鶎W(xué)知識有限,所以該系統(tǒng)功能比較簡單,系統(tǒng)界面不是很美觀,還可以進(jìn)一步充實(shí)類容,美化界面,實(shí)現(xiàn)更豐富個功能。八、心得體會 通過本次vc+面向?qū)ο笳n程設(shè)計做用戶登錄系統(tǒng),我熟悉了使用vc+和access 2003創(chuàng)建數(shù)據(jù)庫管理系統(tǒng)的方法,進(jìn)一步熟悉了數(shù)據(jù)庫中如何新建一個數(shù)據(jù)庫,熟悉了設(shè)計一個表以及表中所包含的各個字段。通過運(yùn)用本學(xué)期所學(xué)的vc+面向?qū)ο蟪绦蛟O(shè)計,更加深入的了解mfc編程還有數(shù)據(jù)庫編程的知識與技巧運(yùn)用,熟悉創(chuàng)建對話框資源以及各個對話框之間的通信。這次課程設(shè)計涉及到到計算機(jī)程序設(shè)計語言的各門知識,擴(kuò)展性比較強(qiáng)。課程設(shè)計是一次我們在校大學(xué)生實(shí)踐的重要機(jī)會,我更加深入的認(rèn)識到了各門課知識的連貫性,懂的理論與實(shí)踐的結(jié)合的重要性! 當(dāng)然,在這次課程設(shè)計

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論