Windows编程大作业.docx
- 文档编号:712452
- 上传时间:2022-10-12
- 格式:DOCX
- 页数:24
- 大小:211.71KB
Windows编程大作业.docx
《Windows编程大作业.docx》由会员分享,可在线阅读,更多相关《Windows编程大作业.docx(24页珍藏版)》请在冰豆网上搜索。
Windows编程大作业
Windows编程课程作业
(2010-2011学年第2学期)
课程名称:
Windows编程技术
学号:
学生姓名:
专业班级:
学院:
学生成绩:
1引言
项目背景
随着人们只是层次的提高,图书馆成为日常生活中不可缺少的一部分。
而图书馆的存书量和业务量庞大,仅仅靠传统的记账管理是不可行的。
图书管理系统应运而生,并逐渐成为信息化建设的重要组成部分。
图书管理系统为学校或社会型图书馆的管理员提供所有借阅者信息,以及管内图书库存信息。
对借书与还书两大功能进行合理操纵。
在很大程度上方便了图书管理工作。
于是在课程设计方面选择了图书管理系统作为Windows编程课程设计的题目。
2需求分析
2.1程序功能
(1)读者信息的添加,删除,查找,修改,清空
(2)图书信息的添加,查找
(3)读者借书,还书功能
2.2数据
读者信息:
读者编号,姓名,联系电话
图书信息:
图书编号,名称,数量,类别
借阅信息:
读者编号,图书编号
2.3环境
开发环境:
MicrosoftVisualC++6.0
运行环境:
(1)硬件要求:
CPU奔腾4处理器以上
(2)软件要求:
XP/Vista操作系统
3总体设计
3.1总体架构
整个图书馆里系统分为四个模块。
分别为,读者信息模块,图书信息模块,图书借阅模块和读者还书模块。
各模块的主要功能如下:
3.2模块划分
(1)读者信息相关模块设计
在此模块中,创建一个新类,命名为ReaderInfomation,顾名思义,用来编写进行对读者信息各种操作的代码。
函数及变量一览如下:
实现读者信息相关操作,对于总对话框的设计如下图:
读者信息添加模块
此模块的功能是将借阅者信息保存到系统中,在这个模块中实现了对读者编号,姓名和联系电话的添加,并带有重号提醒功能。
添加成功的读者信息可以在读者信息总览列表框中显示出来。
参考程序段如下:
voidCReaderItem:
:
OnBottonAddReader()//添加读者信息
{
//TODO:
Addyourcontrolnotificationhandlercodehere
CStringf_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_num;
//插入重号处理操作
for(inti=0;i { if(reader[i].GetReaderNum()==check_reader_num) { MessageBox("该读者编号已存在,请核对! "); //清空读者编号校验变量 check_reader_num="&&&&&&&&&"; return; } } GetDlgItem(IDC_EDIT_READER_NAME)->GetWindowText(f_reader_name); GetDlgItem(IDC_EDIT_READER_PHONE)->GetWindowText(f_reader_phone); //添加读者信息-并保存到读者信息对象中 reader[reader_num].SaveReaderInformation(f_reader_num,f_reader_name,f_reader_phone); //初始化读者可借书籍数目 reader[reader_num].InitReader_borrow_book_num();//初始化后,读者可借书籍数目总数为10 //读者总数+1 reader_num++;//读者总数+1 //连接总串 f_add_whole=f_reader_num+""+f_reader_name+""+f_reader_phone; //在添加读者信息列表框显示 m_all_reader_show.AddString(f_add_whole); MessageBox("添加成功! "); } 读者信息查找模块 此模块的功能实在已添加的读者信息中通过输入的读者编号找到想要查找对应的读者信息。 并带有刷新查找列表框,排除在同一列表框显示多人混淆目标的情况,以及对查无对应读者信息的提示处理。 具体程序段如下: voidCReaderItem: : OnBottonFindReader()//查找读者信息 { //TODO: Addyourcontrolnotificationhandlercodehere CStringf_reader_num,f_add_whole; CString/*读者编号校验变量*/check_reader_num; intcheck_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(inti=0;i { if(reader[i].GetReaderNum()==check_reader_num) { //获取读者信息 reader[i].GetReaderItem(f_add_whole); //显示在列表框中 m_find_reader_show.AddString(reader[i].GetReaderItem(f_add_whole)); //置找到标志为1 check_flag=1; //清空读者编号校验变量 check_reader_num="&&&&&&&&&"; } } if(check_flag==0)MessageBox("对不起,查无此读者! "); } 读者信息删除模块 此模块对要清除的读者信息进行删除,不但从列表框能清楚对应读者的信息,也能在内存中实际删除信息,实现显示与控制同步的过程。 并带有提示请使用者确定是否删除的选择权。 具体程序段如下: voidCReaderItem: : OnBottonDelReader2()//删除读者信息函数 { //TODO: Addyourcontrolnotificationhandlercodehere intcursel=m_all_reader_show.GetCurSel();//光标锁定 if(cursel==-1) { MessageBox("没有选中"); return; } else { if(IDYES==MessageBox("是否删除","删除对话框",MB_ICONHAND|MB_YESNO)) { for(intk=cursel;k reader[k]=reader[k+1]; m_all_reader_show.DeleteString(cursel); reader_num--; } } } 读者信息修改模块 此模块是对读者信息进行修改,通过选中列表框的读者信息条目,用双击鼠标消息响应来弹出修改窗口,让使用者将修改的数据重新填入,并将修改后的数据重新显示在列表框内。 具体程序段如下: voidCReaderItem: : OnDblclkAllReaderList()//修改读者信息引入函数 { //TODO: Addyourcontrolnotificationhandlercodehere UpdateData(); CStringstradd; cursel_ch=m_all_reader_show.GetCurSel();//选定的行 CChangechange; change.DoModal(); m_all_reader_show.DeleteString(cursel_ch);//删除原行 m_all_reader_show.AddString(reader[cursel_ch].GetReaderItem(stradd));//显示新信息 UpdateData(false); } //双击后,将弹出新对话框,如下图: 对于上图中修改对话框的程序段,如下: voidCChange: : OnBottonChange() { //TODO: Addyourcontrolnotificationhandlercodehere CStringf_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_num; //插入重号处理操作 for(inti=0;i { if(reader[i].GetReaderNum()==check_reader_num&&(i! =cursel_ch)) { MessageBox("该读者编号已存在,请核对! "); //清空读者编号校验变量 check_reader_num="&&&&&&&&&"; return; } } GetDlgItem(IDC_EDIT_READER_NAME)->GetWindowText(f_reader_name); GetDlgItem(IDC_EDIT_READER_PHONE)->GetWindowText(f_reader_phone); //将新信息存到读者对象中 reader[cursel_ch].SetReaderItem(f_reader_num,f_reader_name,f_reader_phone); CDialog: : OnOK(); } 读者信息清空模块 此模块只清空除读者信息总览列表框以外的控件内信息。 只要点击清除按钮,就可以实现此功能。 具体程序段如下: voidCReaderItem: : OnBottonCleanReader()//清空读者信息显示函数 { //TODO: Addyourcontrolnotificationhandlercodehere //清编辑框 GetDlgItem(IDC_EDIT_READER_NUM)->SetWindowText(""); GetDlgItem(IDC_EDIT
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- Windows 编程 作业
![提示](https://static.bdocx.com/images/bang_tan.gif)