Windows编程大作业_第1页
Windows编程大作业_第2页
Windows编程大作业_第3页
Windows编程大作业_第4页
Windows编程大作业_第5页
已阅读5页,还剩22页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、Windows编程课程作业(20 10 -20 11 学年第 2 学期)课程名称: Windows编程技术 学 号: 学生姓名: 专业班级: 学 院:学生成绩: 1引言项目背景随着人们只是层次的提高,图书馆成为日常生活中不可缺少的一部分。而图书馆的存书量和业务量庞大,仅仅靠传统的记账管理是不可行的。图书管理系统应运而生,并逐渐成为信息化建设的重要组成部分。图书管理系统为学校或社会型图书馆的管理员提供所有借阅者信息,以及管内图书库存信息。对借书与还书两大功能进行合理操纵。在很大程度上方便了图书管理工作。于是在课程设计方面选择了图书管理系统作为Windows编程课程设计的题目。2 需求分析2.1程

2、序功能(1)读者信息的添加,删除,查找,修改,清空(2)图书信息的添加,查找(3)读者借书,还书功能2.2数据读者信息:读者编号,姓名,联系电话图书信息:图书编号,名称,数量,类别借阅信息:读者编号,图书编号2.3环境开发环境:Microsoft Visual C+6.0运行环境:(1)硬件要求:CPU奔腾4处理器以上(2)软件要求:XP/Vista操作系统3 总体设计3.1总体架构整个图书馆里系统分为四个模块。分别为,读者信息模块,图书信息模块,图书借阅模块和读者还书模块。各模块的主要功能如下:3.2模块划分(1)读者信息相关模块设计在此模块中,创建一个新类,命名为ReaderInfomat

3、ion,顾名思义,用来编写进行对读者信息各种操作的代码。函数及变量一览如下:实现读者信息相关操作,对于总对话框的设计如下图:读者信息添加模块此模块的功能是将借阅者信息保存到系统中,在这个模块中实现了对读者编号,姓名和联系电话的添加,并带有重号提醒功能。添加成功的读者信息可以在读者信息总览列表框中显示出来。参考程序段如下:void CReaderItem:OnBottonAddReader() /添加读者信息/ TODO: Add your control notification handler code hereCString f_reader_name,f_reader_num,f_rea

4、der_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;iGetWindowText(f_reader_name);GetDlgItem(IDC_EDIT_READER_PHONE)-GetWindowText(f_reader_phone);/添加读者信息-

5、并保存到读者信息对象中readerreader_num.SaveReaderInformation(f_reader_num,f_reader_name,f_reader_phone);/初始化读者可借书籍数目readerreader_num.InitReader_borrow_book_num();/初始化后,读者可借书籍数目总数为10/读者总数+1reader_num+;/读者总数+1/连接总串f_add_whole=f_reader_num+ +f_reader_name+ +f_reader_phone;/在添加读者信息列表框显示m_all_reader_show.AddString(

6、f_add_whole);MessageBox(添加成功!);读者信息查找模块此模块的功能实在已添加的读者信息中通过输入的读者编号找到想要查找对应的读者信息。并带有刷新查找列表框,排除在同一列表框显示多人混淆目标的情况,以及对查无对应读者信息的提示处理。具体程序段如下:void CReaderItem:OnBottonFindReader() /查找读者信息/ TODO: Add your control notification handler code hereCString f_reader_num,f_add_whole;CString /*读者编号校验变量*/check_reader

7、_num;int check_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;ireader_num;i+)/进行查找if(readeri.GetReaderNum()=check_reader_num)/获取读者信息readeri.GetReaderIte

