mfc界面图书管理系统

合集下载

MFC图书借阅系统课程设计

MFC图书借阅系统课程设计

MFC图书借阅系统课程设计一、课程目标知识目标:1. 学生能够掌握MFC编程基础知识,理解图书借阅系统的功能需求与数据结构。

2. 学生能够运用面向对象编程思想,设计并实现图书借阅系统的各功能模块。

3. 学生了解数据库操作的基本方法,能够使用SQL语句实现图书信息的增删改查。

技能目标:1. 学生通过本课程学习,具备使用MFC进行Windows应用程序开发的能力。

2. 学生能够运用所学知识,独立设计并实现一个简单的图书借阅系统,包括用户登录、图书查询、借阅和归还等功能。

3. 学生能够在课程实践中掌握软件开发的基本流程,提高团队协作能力。

情感态度价值观目标:1. 学生在学习过程中,培养对计算机编程的兴趣和热情,增强信息素养。

2. 学生通过课程实践,认识到编程在解决实际问题中的应用价值,提高创新意识和实践能力。

3. 学生在团队合作中,学会尊重他人,培养良好的沟通能力和团队精神。

课程性质:本课程为高年级计算机科学与技术专业的选修课程,旨在巩固学生的编程基础,提高实际项目开发能力。

学生特点:学生已具备一定的编程基础和面向对象编程思想,具有较强的学习能力和实践能力。

教学要求:结合课程性质和学生特点,注重理论与实践相结合,强调动手实践和团队协作,培养学生的实际项目开发能力。

通过课程目标的分解,使学生在完成具体学习成果的过程中,达到课程目标的要求。

后续教学设计和评估将围绕课程目标进行,确保学生能够取得预期的学习成果。

二、教学内容1. MFC编程基础:复习MFC框架、控件使用、事件处理等基础知识,涉及教材第3章至第5章内容。

- 窗口与视图- 控件使用与事件处理- 文档/视图结构2. 面向对象设计与实现:结合图书借阅系统需求,讲解如何运用面向对象编程思想进行模块设计,涉及教材第2章内容。

- 类与对象- 继承与多态- 接口与实现3. 数据库操作:介绍数据库的基本操作,以SQL语句为核心实现图书信息的管理,涉及教材第7章内容。

C 语言课程设计 MFC设计 图书管理系统

C  语言课程设计  MFC设计  图书管理系统

天津理工大学聋人工学院《C++语言课程设计》专业:网络工程年级: 2015级一班姓名:胡志冲学号:成绩:完成日期: 20161220目录第一章简介 (1)1.1设计题目 (1)1.2指导教师 (1)第二章《图书管理系统》设计意义 (2)2.1设计内容概述 (2)2.2需求分析 (2)2.3设计意义 (2)第三章总体设计 (3)3.1系统运行环境 (3)3.2系统结构图 (3)3.3系统各模块的功能 (4)3.4对象数据结构 (7)第四章详细设计 (8)4.1程序源代码 (8)4.1.1登陆模块 (8)4.1.2注册模块 (11)4.1.3主菜单模块 (13)4.1.4编辑模块 (17)4.1.5查询模块 (27)4.1.6浏览模块 (34)4.1.7设置模块 (39)4.1.8组合框模块 (41)4.1.9图书信息模块 (43)4.1.10资源文件 (45)4.2系统测试 (55)4.2.1登陆对话框 (55)4.2.2编辑对话框 (58)4.2.3浏览对话框 (62)4.2.4查询对话框 (66)4.2.5设置对话框 (71)4.2.6退出 (73)4.2.7测试结束运行 (73)4.3问题分析 (73)第五章结论 (80)参考文献 (81)第一章简介1.1 设计题目图书管理系统1.2 指导教师第二章《图书管理系统》设计意义2.1 设计内容概述本课程设计图书管理系统,必修要满足使用方便、操作灵活和数据安全等设计需求。

本系统在设计时应满足以下几个目标:1.采用人机对话的操作方式,界面设计美观友好,操作灵活、方便、快捷、准确数据保存安全可靠。

