您好,欢迎访问三七文档
当前位置:首页 > IT计算机/网络 > 数据库 > mfc界面的图书管理系统
目录1.设计目的.........................................12.问题描述.........................................23.需求分析.........................................23.1数据需求.....................................23.2基本功能需求.................................23.3非功能性需求.................................34.概要设计.........................................35.详细设计.........................................55.4.1增加书籍..................................205.4.2删除书籍..................................215.4.3查询书籍..................................216.调试分析........................................227.使用说明........................................238.设计总结........................................269.参考文献........................................27第1页共28页《数据结构》课程设计图书管理1.设计目的“数据结构”是计算机科学与技术专业一门十分重要的专业技术基础课,计算机科学各领域及有关的应用软件都要使用到各种数据结构。对于从事计算机科学及其应用的科技工作者来说,数据结构与算法是必须透彻地掌握的重要基础。学习数据结构与算法的最终目的是解决实际的应用问题,特别是非数值计算类型的应用问题。课程设计是加强学生实践能力的一个强有力手段。课程设计所安排的题目,在难度和深度方面都大于平时的上机训练,要求同学在完成设计和编写中小型软件的过程中,深化对数据结构与算法课程中基本概念、理论和方法的理解;训练综合运用所学知识处理实际问题的能力,强化面向对象的程序设计理念;使同学的程序设计与调试水平有一个明显的提高。课程设计要求学生在完成程序设计的同时能够撰写比较规范的设计报告。严格实施课程设计这一环节,对于学生基本程序设计素养的培养和软件工作者工作作风的训练,将起到显著的促进作用。第2页共28页2.问题描述采用VisualC++编程语言开发工具和MFC,设计并实现图书管理系统。该系统实现了图书管理中的添加,查询,删除,全部查询,退出等功能,以及汇总图书清单,包括对书籍各项信息的汇总。3.需求分析3.1数据需求图书信息:书名,所属类型,作者,定价,出版日期以及ISBN。3.2基本功能需求1.汇总图书清单,包括对书籍各项信息的汇总;(各项信息包括书名,所属类型,作者,定价,出版日期以及ISBN。)2.对书籍信息的增、删、查、全部查询等功能。其中删除功能主要依靠第一无二的ISBN,查询功能可以依靠任何一种图书信息(即书名,所属类型,作者,定价,出版日期以及ISBN任意一种)。第3页共28页3.3非功能性需求用户界面需求:简洁、易用、易懂、友好的用户界面。硬件要求:装有VisualC++6.0的计算机。可靠性需求:保证用户在正常使用本系统时,用户的操作或误操作不会产生数据的丢失。4.概要设计4.1数据结构用结构struct定义图书信息,用链表实现对图书信息的存储及维护。以文件的形式保存图书信息到硬盘。4.2系统包含的函数函数原型:voidCAddDlg::OnButtonAdd()功能:在链表结尾添加一个结点并将链表信息存入文件“图书管理.txt”函数原型:voidCChaxunDlg::OnButtonChaxun()功能:完成查找用户信息的功能并在编辑框和用户列表中显示出第4页共28页来函数原型:voidCDelDlg::OnButton1()功能:删除链表和用户列表的当前结点函数原型:voidCLookDlg::OnButtonDialog()功能:在编辑框和用户列表中显示全部书籍出来4.3函数间的关系1.进入程序调用booklist()从硬盘读取数据,并将信息放入链表中。2.用函数CDelDlg::OnButton1()删除链表和用户列表的当前结点。3.可用函数CAddDlg::OnButtonAdd()在链表结尾添加一个结点并在用户列表中显示4.CChaxunDlg::OnButtonChaxun()可实现按不同方式进行图书查询。5.CLookDlg::OnButtonDialog()在编辑框和用户列表中显示全部书籍出来。第5页共28页4.4系统功能模块图图4-1系统功能模块图5.详细设计5.1结构体的详细定义按书名按从书类型按作者按出版日期按价格按ISBN图书管理系统添加书目查询书目删除书目查询全部书籍退出系统第6页共28页classbooklist{public:CStringbookname;//书名CStringcongshuname;//丛书种类CStringwriter;//作者CStringprice;//价格CStringdateyear;//出版年份CStringdatemonth;//出版月份CStringISBN;booklist*next;};5.2系统函数详细介绍增加书籍:voidCAddDlg::OnButtonAdd(){//TODO:AddyourcontrolnotificationhandlercodehereUpdateData();externbooklist*head_book;if(m_bookname==||m_congshuname==||m_isbn==||m_month==||m_price==||m_writer==||m_year==)MessageBox(请填写完整图书信息);else{booklist*p=head_book;第7页共28页booklist*Book=newbooklist;Book-next=NULL;Book-bookname=m_bookname;Book-congshuname=m_congshuname;Book-datemonth=m_month;Book-dateyear=m_year;Book-ISBN=m_isbn;Book-price=m_price;Book-writer=m_writer;if(head_book==NULL)head_book=Book;else{if(p-ISBNm_isbn){Book-next=head_book;head_book=Book;}else{while(p-next){if(p-next-ISBNm_isbn){Book-next=p-next;第8页共28页p-next=Book;break;}p=p-next;}}if(p-next==NULL)p-next=Book;}MessageBox(添加成功);char*pszFileName=.\\data.txt;CStdioFilemyFile;CFileExceptionfileException;CStringstr;if(!myFile.Open(pszFileName,CFile::modeCreate|CFile::modeReadWrite,&fileException)){MessageBox(打开失败);TRACE(Cannotopenfile%s,error=%u\n,pszFileName,fileException.m_cause);}myFile.SeekToEnd();myFile.WriteString(书名,丛书名,作者,定价(元),出版年月,ISBN);第9页共28页myFile.WriteString(\n);//externbooklist*head_book;for(p=head_book;p;p=p-next){str.Format(%s,%s,%s,%s,%s.%s,%s,p-bookname,p-congshuname,p-writer,p-price,p-dateyear,p-datemonth,p-ISBN);myFile.SeekToEnd();myFile.WriteString(str);myFile.WriteString(\n);}//DestroyWindow(this);CDialog::OnCancel();}}BOOLCAddDlg::OnInitDialog(){CDialog::OnInitDialog();//TODO:Addextrainitializationherem_isbn=978-7-115-;UpdateData(FALSE);returnTRUE;//returnTRUEunlessyousetthefocusto//acontrol//EXCEPTION:OCXPropertyPagesshould第10页共28页//returnFALSE}voidCAddDlg::OnCancel2(){//TODO:Addyourcontrolnotificationhandlercodeherem_bookname==;m_congshuname==;m_isbn==;m_month==;m_price==;m_writer==;m_year==;UpdateData(FALSE);}查询书籍:BOOLCChaxunDlg::OnInitDialog(){CDialog::OnInitDialog();LONGlStyle;lStyle=GetWindowLong(m_list.m_hWnd,GWL_STYLE);//获//取当前窗口stylelStyle&=~LVS_TYPEMASK;//清除显示方式位lStyle|=LVS_REPORT;//设置style第11页共28页SetWindowLong(m_list.m_hWnd,GWL_STYLE,lStyle);//设置//styleDWORDdwStyle=m_list.GetExtendedStyle();dwStyle|=LVS_EX_FULLROWSELECT;//选中某行使整行高亮//(只适用与report风格的listctrl)dwStyle|=LVS_EX_GRIDLINES;//网格线(只适用与report//风格的listctrl)//dwStyle|=LVS_EX_CHECKBOXES;//item前生成checkbox控件m_list.SetExtendedStyle(dwStyle);//设置扩展风格m_list.InsertColumn(0,书名,LVCFMT_LEFT,190);//插入列m_list.InsertColumn(1,丛书名,LVCFMT_LEFT,100);m_list.InsertColumn(2,作者,LVCFMT_LEFT,120);m_list.InsertColumn(3,定价,LVCFMT_LEFT,50);m_list.InsertColumn(4,出版日期,LVCFMT_LEFT,80);m_list.InsertColumn(5,ISBN,LVCFMT_LEFT,140);//TODO:Addextrainitializationherem_bookname=不限;m_isbn=不限;m_price=不限;m_year=不限;m_month=不限;第12页共28页m_writer=不限;m_congshuname=不限;UpdateData(FALSE);retu
本文标题:mfc界面的图书管理系统
链接地址:https://www.777doc.com/doc-2888505 .html