VC課程設(shè)計(jì)(論文)-圖書(shū)管理系統(tǒng).doc_第1頁(yè)
VC課程設(shè)計(jì)(論文)-圖書(shū)管理系統(tǒng).doc_第2頁(yè)
VC課程設(shè)計(jì)(論文)-圖書(shū)管理系統(tǒng).doc_第3頁(yè)
VC課程設(shè)計(jì)(論文)-圖書(shū)管理系統(tǒng).doc_第4頁(yè)
VC課程設(shè)計(jì)(論文)-圖書(shū)管理系統(tǒng).doc_第5頁(yè)
已閱讀5頁(yè),還剩21頁(yè)未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

課程設(shè)計(jì)說(shuō)明書(shū) no.1圖書(shū)管理系統(tǒng)一、課程設(shè)計(jì)的目的本課程設(shè)計(jì)主要用于一個(gè)圖書(shū)館里;包括圖圖書(shū)管理、書(shū)借閱信息、書(shū)籍資料管理、借閱信息查詢、讀者查詢、新增圖書(shū),通過(guò)該程序能夠簡(jiǎn)單明了的實(shí)現(xiàn)以上功能。之所以選擇visual c+作為開(kāi)發(fā)工具,不僅僅因?yàn)樵?jīng)有過(guò)使用它的經(jīng)驗(yàn),看中的更是它的功能強(qiáng)大和使用方便。它本身不僅具有極其強(qiáng)大的編程能力,它允許選擇和管理外接程序,這些對(duì)visual c+的擴(kuò)充又進(jìn)一步增強(qiáng)了它的開(kāi)發(fā)環(huán)境的能力。數(shù)據(jù)庫(kù)選擇microsoft sql server,不僅因?yàn)樗鼮槲覀兲峁┝艘唤M功能強(qiáng)大的工具,這些工具提供的功能相當(dāng)完善,能夠滿足專業(yè)開(kāi)發(fā)人員的需要;更重要的是對(duì)于我們這種新用戶來(lái)說(shuō),操作方便簡(jiǎn)單,運(yùn)行快速安全,十分容易上手,很適合新手使用。 沈 陽(yáng) 大 學(xué) 課程設(shè)計(jì)說(shuō)明書(shū) no.2二設(shè)計(jì)方案論證.系統(tǒng)總體設(shè)計(jì)系統(tǒng)開(kāi)發(fā)的總體任務(wù)是實(shí)現(xiàn)圖書(shū)信息管理,主要完成的功能有:1. 登陸功能2. 圖書(shū)管理3. 借閱信息4. 讀者查詢5. 新增圖書(shū)圖書(shū)管理系統(tǒng)登陸功能圖書(shū)管理借閱信息讀者查詢新增圖書(shū) 沈 陽(yáng) 大 學(xué) 課程設(shè)計(jì)說(shuō)明書(shū) no.3.2數(shù)據(jù)庫(kù)設(shè)計(jì)1)邏輯結(jié)構(gòu)圖書(shū)管理系統(tǒng)數(shù)據(jù)模型:圖書(shū)(編號(hào),名稱,作者,出版日期,登記日期)管理員(編號(hào),姓名,性別,年齡,工作時(shí)間)會(huì)員(編號(hào),姓名,性別,家庭住址,聯(lián)系方式)2)圖書(shū)信息表字段名稱數(shù)據(jù)類型說(shuō)明tno文本圖書(shū)編號(hào)tname文本圖書(shū)名稱twriter文本作者姓名tcbs文本出版社名稱tcbrq日期/時(shí)間出版日期tdgrq日期/時(shí)間登記日期 表1表1為圖書(shū)信息數(shù)據(jù)表圖書(shū)信息數(shù)據(jù)表記錄了圖書(shū)的基本信息,圖書(shū)的編號(hào),名稱,作者姓名,出版社名稱,出版日期,登記日期。3)管理員信息表字段名稱數(shù)據(jù)類型說(shuō)明gno數(shù)字管理員編號(hào)gname文本姓名gsex文本管理員性別gage數(shù)字管理員年齡ggztime數(shù)字工作時(shí)間 表2 表2為管理員信息數(shù)據(jù)表管理員信息數(shù)據(jù)表記錄了管理員的基本信息,管理員的編號(hào),姓名,性別,年齡,工作時(shí)間。 沈 陽(yáng) 大 學(xué) 課程設(shè)計(jì)說(shuō)明書(shū) no.44)會(huì)員信息表字段名稱數(shù)據(jù)類型說(shuō)明hno數(shù)字會(huì)員編號(hào)hname文本會(huì)員姓名hsex文本會(huì)員性別haddress數(shù)字家庭住址htel數(shù)字聯(lián)系方式 表3表3為會(huì)員信息數(shù)據(jù)表會(huì)員信息數(shù)據(jù)表記錄了會(huì)員的基本信息,會(huì)員的編號(hào),姓名,性別,家庭住址,聯(lián)系方式。23可行性分析采用vc+和數(shù)據(jù)庫(kù)開(kāi)發(fā),即使遇到困難,也能從豐富的參考書(shū)中找到解決方案。開(kāi)發(fā)出的系統(tǒng)具有圖書(shū)信息管理的功能,能高效管理圖書(shū)信息,方便對(duì)圖書(shū)信息的更新、查詢等。通過(guò)對(duì)已有圖書(shū)信息管理系統(tǒng)的分析和研究比較的方法。“圖書(shū)信息管理系統(tǒng)”是一種基于集中統(tǒng)一規(guī)劃的數(shù)據(jù)庫(kù)數(shù)據(jù)管理新模式,是利用數(shù)據(jù)庫(kù)軟件編制的管理軟件。以實(shí)現(xiàn)圖書(shū)信息的錄入、更新和查詢以及日常工作等多項(xiàng)管理,對(duì)整個(gè)系統(tǒng)的分析、設(shè)計(jì)過(guò)程做出一個(gè)完整論證為目的。2.4結(jié)構(gòu) 沈 陽(yáng) 大 學(xué) 課程設(shè)計(jì)說(shuō)明書(shū) no.5 表4表4為管理員模塊,在管理員模式下可以進(jìn)行的修改密碼,信箱管理,天家圖書(shū),新書(shū)入庫(kù),還書(shū)管理等管理員功能 表5表5為用戶模塊,會(huì)員模式下用戶的功能,如修改密碼,信箱管理,個(gè)人信息,圖書(shū)查詢等 沈 陽(yáng) 大 學(xué) 課程設(shè)計(jì)說(shuō)明書(shū) no.6三應(yīng)用軟件的實(shí)現(xiàn)與運(yùn)行結(jié)果1登陸圖書(shū)信息管理登陸界面2進(jìn)入圖書(shū)管理系統(tǒng) 沈 陽(yáng) 大 學(xué) 課程設(shè)計(jì)說(shuō)明書(shū) no.73圖書(shū)信息4借閱信息 沈 陽(yáng) 大 學(xué) 課程設(shè)計(jì)說(shuō)明書(shū) no.85.借閱查詢6. 讀者信息管理 沈 陽(yáng) 大 學(xué) 課程設(shè)計(jì)說(shuō)明書(shū) no.97.歸還圖書(shū)8. 續(xù)借圖書(shū) 沈 陽(yáng) 大 學(xué) 課程設(shè)計(jì)說(shuō)明書(shū) no.109.新增圖書(shū) 沈 陽(yáng) 大 學(xué) 課程設(shè)計(jì)說(shuō)明書(shū) no.1110.新增讀者 沈 陽(yáng) 大 學(xué) 課程設(shè)計(jì)說(shuō)明書(shū) no.12四設(shè)計(jì)體會(huì)計(jì)算機(jī)具有強(qiáng)大的功能,它現(xiàn)已應(yīng)用于各行各業(yè),在人們生活的各個(gè)領(lǐng)域起著非常重要的作用。它的高速運(yùn)算能力極大的提高了工作效率,把人們從浩瀚的計(jì)算中解放出來(lái),并且在高、尖的大型科學(xué)計(jì)算和大型信息處理及運(yùn)算需求高的領(lǐng)域發(fā)揮著重要的作用。計(jì)算機(jī)在人們的日常生活中能幫助人們發(fā)送郵件,網(wǎng)上購(gòu)物,遠(yuǎn)程學(xué)習(xí),休閑娛樂(lè),使人們的生活變得快捷方便,它推動(dòng)了人類社會(huì)的發(fā)展與進(jìn)步,對(duì)人類社會(huì)生產(chǎn)生活的各個(gè)領(lǐng)域產(chǎn)生了極其深刻的影響。正是因?yàn)橛?jì)算機(jī)有這些強(qiáng)大的功能,學(xué)習(xí)計(jì)算機(jī)知識(shí)與計(jì)算機(jī)交流才顯得尤為重要。因此學(xué)習(xí)vc語(yǔ)言就顯得更為重要,vc語(yǔ)言作為國(guó)際上廣泛流行的通用程序設(shè)計(jì)語(yǔ)言,在計(jì)算機(jī)的研究和應(yīng)用中已展現(xiàn)出強(qiáng)大的生命力。vc語(yǔ)言兼顧了諸多高級(jí)語(yǔ)言的特點(diǎn)。通過(guò)此次圖書(shū)管理系統(tǒng)的設(shè)計(jì),使我對(duì)vc+程序設(shè)計(jì)有了深一步的了解,對(duì)系統(tǒng)設(shè)計(jì)及開(kāi)發(fā)有了比較全面的思路。首先,通過(guò)對(duì)系統(tǒng)進(jìn)行需求分析,確定各個(gè)功能函數(shù);然后一個(gè)個(gè)具體地對(duì)他們進(jìn)行編程,并且仔細(xì)檢查看是否有錯(cuò);在完成這一步之后才開(kāi)始構(gòu)造主函數(shù),通過(guò)主函數(shù)把各個(gè)功能函數(shù)聯(lián)系起來(lái),編譯修改錯(cuò)誤和不足之處在實(shí)際編程過(guò)程中會(huì)遇到很多不同的錯(cuò)誤,有時(shí)候是一些很明顯很細(xì)節(jié)的語(yǔ)法錯(cuò)誤,這些可以通過(guò)編譯來(lái)查找錯(cuò)誤的所在,然而那些并不明顯難以查找的隱性錯(cuò)誤卻真讓人頭痛。同時(shí)我翻閱了大量的書(shū)籍,也在網(wǎng)上查了很多資料??傊舜蜗到y(tǒng)設(shè)計(jì)給我們提供了一個(gè)既動(dòng)手又動(dòng)腦、自學(xué)、獨(dú)立實(shí)踐的機(jī)會(huì),使我們養(yǎng)成了勤翻閱各種相關(guān)資料的習(xí)慣,將書(shū)本上的理論知識(shí)和實(shí)際有機(jī)地結(jié)合起來(lái),鍛煉了實(shí)際分析問(wèn)題和解決問(wèn)題的能力,提高了適應(yīng)實(shí)際、實(shí)踐編程的能力,為今后的學(xué)習(xí)和實(shí)踐打下了良好的基礎(chǔ)。 沈 陽(yáng) 大 學(xué) 課程設(shè)計(jì)說(shuō)明書(shū) no.13五參考文獻(xiàn)1 劉新民,蔡瓊,白康生編著.visual basic 6.0程序設(shè)計(jì)m.清華大學(xué)出版社,20042 張海榮編著. visual c+ 實(shí)用教程(第2版)m.電子工業(yè)出版社.20043 魏亮,李春葆編著.visual c+程序設(shè)計(jì)例學(xué)與實(shí)踐.清華大學(xué)出版社,20064 劉瑞,吳躍進(jìn),王宗越編著.visual c+項(xiàng)目開(kāi)發(fā)實(shí)用案例.科學(xué)出版社.20065 孫鑫,許安萍編著.vc+深入詳解. 電子工業(yè)出版社.2006 沈 陽(yáng) 大 學(xué) 課程設(shè)計(jì)說(shuō)明書(shū) no.14六附錄圖書(shū)管理系統(tǒng)源代碼#include stdafx.h#include lmsystem.h#include addbookmanage.h#ifdef _debug#define new debug_new#undef this_filestatic char this_file = _file_;#endif/ caddbookmanage dialogcaddbookmanage:caddbookmanage(cwnd* pparent /*=null*/): cdialog(caddbookmanage:idd, pparent)/afx_data_init(caddbookmanage)m_actoredit = _t();m_bookidedit = _t();m_booknameedit = _t();m_booktypeedit = _t();m_positionedit = _t();m_yearedit = _t();m_isbnedit = _t();/afx_data_initvoid caddbookmanage:dodataexchange(cdataexchange* pdx) 沈 陽(yáng) 大 學(xué) 課程設(shè)計(jì)說(shuō)明書(shū) no.15cdialog:dodataexchange(pdx);/afx_data_map(caddbookmanage)ddx_control(pdx, idc_positionedit, m_ctrposition);ddx_control(pdx, idc_yearedit, m_ctryear);ddx_control(pdx, idc_booktypeedit, m_ctrbooktype);ddx_control(pdx, idc_booknameedit, m_ctrbookname);ddx_control(pdx, idc_booklist, m_booklist);ddx_control(pdx, idc_bookidedit, m_ctrbookidedit);ddx_control(pdx, idc_actoredit, m_ctractoredit);ddx_text(pdx, idc_actoredit, m_actoredit);ddx_text(pdx, idc_bookidedit, m_bookidedit);ddx_text(pdx, idc_booknameedit, m_booknameedit);ddx_text(pdx, idc_booktypeedit, m_booktypeedit);ddx_text(pdx, idc_positionedit, m_positionedit);ddx_text(pdx, idc_yearedit, m_yearedit);ddx_text(pdx, idc_isbnedit, m_isbnedit);/afx_data_mapbegin_message_map(caddbookmanage, cdialog)/afx_msg_map(caddbookmanage)on_en_killfocus(idc_bookidedit, onkillfocusbookidedit)on_bn_clicked(idc_addbutton, onaddbutton)/afx_msg_mapend_message_map()/ caddbookmanage message handlersbool caddbookmanage:oninitdialog() cdialog:oninitdialog();/ todo: add extra initialization hereiflag=0;dbopt.dbconnecte(); 沈 陽(yáng) 大 學(xué) 課程設(shè)計(jì)說(shuō)明書(shū) no.16m_booklist.setextendedstyle(lvs_ex_gridlines);m_booklist.insertcolumn(0,isbn編號(hào),lvcfmt_left,120);m_booklist.insertcolumn(1,書(shū)名編號(hào),lvcfmt_left,120);/m_booklist.insertcolumn(2,年代,lvcfmt_left,120);/m_booklist.insertcolumn(3,作者,lvcfmt_left,120);/m_booklist.insertcolumn(4,類型,lvcfmt_left,120);/m_booklist.insertcolumn(5,位置,lvcfmt_left,120);return true; / return true unless you set the focus to a control / exception: ocx property pages should return falsevoid caddbookmanage:onkillfocusbookidedit() / todo: add your control notification handler code hereupdatedata(true); m_booklist.deleteallitems(); cstring strsql; m_bookidedit.trimright(); strsql.format(select * from booktype where isbn_id=+m_bookidedit+); dbopt.booktypeoperate(strsql); if (dbopt.curitem=1) m_booknameedit=dbopt.strarrayone.getat(0); m_yearedit=dbopt.strarraytwo.getat(0); m_actoredit=dbopt.strarraythree.getat(0); m_booktypeedit=dbopt.strarrayfour.getat(0);/ m_bookidedit=dbopt.strarrayfive.getat(0); iflag=1; m_ctractoredit.enablewindow(false); m_ctrbookname.enablewindow(false); m_ctrbooktype.enablewindow(false); m_ctryear.enablewindow(false); m_ctrposition.enablewindow(false);else 沈 陽(yáng) 大 學(xué) 課程設(shè)計(jì)說(shuō)明書(shū) no.17iflag=0;m_ctractoredit.enablewindow(true);m_ctrbookname.enablewindow(true);m_ctrbooktype.enablewindow(true);m_ctryear.enablewindow(true); m_ctrposition.enablewindow(true);m_booknameedit=;m_yearedit=;m_actoredit=; m_booktypeedit=;m_positionedit=; strsql.format(select * from bookid where isbn_id=+m_bookidedit+);dbopt.readbookid(strsql);for(int i=0;idbopt.curitem;i+) m_booklist.insertitem(i,dbopt.strarraytwo.getat(i) ; m_booklist.setitemtext(i,1,dbopt.strarrayone.getat(i);strsql.format(select * from position where isbn_id=+m_bookidedit+);cstring straddress;straddress=dbopt.readposition(strsql); for( i=0;idbopt.curitem;i+)m_positionedit=straddress;updatedata(false);void caddbookmanage:onaddbutton() / todo: add your control notification handler code hereupdatedata(true);cstring strsql;if (m_isbnedit.getlength()10) 沈 陽(yáng) 大 學(xué) 課程設(shè)計(jì)說(shuō)明書(shū) no.18messagebox(圖書(shū)編號(hào)為空或長(zhǎng)度太長(zhǎng)!);return;if (m_bookidedit.getlength()10)messagebox(isbn編號(hào)為空或長(zhǎng)度太長(zhǎng)!);return;if(iflag=0) if (m_booknameedit.getlength()20)messagebox(書(shū)名為空或長(zhǎng)度太長(zhǎng),請(qǐng)重新輸入!);return;if (m_positionedit.getlength()20)messagebox(書(shū)名為空或長(zhǎng)度太長(zhǎng),請(qǐng)重新輸入!);return;if (m_yearedit.getlength()10|m_actoredit.getlength()20|m_booktypeedit.getlength()20) messagebox(年代、作者、圖書(shū)類型或方位長(zhǎng)度太長(zhǎng),請(qǐng)重新輸入!);return; strsql.format(insert into booktype(isbn_id,book_name,yeartime,actor,book_type,allnumber,lastnumber)values(%s,%s,%s,%s,%s,1,1),m_bookidedit,m_booknameedit,m_yearedit,m_actoredit,m_booktypeedit); 沈 陽(yáng) 大 學(xué) 課程設(shè)計(jì)說(shuō)明書(shū) no.19dbopt.readertypeoperate(strsql); strsql.format(insert into position(isbn_id,book_position)values(%s,%s),m_bookidedit,m_positionedit); dbopt.readertypeoperate(strsql);elsestrsql.format(select * from bookid where book_id=%s,m_isbnedit);dbopt.readbookid(strsql);if (dbopt.curitem0)messagebox(此書(shū)已經(jīng)存在!);return; strsql.format(update booktype set allnumber=allnumber+1,lastnumber=lastnumber+1 where isbn_id=%s,m_bookidedit); dbopt.readertypeoperate(strsql);strsql.format(insert into bookid(isbn_id,book_id)values(%s,%s),m_bookidedit,m_isbnedit);dbopt.readertypeoperate(strsql);onkillfocusbookidedit();#if _msc_ver 1000#pragma once#endif / _msc_ver 1000/ addbookmanage.h : header file/#include dboperate.h/ caddbookmanage dialogclass caddbookmanage : public cdialog 沈 陽(yáng) 大 學(xué) 課程設(shè)計(jì)說(shuō)明書(shū) no.20/ constructionpublic:caddbookmanage(cwnd* pparent = null); / standard constructor cdboperate dbopt;int iflag;/ dialog data/afx_data(caddbookmanage)enum idd = idd_addbookdialog ;ceditm_ctrposition;ceditm_ctryear;ceditm_ctrbooktype;ceditm_ctrbookname;clistctrlm_booklist;ceditm_ctrbookidedit;ceditm_ctractoredit;cstringm_actoredit;cstringm_bookidedit;cstringm_booknameedit;cstringm_booktypeedit;cstringm_positionedit;cstringm_yearedit;cstringm_isbnedit;/afx_data/ overrides/ classwizard generated virtual function overrides/afx_virtual(caddbookmanage)protected:virtual void dodataexchange(cdataexchange* pdx); / ddx/ddv support/afx_virtual/ implementationprotected: 沈 陽(yáng) 大 學(xué) 課程設(shè)計(jì)說(shuō)明書(shū) no.21/ generated message map functions/afx_msg(caddbookmanage)virtual bool oninitdialog();afx_msg void onkillfocusbookidedit();afx_msg void onaddbutton();/afx_msgdeclare_message_map();/afx_insert_location/ microsoft visual c+ will insert additional declarations immediately before the previous line.#endif / !defined(afx_addbookmanage_h_cbf00bee_87dd_4cd9_8b61_134915710c31_included_)#include stdafx.h#include lmsystem.h#include adminmanage.h#ifdef _debug#define new debug_new#undef this_filestatic char this_file = _file_;#endif/ cadminmanage dialogcadminmanage:cadminmanage(cwnd* pparent /*=null*/): cdialog(cadminmanage:idd, pparent)/afx_data_init(cadminmanage)m_editpassward = _t();/afx_data_initvoid cadminmanage:dodataexchange(cdataexchange* pdx) 沈 陽(yáng) 大 學(xué) 課程設(shè)計(jì)說(shuō)明書(shū) no.22/ implementationprotected:/ generated message map functions/afx_msg(caddbookmanage)virtual bool oninitdialog();afx_msg void onkillfocusbookidedit();afx_msg void onaddbutton();/afx_msgdeclare_message_map();/afx_insert_location/ microsoft visual c+ will insert additional declarations immediately before the previous line.#endif / !defined(afx_addbookmanage_h_cbf00bee_87dd_4cd9_8b61_134915710c31_included_)#include stdafx.h#include lmsystem.h#include adminmanage.h#ifdef _debug#define new debug_new#undef this_filestatic char this_file = _file_;#endif/ cadminmanage dialogcadminmanage:cadminmanage(cwnd* pparent /*=null*/): cdialog(cadminmanage:idd, pparent)/afx_data_init(cadminmanage)m_editpassward = _t();/afx_data_init 沈 陽(yáng) 大 學(xué) 課程設(shè)計(jì)說(shuō)明書(shū) no.23void cadminmanage:dodataexchange(cdataexchange* pdx)cdialog:dodataexchange(pdx);/afx_data_map(cadminmanage)ddx_text(pdx, idc_editpassward, m_editpassward);/afx_data_mapbegin_message_map(cadminmanage, cdialog)/afx_msg_map(cadminmanage)on_bn_clicked(idc_btnok, onbtnok)/afx_msg_mapend_message_map(

溫馨提示

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

評(píng)論

0/150

提交評(píng)論