2.实现对图书信息的管理功能。

3.系统运行稳定、安全可靠。

2.2需求分析信息技术的飞速发展给图书企业的管理带来了全新的变革.采用图书管理系统对图书企业的经营运作进行全程管理.不仅可以使企业摆脱以往人工管理产生的一系列问题,而且可以提高管理效率、降低管理成本、增加经济效益。

MFC图书馆管理系统

MFC图书馆管理系统

MFC图书馆管理系统MFC课程设计图书馆管理系统图书馆管理系统院系: 计算机科学技术学院二系班级: 计07 – 2班姓名: 白杨(07)合作者: 刘飞指导教师: 王双利2010 年 01 月 4 日MFC课程设计任务书一、题目:图书馆管理系统二、设计要求(1)刘飞(组长)和白杨组成设计小组。

(2)小组成员分工协作完成。

要求每个成员有自己相对独立的模块,同时要了解其他组员完成的内容。

(3)查阅相关资料,自学具体课题中涉及到的新知识。

(4)采用结构化、模块化程序设计方法设计,功能要完善,界面美观。

(5)所设计的系统要至少应用一个课程中或者与其密切相关的算法。

(6)按要求写出课程设计报告。

其主要内容包括:封皮、课程设计任务书,指导教师评语与成绩、目录、概述、软件总体设计、详细设计、软件的调试、总结、附录:带中文注释的程序清单、参考文献。

报告一律用A4纸打印,中文字体为宋体,西文字体用Time New Roma,一律用小四号字,行距采用“固定值”18磅,首行缩进2字符。

总体设计应配合软件总体模块结构图来说明软件应具有的功能。

详细设计阐述本人设计模块部分的设计思想、应用到的理论和算法、程序流程等等,调试的叙述应配合出错场景的抓图来说明出现了哪些错误,如何解决的。

(7)课程设计报告中的软件总体设计、详细设计、软件的调试等主体内容要以文字描述、图表等形式为主,可配以主要核心代码,在附录中附程序清单。

三、课程设计工作量由于是设计小组团结协作完成设计任务,一般每人的程序量在200行有效程序行左右,不得抄袭。

四、课程设计工作计划2009年12月07日,指导教师讲课,学生根据题目准备资料;2009年12月08日,设计小组进行总体方案设计和任务分工;2009年12月09日,2009年12月14日,每人完成自己承担的程序模块并通过独立编译;2009年12月15日,2009年12月17日,将各模块集成为一个完整的系统,并录入足够的数据进行调试运行;2009年12月18日,验收、开始撰写报告;2009年12月21日前,提交课程设计报告。

mfc综合程序设计入门------图书馆管理系统设计

mfc综合程序设计入门------图书馆管理系统设计
ቤተ መጻሕፍቲ ባይዱ
5.11 图书馆管理系统设计
——对象与类的识别
2、对象属性的识别
每个对象的情况称为对象的属性,同类型 的对象具有共同的属性,只是每个对象的属性 值不一定相同。属性是对一个对象状态的描述。
同一个类(对象),从不同的角度分析,或根 据要求的不同,描述它的属性也可能不一致。



如“在馆图书类”,从流通管理的角度来看,应包含 书名Title、作者名Author、分类号IndexCode、册 数Number、条码号BarCode等属性。 读者类,包含姓名Name、职务Position、年龄Age、 借书证编号Code等。一个读者允许借阅若干册书, 在此用一个Item的数组items保存相应信息。另外对 读者所借书册数要统计,定义一个计数的成员 Counter; 图书借阅信息类,包含所借书item、借书人reader、 借书操作员manager等; 管理人员类,包含姓名Name、年龄Age、工号Code 等;



