Windows編程大作業(yè)_第1頁
Windows編程大作業(yè)_第2頁
Windows編程大作業(yè)_第3頁
Windows編程大作業(yè)_第4頁
Windows編程大作業(yè)_第5頁
已閱讀5頁,還剩22頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

1、精選優(yōu)質文檔-傾情為你奉上Windows編程課程作業(yè)(20 10 -20 11 學年第 2 學期)課程名稱: Windows編程技術 學 號: 學生姓名: 專業(yè)班級: 學 院:學生成績: 1引言項目背景隨著人們只是層次的提高,圖書館成為日常生活中不可缺少的一部分。而圖書館的存書量和業(yè)務量龐大,僅僅靠傳統(tǒng)的記賬管理是不可行的。圖書管理系統(tǒng)應運而生,并逐漸成為信息化建設的重要組成部分。圖書管理系統(tǒng)為學?;蛏鐣蛨D書館的管理員提供所有借閱者信息,以及管內圖書庫存信息。對借書與還書兩大功能進行合理操縱。在很大程度上方便了圖書管理工作。于是在課程設計方面選擇了圖書管理系統(tǒng)作為Windows編程課程設計的

2、題目。2 需求分析2.1程序功能(1)讀者信息的添加,刪除,查找,修改,清空(2)圖書信息的添加,查找(3)讀者借書,還書功能2.2數(shù)據讀者信息:讀者編號,姓名,聯(lián)系電話圖書信息:圖書編號,名稱,數(shù)量,類別借閱信息:讀者編號,圖書編號2.3環(huán)境開發(fā)環(huán)境:Microsoft Visual C+6.0運行環(huán)境:(1)硬件要求:CPU奔騰4處理器以上(2)軟件要求:XP/Vista操作系統(tǒng)3 總體設計3.1總體架構整個圖書館里系統(tǒng)分為四個模塊。分別為,讀者信息模塊,圖書信息模塊,圖書借閱模塊和讀者還書模塊。各模塊的主要功能如下:3.2模塊劃分(1)讀者信息相關模塊設計在此模塊中,創(chuàng)建一個新類,命名為

3、ReaderInfomation,顧名思義,用來編寫進行對讀者信息各種操作的代碼。函數(shù)及變量一覽如下:實現(xiàn)讀者信息相關操作,對于總對話框的設計如下圖:讀者信息添加模塊此模塊的功能是將借閱者信息保存到系統(tǒng)中,在這個模塊中實現(xiàn)了對讀者編號,姓名和聯(lián)系電話的添加,并帶有重號提醒功能。添加成功的讀者信息可以在讀者信息總覽列表框中顯示出來。參考程序段如下:void CReaderItem:OnBottonAddReader() /添加讀者信息/ TODO: Add your control notification handler code hereCString f_reader_name,f_rea