8、m(f_add_whole);/显示在列表框中m_find_reader_show.AddString(readeri.GetReaderItem(f_add_whole);/置找到标志为1check_flag=1;/清空读者编号校验变量check_reader_num=&;if(check_flag=0)MessageBox(对不起,查无此读者!);读者信息删除模块此模块对要清除的读者信息进行删除,不但从列表框能清楚对应读者的信息,也能在内存中实际删除信息,实现显示与控制同步的过程。并带有提示请使用者确定是否删除的选择权。具体程序段如下:void CReaderItem:OnBottonDe

9、lReader2() /删除读者信息函数/ TODO: Add your control notification handler code hereint cursel=m_all_reader_show.GetCurSel();/光标锁定if(cursel=-1)MessageBox(没有选中);return;else if(IDYES=MessageBox(是否删除,删除对话框,MB_ICONHAND|MB_YESNO)for(int k=cursel;kGetWindowText(f_reader_num);/读者编号校验变量获得输入的编号check_reader_num=f_read

10、er_num;/插入重号处理操作for(int i=0;iGetWindowText(f_reader_name);GetDlgItem(IDC_EDIT_READER_PHONE)-GetWindowText(f_reader_phone);/将新信息存到读者对象中readercursel_ch.SetReaderItem(f_reader_num,f_reader_name,f_reader_phone);CDialog:OnOK();读者信息清空模块此模块只清空除读者信息总览列表框以外的控件内信息。只要点击清除按钮,就可以实现此功能。具体程序段如下:void CReaderItem:On

11、BottonCleanReader() /清空读者信息显示函数/ TODO: Add your control 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.Rese

12、tContent();(2) 图书信息相关模块设计此模块是对图书馆内图书信息进行操作的部分,图书信息包括图书编号,图书类别和图书的库存数量。在模块中可以实现对图书信息的添加、查找、借书和还书功能。对话框窗口设计如下图:在程序内部,创建了一个新类,通过各种成员函数来实现对应的图书信息操作。类成员列表如下图: 图书信息添加模块此模块的作用类似于读者信息添加模块,可以对图书信息进行添加,并实现了重号报错等功能。添加成功的信息可以在图书信息总览列表框内显示出来。具体程序段如下:void CBookItemDlg:OnBottonAddBook() /添加图书信息/ TODO: Add your con

13、trol 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;/插入重号处理操作for(int i

14、=0;iGetWindowText(f_book_name);GetDlgItem(IDC_EDIT_BOOK_NUM)-GetWindowText(f_book_num_cstring);/将图书信息对象中的图书数量变量进行转换,将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_code+ +f_book_name+ +f_bo

15、ok_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(添加成功!);图书信息查找模块此模块是对确定了图书编号的图书进行查找的部分,通过在图书编号编辑框输入想要查找的图书编号,然后鼠标单击查找图书按钮,就会在查找列表框显示对应的图书信息,但是若欲查找的图书编号不存在,则提示说此图书不

16、存在。具体程序段如下: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_show.ResetContent();/在编辑框中获取图书信息GetDlgItem(IDC_EDIT_BOOK_CODE)-GetWindowTex

17、t(f_book_code);/读者编号校验变量获得输入的编号check_book_code=f_book_code;for(int i=0;iGetWindowText(f_reader_num);/读者编号校验变量获得输入的编号check_reader_num=f_reader_num;/插入重号处理操作for(int i=0;iGetWindowText(f_reader_name);GetDlgItem(IDC_EDIT_READER_PHONE)-GetWindowText(f_reader_phone);/将新信息存到读者对象中readercursel_ch.SetReaderIt

18、em(f_reader_num,f_reader_name,f_reader_phone);CDialog:OnOK();(2)图书借阅时对库中存书数目的更改void CBookItemDlg:OnBottonBorrowBook() /借阅图书/ TODO: Add your control notification handler code hereUpdateData();CString f_add_whole;int get_book_num;CBorrowBookDlg BorrowBookDlg;if(cursel_find_book_show!=-1)/对应选中书籍/获得图书剩余数量get_book_num=bookcursel_find_book_show.GetBookNum();if(book_num=0)MessageBox(对不起,当前没有图书!);return;if(get_book_num=0)MessageBox(对不起,该图书数量为0,无法借出!);return;BorrowBookDlg.DoModal();/删除

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

最新文档

评论

0/150

提交评论