图书馆流通系统内,有书、读者、借书证、管 理人员、借书还书行为等对象和事件,他们分 别各是一个群体。例如每个图书馆都有几万甚 至几十万册图书,每册图书都是一个对象,它 们形成图书类(暂用Item款目表示)。在图书 流通系统内,还有以下类: 读者(Reader)类,图书借阅信息类(Loan), 管理人员类(Manager),是借书还书行为的 操作人。 借书证对象只作为读者类的一个数据成员。
进一步分析我们可以发现,全局函数都是针对图 书馆业务的,而main函数中定义的几个数组: Item item[100]; Reader reader[100]; Loan loan[100]; Manager manager[30]; 它们都是图书馆业务的承载者,是全局函数操作 的对象,与函数有着密切关系。

C++语言课程设计--MFC设计--图书管理系统

C++语言课程设计--MFC设计--图书管理系统

一、选择题,(每题1分,共40分)天津理工大学聋人工学院《C++语言课程设计》专业:网络工程年级:2015级一班姓名:胡志冲学号:成绩:完成日期:20161220目录第一章简介 ........................................ 错误!未指定书签。

1.1设计题目....................................... 错误!未指定书签。

1.2指导教师....................................... 错误!未指定书签。

第二章《图书管理系统》设计意义 ...................... 错误!未指定书签。

2.1设计内容概述................................... 错误!未指定书签。

2.2需求分析....................................... 错误!未指定书签。

2.3设计意义....................................... 错误!未指定书签。

第三章总体设计 ...................................... 错误!未指定书签。

3.1系统运行环境................................... 错误!未指定书签。

3.2系统结构图..................................... 错误!未指定书签。

3.3系统各模块的功能............................... 错误!未指定书签。

3.4对象数据结构................................... 错误!未指定书签。

第四章详细设计 ...................................... 错误!未指定书签。

4.1程序源代码..................................... 错误!未指定书签。

用C做图书管理系统的简易步骤

用C做图书管理系统的简易步骤

C++程序设计课程设计——图书管理系统一、目的与要求学生已学完《C++语言程序设计》课程,并进行了第一次课程设计,学习了如何将有关处理文件的数据结构和操作进行封装,从而掌握了C++语言程序设计中的一些基本知识与方法,且对抽象、封装、继承与多态有了一定的了解。

为巩固C++有关知识,加强面向对象编程的方法训练,增加学生软件设计能力和动手能力,学习使用现有工具,特设计了这个利用MFC类开发一个小型完整应用程序的题目。

主要要求如下:通过本课程设计,学生应达到以下要求:1、学会在自己的软件工程中利用MFC提供的成熟数据类型(class),这里主要要用的类有,CString,CFile,CArchive,CObject以及CObArray等一些通用类;2、掌握冒泡法。

掌握数据类型大小(operator < 或operator >)的重载,进而利用冒泡法对数据进行排序。

3、学习MFC中数据序列化(Serialize)的方法,掌握如何利用MFC提供的数据类型进行数据序列化。

二、设计任务题目:图书管理系统要求:设计一个小型图书管理系统。

1)数据上要求保存图书的如下几各方面的信息编号(应是图书的唯一标识符)、分类号、书名、作者、出版社(版次)、出版日期、单价、借阅者、借出日期、归还日期。

借阅者要有,证件编号、姓名、性别、类别(大学生、研究生、教师等)。

日期数据应包含,年、月、日。

2)界面上要含有以下主要功能主菜单:预览,添加,删除,排序,查找,修改,借书、还书、打印催还书通知,保存,退出等预览选择此菜单,列出所有图书;添加选择此菜单,由用户在系统的提示下输入图书资料,系统根据用户资料添加图书;删除让用户选择按照什么原则删除;排序让用户选择排序的原则,比如按人名排序、按书名排序等;查找由用户给出查找的依据,书名、作者或借阅者等,然后根据用户所给信息进行查找,并列出查找结果;修改利用查找功能将用户要修改的图书显示出来,然后提供一个接口让用户修改数据。

C MFC 图书馆管理系统 需求分析及进度计划

C   MFC 图书馆管理系统 需求分析及进度计划