4、der_num,f_reader_phone,f_add_whole;CString /*讀者編號校驗變量*/check_reader_num;/在編輯框中獲取讀者信息GetDlgItem(IDC_EDIT_READER_NUM)->GetWindowText(f_reader_num);/讀者編號校驗變量獲得輸入的編號check_reader_num=f_reader_num;/插入重號處理操作for(int i=0;i<reader_num;i+)if(readeri.GetReaderNum()=check_reader_num)MessageBox("該讀者編號已

5、存在,請核對!");/清空讀者編號校驗變量check_reader_num="&&&&&&&&&"return;GetDlgItem(IDC_EDIT_READER_NAME)->GetWindowText(f_reader_name);GetDlgItem(IDC_EDIT_READER_PHONE)->GetWindowText(f_reader_phone);/添加讀者信息-并保存到讀者信息對象中readerreader_num.SaveReaderInformation(f

6、_reader_num,f_reader_name,f_reader_phone);/初始化讀者可借書籍數(shù)目readerreader_num.InitReader_borrow_book_num();/初始化后,讀者可借書籍數(shù)目總數(shù)為10/讀者總數(shù)+1reader_num+;/讀者總數(shù)+1/連接總串f_add_whole=f_reader_num+" "+f_reader_name+" "+f_reader_phone;/在添加讀者信息列表框顯示m_all_reader_show.AddString(f_add_whole);MessageBox(&qu

7、ot;添加成功!");讀者信息查找模塊此模塊的功能實在已添加的讀者信息中通過輸入的讀者編號找到想要查找對應的讀者信息。并帶有刷新查找列表框,排除在同一列表框顯示多人混淆目標的情況,以及對查無對應讀者信息的提示處理。具體程序段如下:void CReaderItem:OnBottonFindReader() /查找讀者信息/ TODO: Add your control notification handler code hereCString f_reader_num,f_add_whole;CString /*讀者編號校驗變量*/check_reader_num;int check_

8、flag=0;/查找結果標志,0為沒找到,1為找到/清空列表框m_find_reader_show.ResetContent();/在編輯框中獲取讀者信息GetDlgItem(IDC_EDIT_READER_NUM)->GetWindowText(f_reader_num);/讀者編號校驗變量獲得輸入的編號check_reader_num=f_reader_num;for(int i=0;i<reader_num;i+)/進行查找if(readeri.GetReaderNum()=check_reader_num)/獲取讀者信息readeri.GetReaderItem(f_add

9、_whole);/顯示在列表框中m_find_reader_show.AddString(readeri.GetReaderItem(f_add_whole);/置找到標志為1check_flag=1;/清空讀者編號校驗變量check_reader_num="&&&&&&&&&"if(check_flag=0)MessageBox("對不起,查無此讀者!");讀者信息刪除模塊此模塊對要清除的讀者信息進行刪除,不但從列表框能清楚對應讀者的信息,也能在內存中實際刪除信息,實現(xiàn)顯示與控制同

10、步的過程。并帶有提示請使用者確定是否刪除的選擇權。具體程序段如下:void CReaderItem:OnBottonDelReader2() /刪除讀者信息函數(shù)/ TODO: Add your control notification handler code hereint cursel=m_all_reader_show.GetCurSel();/光標鎖定if(cursel=-1)MessageBox("沒有選中");return;else if(IDYES=MessageBox("是否刪除","刪除對話框",MB_ICONHAN

11、D|MB_YESNO)for(int k=cursel;k<reader_num-1;k+)readerk=readerk+1;m_all_reader_show.DeleteString(cursel);reader_num-;讀者信息修改模塊此模塊是對讀者信息進行修改,通過選中列表框的讀者信息條目,用雙擊鼠標消息響應來彈出修改窗口,讓使用者將修改的數(shù)據重新填入,并將修改后的數(shù)據重新顯示在列表框內。具體程序段如下:void CReaderItem:OnDblclkAllReaderList() /修改讀者信息引入函數(shù)/ TODO: Add your control notificati

12、on handler code hereUpdateData();CString stradd;cursel_ch=m_all_reader_show.GetCurSel();/選定的行CChange change;change.DoModal();m_all_reader_show.DeleteString(cursel_ch);/刪除原行m_all_reader_show.AddString(readercursel_ch.GetReaderItem(stradd);/顯示新信息UpdateData(false);/雙擊后,將彈出新對話框,如下圖:對于上圖中修改對話框的程序段,如下:voi

13、d CChange:OnBottonChange() / TODO: Add your control notification handler code hereCString f_reader_name,f_reader_num,f_reader_phone,f_add_whole;CString /*讀者編號校驗變量*/check_reader_num;/在編輯框中獲取讀者信息GetDlgItem(IDC_EDIT_READER_NUM)->GetWindowText(f_reader_num);/讀者編號校驗變量獲得輸入的編號check_reader_num=f_reader_n

14、um;/插入重號處理操作for(int i=0;i<reader_num;i+)if(readeri.GetReaderNum()=check_reader_num&&(i!=cursel_ch)MessageBox("該讀者編號已存在,請核對!");/清空讀者編號校驗變量check_reader_num="&&&&&&&&&"return;GetDlgItem(IDC_EDIT_READER_NAME)->GetWindowText(f_reader_n

15、ame);GetDlgItem(IDC_EDIT_READER_PHONE)->GetWindowText(f_reader_phone);/將新信息存到讀者對象中readercursel_ch.SetReaderItem(f_reader_num,f_reader_name,f_reader_phone);CDialog:OnOK();讀者信息清空模塊此模塊只清空除讀者信息總覽列表框以外的控件內信息。只要點擊清除按鈕,就可以實現(xiàn)此功能。具體程序段如下:void CReaderItem:OnBottonCleanReader() /清空讀者信息顯示函數(shù)/ TODO: Add your c

16、ontrol notification handler code here/清編輯框GetDlgItem(IDC_EDIT_READER_NUM)->SetWindowText("");GetDlgItem(IDC_EDIT_READER_NAME)->SetWindowText("");GetDlgItem(IDC_EDIT_READER_PHONE)->SetWindowText("");/清列表框/m_all_reader_show.ResetContent();m_find_reader_show.Reset

17、Content();(2) 圖書信息相關模塊設計此模塊是對圖書館內圖書信息進行操作的部分,圖書信息包括圖書編號,圖書類別和圖書的庫存數(shù)量。在模塊中可以實現(xiàn)對圖書信息的添加、查找、借書和還書功能。對話框窗口設計如下圖:在程序內部,創(chuàng)建了一個新類,通過各種成員函數(shù)來實現(xiàn)對應的圖書信息操作。類成員列表如下圖: 圖書信息添加模塊此模塊的作用類似于讀者信息添加模塊,可以對圖書信息進行添加,并實現(xiàn)了重號報錯等功能。添加成功的信息可以在圖書信息總覽列表框內顯示出來。具體程序段如下:void CBookItemDlg:OnBottonAddBook() /添加圖書信息/ TODO: Add your cont

18、rol notification handler code herechar f_book_num_string20=""CString f_book_code,f_book_name,f_book_kind,f_book_total,f_book_num_cstring;int f_book_num_int;CString check_book_code;GetDlgItem(IDC_EDIT_BOOK_CODE)->GetWindowText(f_book_code);/圖書編號校驗變量獲得輸入的編號check_book_code=f_book_code;/插入重

19、號處理操作for(int i=0;i<book_num;i+)if(booki.GetBookCode()=check_book_code)MessageBox("該圖書編號已存在,請核對!");/清空圖書編號校驗變量check_book_code="&&&&&&&&&"return;/f_book_num_int=m_book_num;/f_book_num_cstring=itoa(f_book_num_int,f_book_num_string,10);GetDlgIte

20、m(IDC_EDIT_BOOK_NAME)->GetWindowText(f_book_name);GetDlgItem(IDC_EDIT_BOOK_NUM)->GetWindowText(f_book_num_cstring);/將圖書信息對象中的圖書數(shù)量變量進行轉換,將CString轉換成intf_book_num_int=atoi(f_book_num_cstring);/選中已查找到的圖書int index=m_book_kind.GetCurSel();m_book_kind.GetLBText(index,f_book_kind);f_book_total=f_book

21、_code+" "+f_book_name+" "+f_book_kind+" "+f_book_num_cstring;/保存書籍信息bookbook_num.SaveBookItem(f_book_code,f_book_name,f_book_num_int,f_book_kind);book_num+;/在圖書總攬列表中顯示m_all_book_show.AddString(f_book_total);MessageBox("添加成功!");圖書信息查找模塊此模塊是對確定了圖書編號的圖書進行查找的部分,通過

22、在圖書編號編輯框輸入想要查找的圖書編號,然后鼠標單擊查找圖書按鈕,就會在查找列表框顯示對應的圖書信息,但是若欲查找的圖書編號不存在,則提示說此圖書不存在。具體程序段如下:void CBookItemDlg:OnBottonFindBook() / TODO: Add your control notification handler code hereCString f_book_code,f_book_total;CString /*圖書編號校驗變量*/check_book_code;int check_flag=0;/查找結果標志,0為沒找到,1為找到/清空列表框m_find_book_s

23、how.ResetContent();/在編輯框中獲取圖書信息GetDlgItem(IDC_EDIT_BOOK_CODE)->GetWindowText(f_book_code);/讀者編號校驗變量獲得輸入的編號check_book_code=f_book_code;for(int i=0;i<book_num;i+)/進行查找if(booki.GetBookCode()=check_book_code)/把查找到的書籍序號獲得cursel_find_book_show=i;/獲取圖書信息total_string_among_function=booki.GetBookItem(f

24、_book_total);/顯示在列表框中m_find_book_show.AddString(booki.GetBookItem(f_book_total);/置找到標志為1check_flag=1;/清空圖書編號校驗變量check_book_code="&&&&&&&&&"if(check_flag=0)MessageBox("對不起,查無此圖書!");cursel_find_book_show=-1;讀者借閱圖書模塊此模塊實現(xiàn)已登記于圖書館內的讀者借出圖書操作。首先通過輸入圖書

25、編號查找到想要借閱的圖書,然后在圖書信息檢索列表框內選中查找到的圖書,鼠標單擊借閱圖書,就會彈出圖書借閱對話框,首先輸入讀者編號并單擊缺人讀者調出讀者信息,如果讀者存在可以單機確定借書按鈕進行確認,如果讀者可借書數(shù)目已為零,則會彈出提示提醒使用者。如果書籍借出,則讀者信息確認列表框中讀者可借書數(shù)量會減一。關閉借書對話框后,會發(fā)現(xiàn)圖書信息檢索列表框和圖書信息總覽列表框對應剛借出的圖書數(shù)量也已減一,從而實現(xiàn)了圖書的借閱。在圖書信息對話框中的程序段如下:void CBookItemDlg:OnBottonBorrowBook() /借閱圖書/ TODO: Add your control notif

26、ication handler code hereUpdateData();CString f_add_whole;int get_book_num;CBorrowBookDlg BorrowBookDlg;if(cursel_find_book_show!=-1)/對應選中書籍/獲得圖書剩余數(shù)量get_book_num=bookcursel_find_book_show.GetBookNum();if(book_num=0)MessageBox("對不起,當前沒有圖書!");return;if(get_book_num=0)MessageBox("對不起,該圖書

27、數(shù)量為0,無法借出!");return;BorrowBookDlg.DoModal();/刪除原行m_all_book_show.DeleteString(cursel_find_book_show);/清空列表框m_find_book_show.ResetContent();/顯示新數(shù)據m_find_book_show.AddString(bookcursel_find_book_show.GetBookItem(f_add_whole);m_all_book_show.AddString(bookcursel_find_book_show.GetBookItem(f_add_wh

28、ole);else MessageBox("沒有相關書籍資料!");return;UpdateData(false);圖書借閱對話框如下圖:實現(xiàn)程序段如下:void CBorrowBookDlg:OnBorrowBook()/確定借書/ TODO: Add your control notification handler code hereCString f_add_whole;int get_reader_borrow_book_num,get_book_num;/判斷是否選中書籍if(cursel_find_book_show=-1)MessageBox("

29、沒有確定相關書籍!");return;/獲得讀者可借書籍數(shù)量get_reader_borrow_book_num=readerreader_count.GetReader_Borrow_book_num();/判斷讀者是否還可借出if(get_reader_borrow_book_num=0)MessageBox("對不起,借書數(shù)量超額!");return;/獲得圖書剩余數(shù)量/*get_book_num=bookcursel_find_book_show.GetBookNum();if(get_book_num=0)MessageBox("對不起,該圖書

30、數(shù)量為0,無法借出!");return;*/else/對應書籍借出bookcursel_find_book_show.Borrow_Out();/該讀者借書成功,可借書數(shù)目-1readerreader_count.BorrowBook();/清空讀者列表m_reader_id_show.ResetContent();/獲取讀者信息f_add_whole=readerreader_count.GetReader_Book_Item();/重新在讀者信息列表顯示m_reader_id_show.AddString(f_add_whole);讀者歸還圖書模塊此模塊實現(xiàn)了讀者將確定編號的圖書

31、歸還給圖書館的系列操作。通過在圖書信息對話框中的圖書編號編輯框輸入欲還書的編號,然后查找到該圖書,之后鼠標單擊歸還圖書按鈕就會彈出還書對話框。在還書對話框中的讀者編號編輯框中輸入欲還書的讀者編號,單擊確認讀者,如果讀者存在,則將對應讀者信息在下方列表框中顯示,如果不存在則提示使用者無此讀者。在鼠標單擊確認還書之后,讀者可借書數(shù)量加一,關閉還書對話框后,會看到圖書信息檢索列表框和圖書信息總覽列表框中的對應剛還的書的數(shù)量也會加一,從而實現(xiàn)了還書的功能。在圖書信息對話框中還書操作的程序段如下:void CBookItemDlg:OnBottonReturnBook() /=還書/ TODO: Add

32、 your control notification handler code hereUpdateData();CString f_add_whole;CReturnBookDlg ReturnBookDlg;if(cursel_find_book_show!=-1)/對應選中書籍if(book_num=0)MessageBox("對不起,當前沒有圖書!");return;ReturnBookDlg.DoModal();/刪除原行m_all_book_show.DeleteString(cursel_find_book_show);/清空列表框m_find_book_sh

33、ow.ResetContent();/顯示新數(shù)據m_find_book_show.AddString(bookcursel_find_book_show.GetBookItem(f_add_whole);m_all_book_show.AddString(bookcursel_find_book_show.GetBookItem(f_add_whole);else MessageBox("沒有選中!");return;UpdateData(false);還書對話框設計如下圖:確定還書程序段如下:void CReturnBookDlg:OnConfReturn() /確定還書

34、/ TODO: Add your control notification handler code hereCString f_add_whole;/對應書籍歸還bookcursel_find_book_show.Return();/該讀者還書成功,可借書數(shù)目-1readerreader_count.ReturnBook();/清空讀者列表m_returnbook_reader_show.ResetContent();/獲取讀者信息f_add_whole=readerreader_count.GetReader_Book_Item();/重新在讀者信息列表顯示m_returnbook_rea

35、der_show.AddString(f_add_whole);4關鍵技術和算法(1)對讀者信息進行修改void CChange:OnBottonChange() / TODO: Add your control notification handler code hereCString f_reader_name,f_reader_num,f_reader_phone,f_add_whole;CString /*讀者編號校驗變量*/check_reader_num;/在編輯框中獲取讀者信息GetDlgItem(IDC_EDIT_READER_NUM)->GetWindowText(f_

36、reader_num);/讀者編號校驗變量獲得輸入的編號check_reader_num=f_reader_num;/插入重號處理操作for(int i=0;i<reader_num;i+)if(readeri.GetReaderNum()=check_reader_num&&(i!=cursel_ch)MessageBox("該讀者編號已存在,請核對!");/清空讀者編號校驗變量check_reader_num="&&&&&&&&&"return;GetDlgItem(IDC_EDIT_READER_NAME)->GetWindowText(f_reader_name);GetDlgItem(IDC_EDIT_R

溫馨提示

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

最新文檔

評論

0/150

提交評論