东南大学自动化学院《计算机综合课程设计》需求分析及进度计划小组编号:___07__________________小组成员:学号姓名角色08007236梁文卓程序员08007201孟玉静程序员08007202王璐婷测试员设计时间:2007年8月20日–2007年9月14日评定成绩:评阅教师:李骏扬目录一.项目背景及客户需求分析 (3)二.风险评估 (3)三.团队组织 (4)四.进度计划 (4)一.项目背景及用户需求分析随着人们知识层次的提高,图书馆成为日常生活中不可缺少的一部分。

而图书馆的存书量和业务量庞大,仅仅靠传统的记账式管理是不可行的。

图书馆管理系统应运而生,逐渐成为信息化建设的重要组成部分。

图书馆管理系统为学校或社会型图书馆的管理员提供所有借阅者的详细信息,以及馆内库存的详细情况,对借书和还书两大功能进行合理操纵并登记。

整个图书馆管理系统可分为四大模块,分别是书库管理模块、借阅管理模块、读者管理模块和系统管理模块,以满足用户的需求。

下面我们将详细介绍各个模块的功能。

书库管理模块用于对图书信息的设置。

包括新书入库,书籍查询,旧书处理,挂失处理等功能。

其中图书信息包括图书ID、书名、作者、出版社、价格、入库时间、图书总量、现存总量。

借阅管理模块包括“图书借阅”和“图书归还”两部分。

“图书借阅”用于登记读者借阅图书的记录并减少图书在库的库存,登记内容包括借阅ID、借阅卡ID、图书ID、借阅时间;“图书归还”用于登记读者归还图书的记录并增加图书在库的库存,登记内容包括归还ID、借阅卡ID、图书ID、归还时间。

读者管理模块用于管理读者相关的信息。

读者管理模块主要功能有注册新读者信息、删除读者信息、修改读者信息、查询读者信息;读者信息包括读者ID、姓名、性别、出生日期、联系方式、地址、身份证号码、现借书总量。

系统管理模块主要是进行对管理员信息的管理。

该模块功能主要是管理员注册、登录,还有密码修改,查阅、删除管理员帐号。

mfc界面的图书管理系统

mfc界面的图书管理系统

目录
1.设计目的 (1)
2•问题描述 (2)
3. 需求分析 (2)
3.1数据需求 (2)
3.2基本功能需求 (2)
3.3非功能性需求 (3)
4. 概要设计 (3)
5. 详细设计 (5)
5.4.1增加书籍 (20)
5.4.2删除书籍 (21)
5.4.3查询书籍 (21)
6. 调试分析 (22)
7. 使用说明 (23)
8. 设计总结 (26)
9. 参考文献 (27)
《数据结构》课程设计
图书管理
1.设计目的
“数据结构”是计算机科学与技术专业一门十分重要的专业技术基础课,计算机科学各领域及有关的应用软件都要使用到各种数据结构。

对于从事计算机科学及其应用的科技工作者来说,数据结构与算法是必须透彻地掌握的重要基础。

学习数据结构与算法的最终目的是解决实际的应用问题,特别是非数值计算类型的应用问题。

课程设计是加强学生实践能力的一个强有力手段。

课程设计所安排的题目,在难度和深度方面都大于平时的上机训练,要求同学在完成设计和编写中小型软件的过程中,深化对数据结构与算法课程中基本概念、理论和方法的理解;训练综合运用所学知识处理实际问题的能力,强化面向对象的程序设计理念;使同学的程序设计与调试水平有一个明显的提高。

课程设计要求学生在完成程序设计的同时能够撰写比较规范的设计报告。

严格实施课程设计这一环节,对于学生基本程序设计素养的培养和软件工作者工作作风的训练,将起到显著的促进作用。

第1页共28页。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

目录1.设计目的 (1)2.问题描述 (2)3.需求分析 (2)3.1 数据需求 (2)3.2 基本功能需求 (2)3.3 非功能性需求 (3)4.概要设计 (3)5.详细设计 (5)5.4.1增加书籍 (20)5.4.2 删除书籍 (21)5.4.3 查询书籍 (21)6.调试分析 (22)7.使用说明 (23)8.设计总结 (26)9.参考文献 (27)《数据结构》课程设计图书管理1.设计目的“数据结构”是计算机科学与技术专业一门十分重要的专业技术基础课,计算机科学各领域及有关的应用软件都要使用到各种数据结构。

对于从事计算机科学及其应用的科技工作者来说,数据结构与算法是必须透彻地掌握的重要基础。

学习数据结构与算法的最终目的是解决实际的应用问题,特别是非数值计算类型的应用问题。

课程设计是加强学生实践能力的一个强有力手段。

课程设计所安排的题目,在难度和深度方面都大于平时的上机训练,要求同学在完成设计和编写中小型软件的过程中,深化对数据结构与算法课程中基本概念、理论和方法的理解;训练综合运用所学知识处理实际问题的能力,强化面向对象的程序设计理念;使同学的程序设计与调试水平有一个明显的提高。

课程设计要求学生在完成程序设计的同时能够撰写比较规范的设计报告。

严格实施课程设计这一环节,对于学生基本程序设计素养的培养和软件工作者工作作风的训练,将起到显著的促进作用。

2.问题描述采用Visual C++编程语言开发工具和MFC,设计并实现图书管理系统。

该系统实现了图书管理中的添加,查询,删除,全部查询,退出等功能,以及汇总图书清单,包括对书籍各项信息的汇总。

3.需求分析3.1 数据需求图书信息:书名,所属类型,作者,定价,出版日期以及ISBN。

3.2 基本功能需求1.汇总图书清单,包括对书籍各项信息的汇总;(各项信息包括书名,所属类型,作者,定价,出版日期以及ISBN。

)2.对书籍信息的增、删、查、全部查询等功能。

其中删除功能主要依靠第一无二的ISBN,查询功能可以依靠任何一种图书信息(即书名,所属类型,作者,定价,出版日期以及ISBN任意一种)。

3.3 非功能性需求用户界面需求:简洁、易用、易懂、友好的用户界面。

硬件要求:装有Visual C++6.0的计算机。

可靠性需求:保证用户在正常使用本系统时,用户的操作或误操作不会产生数据的丢失。

4.概要设计4.1 数据结构用结构struct定义图书信息,用链表实现对图书信息的存储及维护。

以文件的形式保存图书信息到硬盘。

4.2 系统包含的函数函数原型:void CAddDlg::OnButtonAdd()功能:在链表结尾添加一个结点并将链表信息存入文件“图书管理.txt”函数原型:void CChaxunDlg::OnButtonChaxun()功能: 完成查找用户信息的功能并在编辑框和用户列表中显示出来函数原型:void CDelDlg::OnButton1()功能: 删除链表和用户列表的当前结点函数原型:void CLookDlg::OnButtonDialog()功能: 在编辑框和用户列表中显示全部书籍出来4.3 函数间的关系1.进入程序调用booklist()从硬盘读取数据,并将信息放入链表中。

2.用函数CDelDlg::OnButton1()删除链表和用户列表的当前结点。

3.可用函数CAddDlg::OnButtonAdd()在链表结尾添加一个结点并在用户列表中显示haxunDlg::OnButtonChaxun()可实现按不同方式进行图书查询。

5.CLookDlg::OnButtonDialog()在编辑框和用户列表中显示全部书籍出来。

4.4 系统功能模块图图4-1 系统功能模块图5.详细设计5.1 结构体的详细定义class booklist{public:CString bookname;//书名CString congshuname;//丛书种类CString writer;//作者CString price;//价格CString dateyear;//出版年份CString datemonth;//出版月份CString ISBN;booklist *next;};5.2 系统函数详细介绍增加书籍:void CAddDlg::OnButtonAdd(){// TODO: Add your control notification handler code here UpdateData();extern booklist *head_book;if(m_bookname==""||m_congshuname==""||m_isbn==""||m_m onth==""||m_price==""||m_writer==""||m_year=="")MessageBox("请填写完整图书信息");else{booklist *p=head_book;booklist *Book=new booklist; 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->ISBN>m_isbn){Book->next=head_book;head_book=Book;}else{while(p->next){if(p->next->ISBN>m_isbn){Book->next=p->next;p->next=Book;break;}p=p->next;}}if(p->next==NULL)p->next=Book;}MessageBox("添加成功");char* pszFileName = ".\\data.txt";CStdioFile myFile;CFileException fileException;CString str;if(!myFile.Open(pszFileName,CFile::modeCreate|CFile:: modeReadWrite,&fileException)){MessageBox("打开失败");TRACE("Cannotopenfile%s,error=%u\n",pszFileName,fileE xception.m_cause);}myFile.SeekToEnd();myFile.WriteString("书名,丛书名,作者,定价(元),出版年月, ISBN ");myFile.WriteString("\n");// extern booklist *head_book;for(p=head_book;p;p=p->next){str.Format("%s,%s,%s,%s,%s.%s,%s",p->bookname,p->cong shuname,p->writer,p->price,p->dateyear,p->datemonth,p->I SBN);myFile.SeekToEnd();myFile.WriteString(str);myFile.WriteString("\n");}// DestroyWindow(this);CDialog::OnCancel();}}BOOL CAddDlg::OnInitDialog(){CDialog::OnInitDialog();// TODO: Add extra initialization herem_isbn="978-7-115-";UpdateData(FALSE);return TRUE; // return TRUE unless you set the focus to //a control// EXCEPTION: OCX Property Pages should//return FALSE}void CAddDlg::OnCancel2(){// TODO: Add your control notification handler code here m_bookname=="";m_congshuname=="";m_isbn=="";m_month=="";m_price=="";m_writer=="";m_year=="";UpdateData(FALSE);}查询书籍:BOOL CChaxunDlg::OnInitDialog(){CDialog::OnInitDialog();LONG lStyle;lStyle = GetWindowLong(m_list.m_hWnd, GWL_STYLE);//获//取当前窗口stylelStyle &= ~LVS_TYPEMASK; //清除显示方式位lStyle |= LVS_REPORT; //设置styleSetWindowLong(m_list.m_hWnd, GWL_STYLE, lStyle);//设置//styleDWORD dwStyle = 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: Add extra initialization herem_bookname="不限";m_isbn="不限";m_price="不限";m_year="不限";m_month="不限";m_writer="不限";m_congshuname="不限";UpdateData(FALSE);return TRUE; // return TRUE unless you set the focus //to a control// EXCEPTION: OCX Property Pages should return FALSE }void CChaxunDlg::OnButtonChaxun(){// TODO: Add your control notification handler code here m_list.DeleteAllItems( );int i=0;//标记查找到的本数CString str;extern booklist *head_book;// m_ListBox.ResetContent();UpdateData();int nRow;for(booklist *p=head_book;p;p=p->next){if(m_bookname==""||m_bookname=="不限"||m_bookname==p->bookname)if(m_congshuname==""||m_congshuname=="不限"||m_congshuname==p->congshuname)if(m_writer==""||m_writer=="不限"||m_writer==p->writer)if(m_price==""||m_price=="不限"||m_price==p->price) if(m_isbn==""||m_isbn=="不限"||m_isbn==p->ISBN)if(m_year==""||m_year=="不限"||m_year==p->dateyear) if(m_month==""||m_month=="不限"||m_month==p->datemonth||m_month==p->datemonth.Left(2)| |(m_month==p->datemonth.Left(1)&&p->datemonth.Mid(1,1)== '(')){str.Format("%s",p->bookname);m_ListBox.AddString(str);str.Format("%s.%s",p->dateyear,p->datemonth);nRow = m_list.InsertItem(0, p->bookname);//插入行nRow = m_list.InsertItem(0, "sb");//插入行m_list.SetItemText(nRow, 1, p->congshuname);//设置数据m_list.SetItemText(nRow, 2, p->writer);//设置数据m_list.SetItemText(nRow, 3, p->price);//设置数据m_list.SetItemText(nRow, 4, str);//设置数据m_list.SetItemText(nRow, 5, p->ISBN);//设置数据i++;}}if(i==0)MessageBox("无此书");}删除书籍:void CDelDlg::OnButton1(){// TODO: Add your control notification handler code here UpdateData();int delbooknum=0;CString str;extern booklist *head_book;booklist *q,*p=head_book;//MessageBox(head_book->ISBN);while(p->ISBN==m_isbn){q=p;p=p->next;head_book=p;delbooknum++;delete q;}CString str1;if(head_book->next!=NULL){for(booklist *p=head_book;p;p=p->next){if(p->next!=NULL&&p->next->ISBN==m_isbn){str1.Format(" 书名: %s\nISBN: %s\n",p->next->bookname,p->next->ISBN);p->next=p->next->next;delbooknum++;}}}if(delbooknum==0)MessageBox("无此书","警告");else{str.Format("%s %d %s","已删除",delbooknum,"本");MessageBox(str1+str);char* pszFileName = ".\\data.txt";CStdioFile myFile;CFileException fileException;if(!myFile.Open(pszFileName,CFile::modeCreate|CFile:: modeReadWrite,&fileException)){MessageBox("打开失败");TRACE("Can not open file %s,error=%u\n",pszFileName,fileException.m_cause);}myFile.SeekToEnd();myFile.WriteString("书名,丛书名,作者,定价(元),出版年月, ISBN ");myFile.WriteString("\n");// extern booklist *head_book;for(booklist *p=head_book;p;p=p->next) {str.Format("%s,%s,%s,%s,%s.%s,%s",p->bookname,p->con gshuname,p->writer,p->price,p->dateyear,p->datemonth,p-> ISBN);myFile.SeekToEnd();myFile.WriteString(str);myFile.WriteString("\n");}CDialog::OnCancel();}}void CDelDlg::OnCancel(){// TODO: Add extra cleanup hereCDialog::OnCancel();}BOOL CDelDlg::OnInitDialog(){CDialog::OnInitDialog();// TODO: Add extra initialization herem_isbn="978-7-115-";UpdateData(FALSE);return TRUE; // return TRUE unless you set the focus toa control// EXCEPTION: OCX Property Pages should //return FALSE}查询全部书籍:BOOL CLookDlg::OnInitDialog(){CDialog::OnInitDialog();LONG lStyle;lStyle = GetWindowLong(m_list.m_hWnd, GWL_STYLE); //获取当前窗口stylelStyle &= ~LVS_TYPEMASK; //清除显示方式位lStyle |= LVS_REPORT; //设置styleSetWindowLong(m_list.m_hWnd, GWL_STYLE, lStyle); //设置styleDWORD dwStyle = 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); //设置扩展风格// TODO: Add extra initialization hereextern booklist *head_book;int booknum=0;extern length;CString str;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, 90 ); m_list.InsertColumn( 5, "ISBN", LVCFMT_LEFT, 180 );int nRow;for(booklist *q=head_book;q;q=q->next){str.Format("%s.%s",q->dateyear,q->datemonth);nRow = m_list.InsertItem(0, q->bookname);//插入行//nRow = m_list.InsertItem(0, "sb");//插入行m_list.SetItemText(nRow, 1, q->congshuname);//设置数据m_list.SetItemText(nRow, 2, q->writer);//设置数据m_list.SetItemText(nRow, 3, q->price);//设置数据m_list.SetItemText(nRow, 4, str);//设置数据m_list.SetItemText(nRow, 5, q->ISBN);//设置数据booknum++;}length=booknum;m_booknum=length;UpdateData(FALSE);return TRUE; // return TRUE unless you set the focus to //a control// EXCEPTION: OCX Property Pages should //return FALSE}void CLookDlg::OnButton1(){// TODO: Add your control notification handler code here CDelDlg dlg;dlg.DoModal();}5.3 系统功能模块介绍系统有四个模块其中包含了图书的增加,删除,查找(分按书名,所属类型,作者,定价,出版日期以及ISBN查找)及显示全部书籍。

相关文档
最新文档