c语言课程设计报告~图书管理系统
c图书管理系统课程设计
c图书管理系统课程设计一、课程目标知识目标:1. 理解图书管理系统的基本概念和功能,掌握其在我国图书馆的应用现状。
2. 学会使用数据库管理图书信息,掌握基本的SQL查询语句。
3. 了解并掌握C语言编程在图书管理系统中的应用。
技能目标:1. 能够运用所学知识设计并实现一个简单的图书管理系统。
2. 提高问题分析能力,通过C语言编程解决图书管理中的实际问题。
3. 培养团队协作能力,通过分组讨论、共同开发完成课程项目。
情感态度价值观目标:1. 培养学生对图书管理工作的兴趣,提高对图书馆工作的认识。
2. 增强学生的信息素养,使其认识到信息管理在现代图书馆工作中的重要性。
3. 培养学生积极参与、乐于探究的学习态度,激发创新意识。
课程性质:本课程为实践性较强的课程,以C语言为基础,结合数据库知识,让学生在实际操作中掌握图书管理系统的设计与实现。
学生特点:学生具备一定的C语言基础和数据库知识,对实际应用有较高的兴趣,喜欢动手实践。
教学要求:注重理论与实践相结合,以学生为主体,鼓励学生主动参与、积极思考、动手实践。
通过课程学习,使学生能够独立设计并实现一个简单的图书管理系统,提高其编程能力和问题解决能力。
二、教学内容1. 理论知识:- 图书管理系统概述:介绍图书管理系统的基本概念、功能及在我国图书馆的应用现状。
- 数据库基础:回顾数据库的基本概念、数据模型、关系数据库及其设计方法。
- C语言编程:复习C语言基础知识,强调其在图书管理系统中的应用。
2. 实践操作:- 数据库设计:学习设计图书管理系统的数据库,包括表结构设计、数据完整性约束等。
- C语言编程实践:运用C语言编写图书管理系统的主要功能模块,如图书信息录入、查询、删除等。
- 项目开发:分组进行项目实践,培养学生团队协作能力,完成一个简单的图书管理系统。
3. 教学大纲:- 第一周:图书管理系统概述,复习C语言基础知识。
- 第二周:数据库基础,设计图书管理系统的数据库。
c语言课程设计报告图书管理系统
c语言课程设计报告图书管理系统一、教学目标本课程的目标是使学生掌握C语言的基本语法,熟悉图书管理系统的开发流程,培养学生运用C语言解决实际问题的能力。
具体目标如下:1.知识目标:–掌握C语言的基本语法和数据结构。
–理解图书管理系统的需求和设计原理。
2.技能目标:–能够使用C语言编写简单的程序。
–学会使用C语言实现图书管理系统的功能。
3.情感态度价值观目标:–培养学生的团队协作意识和沟通能力。
–增强学生对计算机科学和编程的兴趣和热情。
二、教学内容本课程的教学内容主要包括C语言的基本语法、数据结构以及图书管理系统的开发。
具体安排如下:1.C语言的基本语法:–变量和数据类型–运算符和表达式–函数和数组–指针和引用2.数据结构:3.图书管理系统的开发:–系统测试和优化三、教学方法本课程采用多种教学方法,以激发学生的学习兴趣和主动性。
具体方法如下:1.讲授法:用于讲解C语言的基本语法和数据结构。
2.案例分析法:通过分析具体的图书管理系统案例,使学生更好地理解系统设计和功能实现。
3.实验法:让学生动手编写程序,巩固所学知识,提高实际操作能力。
4.小组讨论法:鼓励学生分组讨论,培养团队协作意识和沟通能力。
四、教学资源本课程所需的教学资源包括:1.教材:《C语言程序设计》2.参考书:《C Primer Plus》、《数据结构与算法分析》3.多媒体资料:教学PPT、视频教程4.实验设备:计算机、网络设备以上教学资源将用于支持教学内容和教学方法的实施,丰富学生的学习体验。
五、教学评估本课程的评估方式包括平时表现、作业、考试等。
评估方式应客观、公正,能够全面反映学生的学习成果。
具体安排如下:1.平时表现:包括课堂参与度、提问回答、小组讨论等,占总评的20%。
2.作业:包括编程练习和理论作业,占总评的30%。
3.考试:包括期中和期末考试,占总评的50%。
期中和期末考试将涵盖C语言基本语法、数据结构以及图书管理系统的开发内容。
c语言图书管理系统课程设计
c语言图书管理系统课程设计一、课程目标知识目标:1. 理解C语言中数组、结构体和文件操作的基本概念;2. 掌握使用C语言进行图书管理系统的基础功能设计,包括图书信息的增加、删除、查询和修改;3. 学会运用模块化编程思想,将大型程序拆分为功能独立的子程序。
技能目标:1. 能够运用C语言编写出图书管理系统的基本功能模块,并实现模块间的有效连接;2. 能够使用文件操作将图书信息存储到文件中,实现数据的持久化;3. 能够运用调试工具对程序进行调试,找出并修复程序中的错误。
情感态度价值观目标:1. 培养学生的团队协作意识,学会与他人共同分析和解决问题;2. 激发学生对编程的兴趣和热情,提高对计算机编程的主动性和积极性;3. 引导学生认识到编程在解决实际问题中的重要性,培养学生的创新精神和实践能力。
课程性质:本课程为高年级的C语言编程实践课程,注重培养学生运用C语言解决实际问题的能力。
学生特点:学生已具备一定的C语言基础,具有一定的编程能力和问题解决能力。
教学要求:在教学过程中,需注重理论与实践相结合,鼓励学生动手实践,提高编程技能。
同时,关注学生的情感态度,激发学生的学习兴趣,培养其团队协作能力和创新精神。
通过课程学习,使学生能够独立完成一个简单的图书管理系统设计与实现。
二、教学内容1. C语言基础回顾:数组、结构体、函数的定义和用法,以及文件操作的基本原理。
2. 图书管理系统需求分析:讲解图书管理系统的功能模块,明确系统需求。
- 图书信息增加、删除、查询、修改等功能的实现;- 系统界面设计和用户交互;- 数据存储和读取。
3. 教学大纲:- 第一周:C语言基础知识回顾,学习数组、结构体和文件操作;- 第二周:分析图书管理系统需求,设计系统功能模块;- 第三周:编写图书管理系统功能代码,实现模块间通信;- 第四周:系统测试、调试和优化,完成课程项目。
4. 教材章节关联:- 数组、结构体:参考教材第二章;- 函数:参考教材第三章;- 文件操作:参考教材第四章;- 模块化编程:参考教材第五章。
C语言图书管理系统课程设计报告
第三章 图书管理系统的设计与实现 3.1 系统的需求分析
图书登记管理系统作为一个应用软件将为学校的老师和学生提 供一个对学校图书馆深入了解并借阅、还书的平台。根据系统界 面的提示信息对图书馆信息进行查询、初始化等操作
4
系统功能需求分析描述如下: (1)系统主菜单:进入系统和退出系统 (2)功能菜单:显示可以进行的操作 (3)查询主菜单:根据图书编号、书名、作者进行查询,并可 显示所有图书信息 (4)借还书主菜单:可以进行借书和还书等操作
0
引言
随着社会经济的迅速发展和现代科学技术的进步,人类社 会正逐渐走向现代化。计算机事业的飞速发展,使得以计算机与 通信技术为基础的信息系统正处于蓬勃发展的时期。同时,随着 经济文化水平的显著提高,人们对生活质量及工作环境的要求也 越来越高。图书馆拥有丰富的文献信息资源,是社会系统的重要 组成部分,在信息社会中的作用愈来愈重要。
随着现代社会信息量的不断增加,图书的种类及信息也越来 越多,如何来管理庞大的图书信息成为一大难题,如何以一种便 捷的管理方式加快图书流通信息的反馈速度,提高工作效率,已 经成为学校图书馆管理的关键问题。信息技术的飞速发展给图书 馆的管理带来了全新的变革,采用图书管理系统对图书馆的运作 进行全程管理,不仅是图书馆摆脱了以往人工管理产生的一系列 问题,而且让图书馆提高了管理效率,减少了管理成本。让图书 馆进行更有效的管理。
图书管理系统c课程设计报告
图书管理系统c 课程设计报告一、教学目标本课程旨在通过学习图书管理系统的设计与实现,使学生掌握数据库的基本操作、编程语言的应用以及软件工程的实践方法。
在知识目标上,学生应理解数据库的概念、结构及其在图书管理中的应用;掌握至少一种编程语言的基本语法和编程技巧;了解软件开发的流程和规范。
技能目标则要求学生能够独立设计简单的图书管理系统数据库;编写程序实现图书的增删改查等操作;运用软件工程的方法完成一个小型的图书管理项目。
情感态度价值观目标强调培养学生对计算机科学的兴趣,增强创新意识和团队协作精神,同时培养学生的信息素养,使其能够合法、合理地使用信息技术。
二、教学内容本课程的教学内容围绕图书管理系统的设计与实现展开,具体包括以下几个部分:1.数据库基础:介绍数据库的基本概念、数据模型以及SQL语言的使用,让学生掌握如何创建、查询和管理数据库。
2.编程语言应用:通过实例教学,使学生熟悉至少一种编程语言(如C语言)的基本语法,培养学生编写程序解决问题的能力。
3.软件工程实践:讲解软件开发的生命周期,包括需求分析、设计、编码、测试和维护等环节,强调编程规范和团队合作的重要性。
4.项目实现:指导学生利用所学知识设计并实现一个简易的图书管理系统,涵盖图书的录入、查询、借阅等功能。
三、教学方法为了提高教学效果,将采用多种教学方法相结合的方式进行授课:1.讲授法:用于传授数据库理论基础、编程语言的基本语法和软件工程的概念。
2.案例分析法:通过分析具体的图书管理案例,使学生理解数据库设计和程序实现的过程。
3.实验法:安排实验室实践环节,让学生动手编写代码,实际操作数据库,加深理解和实践能力。
4.小组讨论法:学生分组完成项目设计,鼓励学生相互讨论、协作解决问题,培养团队精神和沟通能力。
四、教学资源教学资源将包括:1.教材:《数据库原理与应用》、《C程序设计》等,为学生提供理论学习的坚实基础。
2.多媒体资料:包括教学PPT、案例视频等,增强课堂的互动性和趣味性。
C语言课程设计图书管理系统
吞吐量: 系统在单 位时间内 处理的请 求数量
资源利用 率:系统 对硬件资 源的使用 情况
可靠性: 系统在运 行过程中 出现故障 的概率
可扩展性: 系统随着 业务增长 进行扩展 的能力
用户体验: 用户对系 统的满意 度和易用 性评价
系统功能完善建议
增加用户反馈功能,收集用户意见和建议 优化搜索功能,提高搜索速度和准确性 增加图书推荐功能,根据用户浏览和购买记录推荐相关图书 优化用户界面,提高用户体验和操作便捷性
降低错误率
优势:实现图 书信息的数字 化管理,方便 查询、统计和
分析
优势:支持远 程访问和移动 设备访问,提 高图书管理的
便捷性
图书管理系统的开发流程和实现方式
需求分析: 明确系统 功能、性 能、安全 性等需求
系统设计: 设计系统 架构、数 据库结构、 界面设计 等
编码实现: 编写代码 实现系统 功能
可扩展性:系统需要具备良好的可 扩展性,能够适应未来的业务需求 变化
系统设计
系统架构设计
前端设计:用 户界面、交互 逻辑、页面布
局等
后端设计:数 据库设计、数 据模型、业务
逻辑等
网络架构:服 务器配置、网 络拓扑、数据
传输等
安全设计:用 户认证、数据 加密、访问控
制等
数据库设计
数据库类型:关 系型数据库
数据操作实现
数据库设计:包括表结构、字段类型、索引等 数据库连接:使用JDBC、ODBC等连接数据库 数据操作:包括增删改查等基本操作 数据安全:包括用户权限管理、数据加密等 数据备份与恢复:定期备份数据,确保数据安全 数据分析与报表:提供数据分析功能,生成报表供用户查看
界面交互实现
c语言图书馆管理系统课程设计报告
C语言图书馆管理系统课程设计报告一、设计背景随着图书馆信息化管理的普及和发展,使用计算机进行图书馆管理已成为必然趋势。
为了提高图书馆管理工作的效率和准确性,本课程设计旨在设计一个基于C语言的图书馆管理系统。
二、设计目标1.实现对图书馆的基本信息进行添加、删除、修改和查询的功能。
2.实现对读者信息的管理,包括添加、删除、修改和查询。
3.实现借书和还书功能,包括借书时的借阅记录的生成和还书时相关操作。
4.实现图书馆管理员的登录和权限管理功能。
三、设计思路基于以上设计目标,我们将采取以下设计思路:1.设计合适的数据结构来存储图书馆、读者和借阅记录等信息。
2.设计相应的函数来实现对数据的增删改查操作。
3.设计用户界面,使用户可以方便地使用各种功能。
4.设计登录和权限管理功能,保证只有授权的管理员才能进行系统管理操作。
四、系统功能设计1. 图书馆管理功能•添加图书馆信息:输入图书馆名称、地址等信息,保存到系统中。
•删除图书馆信息:根据图书馆名称或其他唯一标识,删除相应的图书馆信息。
•修改图书馆信息:根据图书馆名称或其他唯一标识,修改相应的图书馆信息。
•查询图书馆信息:根据图书馆名称或其他唯一标识,查询相应的图书馆信息。
2. 读者管理功能•添加读者信息:输入读者姓名、年龄、性别等信息,保存到系统中。
•删除读者信息:根据读者姓名或其他唯一标识,删除相应的读者信息。
•修改读者信息:根据读者姓名或其他唯一标识,修改相应的读者信息。
•查询读者信息:根据读者姓名或其他唯一标识,查询相应的读者信息。
3. 借还书功能•借书:根据读者ID和图书ID,生成借阅记录,修改相应的图书和读者信息。
•还书:通过借阅记录中的借阅ID,找到相应的借阅记录,修改相应的图书和读者信息。
4. 登录和权限管理功能•管理员登录:输入管理员用户名和密码,验证登录信息。
•管理员权限管理:设置对应管理员的权限,包括“图书馆管理”和“读者管理”等。
五、系统实现本系统的实现将采用C语言作为开发语言,使用相关编程工具进行开发。
C语言课程设计图书管理系统课程设计报告
C语言课程设计图书管理系统Books Management System学生姓名张朝柱学院名称徐州工程学院学号20130566140班级13计转本专业名称计算机科学与技术指导教师李子龙2016年5月10日一、需求分析为了满足图书管理的要求,通过计算机技术给图书管理人员和读者借、还书带来便利。
使用c语言编写了图书管理系统。
本系统主要实现图书信息管理的功能,通过此系统可对图书馆库存图书信息进行管理和维护操作。
实现了图书馆内管理的一般功能,包括查询、借书、还书、添加、删除、修改图书信息等。
所设计的系统以菜单方式工作,为用户提供清晰的使用提示,依据用户的选择来进行各种处理,并且在此过程中能够尽可能的兼容用户使用过程中可能出现的异常情况。
图书信息包括编号、书名、作者、数量、在库状态等。
图书信息的录入和显示要求有一定的规范格式,录入的图书信息用文件形式保存,并可以对其进行浏览、查询、借阅、还书等基本操作。
整个程序实现顺序表操作,对图书信息的操作逐个地进行,一个图书信息的更改不应影响其他的图书记录。
二、算法设计:1.设计思想:整个系统制造的而过程中,涉及了较多C语言知识点,对于不同的数据类型、程序控制结构、数据结构作以分析和总结,并结合这个课题进行综合的应用,在一定程度上做到了对所学知识融会贯通。
进一步加深、巩固了所学的专业的基本理论知识,培养了综合分析问题、解决问题的能力。
在设计程序时,实现了程序的模块化、结构化。
在主函数中调用各种子函数,操作界面简单,易操作。
2,设计表示:(1)、整个系统除了主函数外,另外还有各种功能子函数,利用无限次循环语句while()和选择语句swithch()实现各个子函数的调用,系统根据输入的数字选项来调用相应的函数,以实现相应的功能。
主要实现了图书的录入、存储、查询、借书、还书、显示库存等功能。
(2)、void Book_Entering(struct SqList &SL);这是一个录入图书信息的函数,它主要实现了顺序表的创建,并且在创建过程中从文件读取信息到顺序表中,以用于后面其他函数的操作。
图书管理系统c语言课程设计
图书管理系统c语言课程设计一、课程目标知识目标:1. 学生能够理解图书管理系统的基本概念,掌握C语言实现数据结构(如链表)的基本方法。
2. 学生能够运用C语言编写程序,实现图书管理系统的基本功能,如图书的增删改查。
3. 学生能够理解文件操作在图书管理系统中的应用,实现数据的持久化存储。
技能目标:1. 学生能够运用所学知识,独立完成图书管理系统的需求分析、设计、编码和测试。
2. 学生通过课程设计,提高问题分析能力,培养解决实际问题的编程能力。
3. 学生能够运用调试工具,找出并修正程序中的错误,提高程序调试能力。
情感态度价值观目标:1. 学生在课程学习中,培养对编程的兴趣和热情,树立正确的计算机科学观念。
2. 学生通过团队协作完成课程设计,培养沟通协作能力和团队精神。
3. 学生在解决实际问题的过程中,体会编程带来的成就感,增强自信心。
课程性质:本课程为C语言程序设计课程的实践环节,旨在让学生将所学理论知识应用于实际项目中,提高编程实践能力。
学生特点:学生已具备C语言基础知识,具有一定的编程能力,但实际项目经验较少。
教学要求:注重理论联系实际,引导学生独立思考,培养学生解决实际问题的能力。
通过课程设计,使学生能够将所学知识综合运用,提高编程实践技能。
二、教学内容1. 数据结构基础:回顾教材中关于数据结构的基础知识,重点复习链表的结构及其操作,为图书管理系统设计打下基础。
- 教材章节:第三章 数据结构,第四节 链表2. 文件操作:学习C语言文件操作相关知识,掌握文件读写方法,为图书信息持久化提供支持。
- 教材章节:第五章 文件,第一节 文件的打开与关闭,第二节 文件的读写3. 系统需求分析:引导学生学习如何分析图书管理系统的功能需求,明确课程设计目标。
- 教材章节:第二章 程序设计基础,第三节 结构化程序设计4. 系统设计与实现:根据需求分析,设计系统功能模块,使用C语言实现图书管理系统的增删改查等功能。
C语言课程设计报告图书管理系统
...... C语言课程设计报告院系:学号:班号:姓名:标题:图书管理系统目录第一部分题目要求 (3)第二部分需求分析 (3)第三部分总体设计 (4)第四部分详细设计 (4)1)主函数 (4)2)各功能模块设计 (6)3)公共函数 (16)第五部分上机操作 (17)第六部分总结 (20)附录(源代码) (22)第一部分题目要求图书管理系统包括:图书名称、图书编号、单价、作者、存在状态、借书人姓名、性别、学号等,是设计一图书管理系统,使之能够提供以下功能:1. 新图书基本信息的输入。
2. 图书基本信息的查询。
3. 对撤销图示基本信息的删除。
4. 办理借书手续。
5. 办理换书手续。
第二部分需求分析根据题目的要求,需要建立一个文件来保存图书信息,每本书的信息用一个结构体来保存,结构体的成员应包括图书名称、图书编号、单价、作者、存在状态、借书人姓名、性别、学号,结构体中的存在状态可设为整型,用不同数字代表借还状态;在借书和还书手续中,要注意结构体的成员变量存在状态的值,使用指针会比较方便。
程序中需要对图书信息实现输入、查询、删除、借书和还书的功能,首先要使用菜单进行各项功能的选择;其次需要有文件的输入、输出功能,提供显示、查找等操作。
在程序的运行过程中,注意各功能在使用完毕后返回菜单的设置,以方便运行。
第三部分总体设计根据上面的需求分析,可以将整个图书管理系统分为输入模块、查找模块、删除模块、借书模块和还书模块(如图3-1所示)。
图3-1 系统功能模块图第四部分 详细设计4.1 数据结构在这个程序里,每本书的信息用一个结构体book 来保存,结构体的成员应包括图书名称、图书编号、单价、作者、存在状态、借书人姓名、性别、学号,结构体中的存在状态设为整型,用不同数字代表库中高本书的数量。
struct book{ char title[30];int number;char author[30];float price;int store;char borrower_name[20];char borrower_gender[5];int borrower_number;}s[N];其中的N定义为该系统所管理书籍的最大值。
图书馆管理系统C语言课程设计报告(原创)
课程报告任务书1需求分析开发一个图书管理系统。
一、图书信息包括图书编号、书名、作者、价格、出版社、出版日期、类别、馆藏地址、库存量。
二、系统功能包括1 新建图书信息库2查询图书信息●全部查询●按书名查询●按作者查询●按类别查询3 图书排序●按编号排序●按价格排序4 图书信息插入(插入后仍按编号顺序排放的)5 图书信息删除(按书名查找删除)6 图书信息修改(按书名查询到书后可以进行选择对各项信息进行修改)7 图书数目统计8 图书信息保存在文件中三、在主函数里设计各个功能选项,然后调用相应的自定义子函数来实现功能。
2 概要设计(1) 数据结构主要数据结构:单链表//图书信息结构体struct book{char num[L]; //图书编号char name[M]; //书名char writer[M]; //作者char publisher[M]; //出版社char time[N]; //出版日期char category[n]; //类别char room[N]; //馆藏地址double price; //价格int amount; //库存量struct book *next;};(2) 模块划分主函数void main()自定义子函数即功能函数struct book * create(); // 新建图书信息库struct book * scanf1_(); //输入单本书的信息void printf1_(struct book *); //输出单本书的信息void chaxun_(struct book *); //综合查询void chaxun_all(struct book *); //全部信息浏览void chaxun_name(struct book *); //按书名查询void chaxun_writer(struct book *); //按作者查询void chaxun_category(struct book *); //按类别查询struct book *num_order(struct book *); //按编号排序struct book *price_order(struct book *); //按价格排序struct book *delete_(struct book *); //图书信息删除void change(struct book *,char a[]); //图书信息修改struct book *insert(struct book *); //图书信息插入int count(struct book *); //图书数目统计void save(struct book *); //保存到文件struct book *load(); //从文件读取信息到链表int quit(struct book *); //退出函数(3) 程序总体框架(4) 主界面是如下3 详细设计一main()主函数程序采用模块化设计,主函数是程序的入口,各模块独立,可分块调整,均由主函数控制。
图书管理系统c课程设计报告
图书管理系统c 课程设计报告一、课程目标知识目标:1. 让学生掌握C语言中面向对象程序设计的基本原理,能够运用类与对象的概念构建图书管理系统的基本框架。
2. 学生能够运用结构体数组、文件操作等C语言知识实现图书的增加、删除、修改和查询功能。
3. 学生了解并掌握C语言中模块化编程的方法,将图书管理系统划分为合理的功能模块。
技能目标:1. 培养学生运用C语言解决实际问题的能力,能够根据需求独立设计并实现图书管理系统。
2. 提高学生的编程实践能力,使其能够熟练使用C语言进行代码编写、调试和优化。
3. 培养学生的团队协作能力,学会与他人共同分析问题、讨论解决方案并分工合作。
情感态度价值观目标:1. 激发学生对计算机编程的兴趣和热情,培养其主动探究、勇于创新的精神。
2. 培养学生严谨、踏实的学术态度,养成良好的编程习惯,注重代码的可读性和可维护性。
3. 通过课程学习,使学生认识到计算机技术在图书管理等领域的重要应用,增强其社会责任感和使命感。
课程性质:本课程为高级编程语言课程,以C语言为基础,结合面向对象程序设计思想,培养学生解决实际问题的能力。
学生特点:学生已具备C语言基础,具有一定的编程能力和问题分析能力,但对面向对象程序设计尚不了解。
教学要求:教师应注重理论与实践相结合,引导学生通过案例分析和实践操作,逐步掌握图书管理系统的设计与实现方法。
同时,关注学生的个体差异,提供有针对性的指导和帮助,确保每位学生都能达到课程目标。
在教学过程中,注重培养学生的团队协作能力和创新精神。
二、教学内容1. 面向对象程序设计基本原理- 类与对象的概念- 封装、继承、多态性2. 图书管理系统需求分析- 功能模块划分- 数据结构设计3. C语言实现图书管理系统- 结构体数组的使用- 文件操作- 函数封装与模块化编程4. 图书管理系统功能实现- 图书的增加、删除、修改和查询- 界面设计及用户交互5. 项目实践与团队协作- 分组讨论与分工合作- 代码编写、调试与优化- 项目展示与评价教学内容安排与进度:1. 第1周:面向对象程序设计基本原理学习2. 第2周:图书管理系统需求分析,制定项目计划3. 第3-4周:C语言实现图书管理系统,完成功能模块开发4. 第5周:项目实践与团队协作,完成项目整合与优化5. 第6周:项目展示与评价,总结与反思教材章节及内容:1. 《C语言程序设计》第十章 面向对象程序设计2. 《C语言项目实践》第三章 结构体与文件操作3. 《计算机编程基础》第七章 函数与模块化编程教学内容确保科学性和系统性,结合课程目标,以实践为导向,培养学生解决实际问题的能力。
C语言课程设计报告-图书管理系统
课程设计报告图书馆管理系统目录1、题目与要求 (2)2、系统总体设计(要给出必要的文字说明及必要的图示) (3)2.1 功能需求分析(明确选题的功能需求) (3)2.2 系统功能模块划分(要给出系统功能模块图) (4)3、详细设计 (4)3.1重要数据的数据结构设计(即结构体的声明、变量的定义、文件) 4 3.2 函数的规划和设计(即根据分析需要设计哪些函数及其之间的调用关系) (5)3.3 主控模块(main函数)的流程分析与设计(要画出主函数的流程图) 6 3.4 主要功能模块的流程分析与设计(分别要画出各主要功能模块实现的流程图) (7)4、课程设计小结 (11)4.1 运行结果 (11)4.2设计中的难点及其解决方法 (18)4.3 不足之处 (19)5、小组人员分工说明(明确各个组员的具体分工及实际完成情况)19 评语及成绩 (20)6、附录(源代码) (21)1、题目与要求(标题的字体格式、段落格式照此,以下同!)题目:图书馆管理系统要求:能够完成图书馆日常操作,数据要能够保存,能够随时取出,并在任何操作后都能保持信息完整性,图书的原始数据需保存到磁盘文件中。
2、系统总体设计(要给出必要的文字说明及必要的图示)主要分为四大部分:1、图书查找(包括按书名或作者查找)2、借阅图书3、归还图书4、管理系统(包括添加图书、修改图书、删除图书、图书统计、学生管理、职工管理等)2.1 功能需求分析(明确选题的功能需求)具体功能:①图书查找⏹按书名查找。
⏹按作者查找。
②图书借还⏹借书●判断所借书籍号是否存在,若不存在重新输入书籍号。
●判断该借书证号是否存在,若不存在重新输入借书证号(即办卡功能)。
●判断该书籍是否已借出,若是则不允许执行借书操作。
●借书处理包括在“借还书登记”中增加该借书情况,在该图书信息中加上“已借”标记。
⏹还书●判断所借书是否存在,若不存在重新输入书籍。
●判断该书是否已借出,若不是则不允许执行还书操作。
c语言课程设计报告图书管理系统
C语言课程设计报告: 图书管理系统1. 引言本报告旨在介绍一个基于C语言的图书管理系统的设计与实现。
图书管理系统是一个用于管理图书馆图书的软件,它能够方便地进行图书的借阅、归还、查询等操作,提高图书馆的管理效率。
2. 系统需求分析在设计图书管理系统之前,我们首先需要明确系统的需求。
根据需求分析,该系统需要具备以下功能:•图书的录入与管理:管理员可以添加、修改和删除图书信息,包括书名、作者、出版社、ISBN等。
•读者的管理:管理员可以添加、修改和删除读者信息,包括姓名、学号、联系方式等。
•图书借阅与归还:读者可以借阅图书,并在归还时完成相应的操作。
•图书查询:管理员和读者都可以通过关键字查询图书信息。
•预约图书:读者可以预约图书,待图书可用时通知读者。
•罚款管理:系统可以自动计算读者逾期归还图书的罚款金额,并进行相应的处理。
3. 系统设计与实现3.1 数据结构设计为了实现图书管理系统的各项功能,我们需要设计合适的数据结构来存储图书信息、读者信息等。
以下是我们设计的数据结构:•图书结构体:包括书名、作者、出版社、ISBN等信息;•读者结构体:包括姓名、学号、联系方式等信息;•借阅记录结构体:包括图书信息、读者信息、借阅日期、归还日期等信息;3.2 系统模块设计根据系统需求,我们可以将图书管理系统划分为以下几个模块:•图书管理模块:包括图书的添加、修改和删除功能;•读者管理模块:包括读者的添加、修改和删除功能;•图书借阅模块:包括图书的借阅和归还功能;•图书查询模块:包括关键字查询功能;•预约图书模块:包括图书的预约功能;•罚款管理模块:包括读者逾期归还图书的罚款管理功能;3.3 系统实现根据系统设计,我们使用C语言编写相应的代码来实现整个图书管理系统。
我们使用结构体来存储图书、读者和借阅记录的信息,并使用文件来存储这些数据。
我们可以通过菜单方式来实现用户和管理员的交互,用户可以根据需求选择相应的功能。
C语言图书管理系统课程设计报告
第三章图书管理系统的设计与实现3.1系统的需求分析图书登记管理系统作为一个应用软件将为学校的老师和学生提供一个对学校图书馆深入了解并借阅、还书的平台。
根据系统界面的提示信息对图书馆信息进行查询、初始化等操作系统功能需求分析描述如下:(1)系统主菜单:进入系统和退出系统(2)功能菜单:显示可以进行的操作(3)查询主菜单:根据图书编号、书名、作者进行查询,并可显示所有图书信息(4)借还书主菜单:可以进行借书和还书等操作3.2系统的设计3.2.1 系统的总统设计下面从系统的整体流程的功能模块、系统界面及数据结构进行总体设计。
(1)总体思想本系统主要设计思想是实现图书馆的功能机管理系统信息的查询、借书、还书等主要功能。
系统的设计方法是结构化实际方法,系统用C语言进行开发用户可以清晰的了解图书馆内的情况。
(2)系统模块结构图根据需求分析结果,图书管理系统可以分为三大模块:查询图书模块、借书功能模块、还书功能模块。
系统模块结构如图:3.2.2 系统的概要设计㈠系统主菜单。
显示系统的主菜单,里面有相应的功能代码,根据选择各功能代码进入不同的界面。
功能主要包括:退出系统、查询图书、借书、还书。
㈡查询图书信息进入此菜单功能模块,输入您要查询的图书的编号、名字、作者等。
图书查询模块流程如图:3.3 测试结果系统主界面功能菜单查询系统菜单借还系统菜单3.4 源代码# include <stdio.h> # include <stdlib.h> # include <string.h>typedef struct link {char number[100]; char bookname[100]; char author[100]; char publish[100]; char time[100];float price;char status[100]; struct link *next; }link;link *Cbook(){int n=0;link *p,*q,*head;FILE *fp;fp=fopen("图书信息.txt","r+");if(fp==NULL)printf("没有找到文件,请检查……");p=(link *)malloc(sizeof(link));if(p==NULL)printf("申请内存出错!!!\n");fscanf(fp,"%s%s%s%s%s",p->number,p->bookname,p->author,p ->publish,p->time);fscanf(fp,"%f",&p->price);fscanf(fp,"%s",p->status);while(feof(fp)==0){n++;if(n==1){head=p;}else{q=p;p=(link *)malloc(sizeof(link));if(p==NULL)printf("申请内存出错!!!\n");fscanf(fp,"%s%s%s%s%s",p->number,p->bookname,p->author,p ->publish,p->time);fscanf(fp,"%f",&p->price);fscanf(fp,"%s",p->status);q->next=p;}}p->next=NULL;fclose(fp);printf("信息已录入!!!");return head;}void mainmenu(){printf("\n*****************************************\n"); printf("\n** 欢迎使用图书管理系统 **\n"); printf("\n** 1.进入系统 0.退出系统 **\n"); printf("\n*****************************************\n"); printf("\n 请选择");}void menu1(){printf("\n*****************************************\n"); printf("\n** 1.进入图书查询系统 **\n"); printf("\n** 2.进入图书借还系统 **\n"); printf("\n** 3.保存所有图书信息 **\n"); printf("\n** 4.返回上级菜单 **\n"); printf("\n*****************************************\n"); printf("\n请选择");}void cxmenu(){printf("\n*****************************************\n"); printf("\n** 1.显示所有图书信息 **\n"); printf("\n** 2.按编号查询图书 **\n"); printf("\n** 3.按书名查询图书 **\n"); printf("\n** 4.按作者查询图书 **\n"); printf("\n** 5.返回上级菜单 **\n"); printf("\n****************************************\n"); printf("\n请选择");}void jhmenu(){printf("\n*****************************************\n"); printf("\n** 1.借书 **\n"); printf("\n** 2.还书 **\n"); printf("\n** 3.返回上级菜单 **\n"); printf("\n*****************************************\n"); printf("\n请选择");}void print(link *head){link *p;p=head;printf("\n");printf("\n****************************************** ********\n");printf("\n编号\t\t书名\t\t作者\t\t出版社\t\t出版时间\t\t价格\t\t状态\n");while(p!=NULL){printf("\n");printf("%s\t%s\t%s\t%s\t%s",p->number,p->bookname,p->author,p->publish,p->time);printf("\t\t%.2f",p->price);printf("\t\t%s",p->status);printf("\n");p=p->next;}}void hold(link *head){link *p;FILE *fp;fp=fopen("图书信息.txt","w+");if(fp==NULL){printf("文件操作出错!!!");exit(1);}p=head;for(;p!=NULL;p=p->next){fprintf(fp,"%s\t%s\t%s\t%s\t%s",p->number,p->booknam e,p->author,p->publish,p->time);fprintf(fp,"\t\t%.2f",p->price);fprintf(fp,"\t\t%s",p->status);fprintf(fp,"\n");}fclose(fp);printf("信息已保存。
c语言图书管理系统课程设计报告
C语言图书管理系统课程设计报告一、项目介绍本项目是一个基于C语言的图书管理系统,旨在提供一个管理图书信息的平台,包括图书的增删查改、借还管理等功能。
二、功能需求本项目的主要功能需求如下:1.用户登录/注册:用户可以输入用户名和密码登录系统,也可以进行注册。
2.图书增删查改:管理员可以录入图书信息,包括书名、作者、出版社、ISBN、分类、价格、剩余数量等。
管理员可以根据图书名称、作者等信息查询图书信息,也可以对图书进行修改或删除。
3.借还管理:用户可以进行借书、还书,系统将会记录借书人信息、图书信息以及借书时间、归还时间等信息。
4.归还提醒:系统将会在借书过期且未归还的情况下自动发送邮件或短信提醒用户归还图书。
三、开发环境及相关技术本项目的开发环境为Windows10,使用的开发工具是Visual Studio Code。
在开发该项目时,我们主要使用了C语言和相关库函数。
四、开发流程本项目的开发流程如下:1.需求分析:根据用户需求,进行需求分析,确定系统需求。
2.概要设计:初步设计出系统的结构框架、数据模型等。
3.详细设计:根据概要设计,进一步详细设计出系统的各个功能模块的具体实现方法。
4.编码实现:根据详细设计,使用C语言和相关库函数编写代码实现各个功能模块。
5.测试调试:在编写完代码后,进行测试调试,找出问题并进行修复和优化。
6.部署实施:完成测试调试后,进行项目上线和部署。
五、实现效果展示以下是系统的主界面和功能界面展示:1.登录/注册界面登录/注册界面登录/注册界面2.主界面主界面主界面3.图书管理界面图书管理界面图书管理界面4.借阅管理界面借阅管理界面借阅管理界面六、总结与展望本项目基于C语言,使用了相关库函数开发了一个图书管理系统。
通过该项目的开发,我们深刻理解了系统开发的整个流程。
同时,我们也了解到了C语言在系统开发上的应用及其局限性。
未来,我们还可以继续完善该系统,增加其他功能模块,如图书推荐、借阅排行等,从而进一步完善该系统,提高用户体验。
原创c语言图书管理系统课程设计报告总结
原创C语言图书管理系统课程设计报告总结1. 引言图书管理系统是一种常见的信息管理系统,它可以帮助图书馆或书店高效地管理图书借阅、归还和查询等操作。
本报告总结了我们小组在C语言课程设计中实现的图书管理系统的设计和实现过程,并对系统的功能、性能和改进进行了评估和总结。
2. 系统设计2.1 功能需求我们设计的图书管理系统主要包含以下功能:•图书信息管理:包括图书的录入、修改、删除和查询等操作。
•借阅管理:支持借阅图书和归还图书的操作,并提供相关的借阅历史查询功能。
•用户管理:包括用户的注册、登录和密码修改等功能。
•权限管理:不同类型的用户具有不同的权限,例如管理员可以对图书信息进行修改,而普通用户只能借阅和归还图书。
2.2 系统架构我们的图书管理系统采用了客户端-服务器架构,其中客户端是用户界面,服务器负责处理客户端的请求并维护数据。
•客户端:使用C语言编写,提供交互式的图形用户界面,用户可以通过菜单选择各种功能,并输入相应的数据。
•服务器:也使用C语言编写,负责处理客户端发送的请求,包括对数据库的读写操作和权限验证。
2.3 数据库设计为了存储图书信息、用户信息和借阅历史等数据,我们使用了MySQL数据库。
设计了以下几个表格:•图书信息表:存储图书的编号、名称、作者、出版社等信息。
•用户信息表:存储用户的用户名、密码、姓名、学号等信息。
•借阅历史表:存储借阅记录的图书编号、借阅时间、归还时间等信息。
3. 系统实现3.1 客户端实现客户端使用C语言编写,使用了C语言提供的控制台窗口和输入输出函数库,通过菜单和输入框等控件与用户进行交互。
具体实现了以下几个模块:•图书信息管理模块:实现图书的录入、修改、删除和查询等功能。
•借阅管理模块:实现借阅和归还图书的操作,并提供借阅历史查询功能。
•用户管理模块:实现用户的注册、登录和密码修改等功能。
•权限管理模块:根据用户类型进行权限验证,并限制特定操作的访问权限。
C课程设计报告(图书管理系统)
C课程设计报告(图书管理系统)C语言课程设计报告:图书管理系统系统需求一、新书入库: 图书信息包括书名, 书号, 库存量, 现存量共4项. 首先输入3本书的信息, 并将其存入文件”book.dat” 中. 当有新书入库时, 先判断文件中是否有此书( 即比较书名 ), 若有则修改库存量, 现存量的信息; 若无此书, 则将该书的信息添加到文件中.二、图书查询: 输入一个书号, 在文件中查找此书, 若找到则输出此书的全部信息; 若找不到则输出查找失败的信息.三、借阅管理(1)每个读者的信息包括姓名, 编号, 1张借书卡( 限借一本书 ), 输入3个读者的信息存入文件“reader . dat” 中.(2)借书登记: 输入读者的编号, 所借图书的书号, 先判断姓名是否在文件”reader.dat” 中, 若有则将书号存入一张借书卡上( 注: 初始时借书卡的信息都为零, 借书后借书卡的信息改为所借书的书号), 并修改文件”reader.dat”的相应内容, 同时修改文件”book.dat”中此书的现存量. 若”reader.dat”无此姓名, 则应提示错误(3)还书管理: 输入读者的编号, 所还图书的书号, 将借书卡的信息置为零, 并修改文件”reader.dat”的相应内容, 同时修改文件”book.dat”中此书的现存量.四、输出全部图书信息和全部读者信息五、退出系统.六、附加说明:系统将来完善的功能有:添加读者,一位读者可同时借阅和归还多本图书等1、2、boot.dat这个文件来决定是否执行初始化函数.3、查询模块:可用一个函数void find_book(char book_num[])来实现。
找到就输出此书全部信息,找不到就输出查找失败信息。
4、借阅管理模块:(1)三个读者的信息可以在系统初始化时完成.即可用初始化函数init_reader()来实现对读者的初始化。
因为读者初始化函数也只是在系统第一次运行的时候执行一次,故也可以根据是否存在reader.dat文件来确定是否执行此函数。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
作者:电子商务09-2班卢佳学号:**********《高级语言程序设计(C)》课程设计报告书设计题目图书管理系统姓名专业班级学号指导老师成绩营销管理学院电子商务系2011年1月目录一引言 (3)二系统功能和原始数据 (3)三程序总体设计 (4)四功能模块函数设计和调试 (5)五程序清单 (12)六课程设计总结 (17)一引言在理论学习和基础实验的基础上,开发规模较大的程序,掌握应用计算机解决实际问题的基本方法,熟悉C程序开发的全过程.本任务应用指针编制小型的图书管理系统.通过整个程序开发的过程,提高综合应用C语言的能力,编程和调试能力.二系统功能和原始数据(一) 系统功能(1)主菜单0.图书信息录入1.图书信息浏览2按书名查询图书信息3.按ISBN查询图书信息4.增加图书信息5.按书名排序6.删除记录7.保存文件8.打开文件9.退出(2)各项功能0.图书信息录入:输入图书的名字、ISBN、作者、价格、出版社等。
1. 图书信息浏览:图书的名字、ISBN、作者、价格、出版社等2.查看与书的名字有关的信息:根据书名查找书。
3.查看与作者有关的书的信息:根据作者查找书。
4.增加书的信息:输入书的名字、ISBN、作者、价格、出版社等。
5按照书名排序:字母的形式排序6删除记录:删除一条书的信息7.保存文件8.文件打开9.退出(二) 原始数据图书信息:图书信息包括:书名.isbn.分类号.作者.出版日期.出版社.价格三程序总体设计(一)数据结构:struct record{char name[20];char isbn[20];char author[40];char price[10];char company[30];}(二)模块划分:四功能模块函数设计和调试(一) 函数原型,功能和形参说明函数原型:V oid adduser() V oid list() V oid search_name() V oid search_isbn() V oid add() V oid listbyname() V oid dele() V oid save() V oid read()函数功能:adduser() 增加书籍信息list() 显示书籍信息search_name() 按书名查找search_isbn() 按ISBN号码查找add() 增加书籍信息listbyname() 按书名排序dele() 删除书籍信息save() 保存read() 文件打开参数说明:read()/*从文件中读入数据*/ FILE *fp; /*定义文件指针*/(二)函数流程图书名查找与ISBN查找方法相同按书名删除与按ISBN删除方法相同(三)运行结果五程序清单#include<iostream.h> /*引用库函数*/ #include <stdio.h>#include<iostream.h>#include <string.h>#include <conio.h>#include <stdlib.h>#define null 0 ;struct record{char name[20];char isbn[20];char author[40];char type[10];char date[10];char price[10];char company[30];}student[30];struct LinkList{struct record US;struct LinkList *next;}a;struct LinkList *head=null;int num=0;FILE *fp;int menu_select();/*菜单函数*/ int adduser();int list();int search_name();int search_isbn();int add();int listbyname();int dele();int save();int read();int exit();void main(){system("cls");/*运行前清屏*/ for(;;){switch(menu_select()){case 0:adduser();break;case 1:list();break;case 2:search_name();break;case 3:search_isbn();break;case 4:add();break;case 5:listbyname();break;case 6:dele();break;case 7:save();break;case 8:read();break;case 9:exit(0);}}}menu_select(){int s;int a;cout<<"*_* 按任意键进入菜单! *_* "<<endl;getch();system("cls");cout<<"\t\t********************MENU*********************\n"<<endl; cout<<"\t\t 0. 图书信息录入"<<endl;cout<<"\t\t 1. 图书信息浏览 "<<endl;cout<<"\t\t 2. 按书名查询图书信息"<<endl;cout<<"\t\t 3. 按ISBN查询图书信息"<<endl;cout<<"\t\t 4. 增加图书信息"<<endl;cout<<"\t\t 5. 按书名排序"<<endl;cout<<"\t\t 6. 删除记录"<<endl;cout<<"\t\t 7. 数据保存"<<endl;cout<<"\t\t 8. 文件打开"<<endl;cout<<"\t\t 9.退出"<<endl;cout<<"\t\t***********************************************"<<endl; do{cout<<"\n 输入你的选择(0~9):";cin>>s;a=s;}while (a<0||a>9);return a;}adduser() //输入函数{cout<<"\n\t\t**************** 请输入图书信息 ****************"<<endl; cout<<"\n\t\t输入书名:";/*交互输入*/cin>>student[num].name;cout<<"\n\t\t输入ISBN:";cin>>student[num].isbn;cout<<"\n\t\t输入作者:";cin>>student[num].author;cout<<"\n\t\t输入分类号:";cin>>student[num].type;cout<<"\n\t\t输入出版日期:";cin>>student[num].date;cout<<"\n\t\t输入价格:";cin>>student[num].price;cout<<"\n\t\t输入出版单位:";cin>>student[num].company;num++;cout<<"\n\t\t是否继续添加?(Y/N):";char z;cin>>z;if((z=='y')||(z=='Y'))adduser();return(0);}int list() //显示函数{int i;system("cls");if(num!=0){cout<<"\n\t\t*************** 以下为该书所有信息************";for(i=0;i<num;i++)/*循环输入*/{cout<<"\n\t\t书名:"<<student[i].name;cout<<"\n\t\tISBN: "<<student[i].isbn;cout<<"\n\t\t作者: "<<student[i].author;cout<<"\n\t\t分类号: "<<student[i].type;cout<<"\n\t\t出版日期: "<<student[i].date;cout<<"\n\t\t价格: "<<student[i].price;cout<<"\n\t\t出版单位:"<<student[i].company;cout<<"\t\t";if(i+1<num){cout<<"\n\t\t__________________________";system("pause");}}cout<<"\n\t\t************************************************"; }elsecout<<"\n\t\t书库中无任何纪录";cout<<"\n\t\t按任意键返回主菜单:";getch();return(0);}search_name() //按书名查找{int mark=0;int i;int a=0;cout<<"\n\t\t***************** 按书名查找 *******************"; char name[20];cout<<"\n\t\t请输入书名:";cin>>name;for(i=a;i<num;i++){if(strcmp(student[i].name,name)==0){cout<<"\n\t\t************* 以下是您查找的信息 ***************"; cout<<"\n\t\t书名: "<<student[i].name;cout<<"\n\t\tISBN: "<<student[i].isbn;cout<<"\n\t\t作者: "<<student[i].author;cout<<"\n\t\t分类号: "<<student[i].type;cout<<"\n\t\t出版日期: "<<student[i].date;cout<<"\n\t\t价格: "<<student[i].price;cout<<"\n\t\t出版单位:"<<student[i].company;cout<<"\n\t\t************************************************";mark++;if((i+1)<num){cout<<"\n\t\t是否继续查找相同名字的信息:(y/n)";char y;cin>>y;if((y=='y')||(y=='Y')){a=i;continue;}elsereturn(0);}else{cout<<"\n\t\t按任意键返回主菜单";getch();return(0);}}}if(mark==0){cout<<"\n\t\t没有相同书名纪录";cout<<"\n\t\t按任意键返回主菜单";getch();return(0);}}search_isbn() //按ISBN查找{int mark=0;int i;int a=0;cout<<"\n\t\t****************** 按ISBN查找 ******************"; char isbn[10];cout<<"\n\t\t请输入ISBN:";cin>>isbn;for(i=0;i<num;i++){if(strcmp(student[i].isbn,isbn)==0){cout<<"\n\t\t************** 以下是您查找的书籍信息 **********";cout<<"\n\t\t书名: "<<student[i].name;cout<<"\n\t\tISBN: "<<student[i].isbn;cout<<"\n\t\t分类号: "<<student[i].type;cout<<"\n\t\t出版日期: "<<student[i].date;cout<<"\n\t\t价格: "<<student[i].price;cout<<"\n\t\t作者: "<<student[i].author;cout<<"\n\t\t出版单位:"<<student[i].company;cout<<"\n\t\t************************************************";cout<<"\n\t\t按任意键返回主菜单:";mark++;getch();return(0);}}if(mark==0){cout<<"\n\t\t没有更改信息";cout<<"\n\t\t按任意键返回主菜单";getch();return(0);}return(0);}add() //增加书籍信息{int i;if((fp=fopen("student.bin","wb"))==NULL){cout<<"\n\t\t文件打开失败";}for (i=0;i<num;i++){if (fwrite(&student[i],sizeof(struct record),1,fp)!=1){cout<<"\n\t\t写入文件错误!\n";}cout<<"\n\t\t**************** 请输入书籍信息 ****************"<<endl; cout<<"\n\t\t输入书名:";cin>>student[num].name;cout<<"\n\t\t输入ISBN号码:";cin>>student[num].isbn;cout<<"\n\t\t输入作者:";cin>>student[num].author;cout<<"\n\t\t输入出版日期:";cin>>student[num].date;cout<<"\n\t\t输入分类号:";cin>>student[num].type;cout<<"\n\t\t输入价格:";cin>>student[num].price;cout<<"\n\t\t输入出版单位:";cin>>student[num].company;num++;cout<<"\n\t\t是否继续添加?(Y/N):";if(getch()=='y')adduser();return(0);}fclose(fp);cout<<"\n\t\t图书文件已保存";cout<<"\n\t\t按任意键退出程序\n\t\t";exit(0);return(0);}void deletebyisbn(){int i,j;int deletemark=0;char isbn[20];cout<<"\n\t\t请输入要删除ISBN号码:";cin>>isbn;if(num==0){cout<<"\n\t\t对不起,文件中无任何纪录";cout<<"\n\t\t按任意键返回主菜单";getch();return;}for (i=0;i<num;i++){if(strcmp(student[i].isbn,isbn)==NULL){cout<<"\n\t\t以下是您要删除的书籍纪录:"; cout<<"\n\t\t书名: "<<student[i].name; cout<<"\n\t\tISBN: "<<student[i].isbn;cout<<"\n\t\t分类号: "<<student[i].type;cout<<"\n\t\t出版日期: "<<student[i].date; cout<<"\n\t\t价格: "<<student[i].price;cout<<"\n\t\t作者: "<<student[i].author;cout<<"\n\t\t出版单位:"<<student[i].company; cout<<"\n\t\t是否删除?(y/n)";char u;cin>>u;if((u=='y')||(u=='Y')){for(j=i;j<num-1;j++)student[j]=student[j+1];num--;deletemark++;cout<<"\n\t\t删除成功";cout<<"\n\t\t是否继续删除?(y/n)";char v;cin>>v;if((v=='y')||(v=='Y'))deletebyisbn();return;}elsereturn;}continue;}if(deletemark==0){cout<<"\n\t\t没有该书籍的纪录";cout<<"\n\t\t是否继续删除?(y/n)";char m;cin>>m;if((m=='y')||(m=='Y'))deletebyisbn();return;}}void deletebyname(){int a=0;int findmark=0;int j;int deletemark=0;int i;char name[20];cout<<"\n\t\t请输入要删除书籍名称:";cin>>name;for(i=a;i<num;i++){if(strcmp(student[i].name,name)==NULL){cout<<"\n\t\t以下是您要删除的书籍纪录:";findmark++;cout<<"\n\t\t________________________________"; cout<<"\n\t\t书名: "<<student[i].name;cout<<"\n\t\tISBN: "<<student[i].isbn;cout<<"\n\t\t分类号: "<<student[i].type;cout<<"\n\t\t作者: "<<student[i].author;cout<<"\n\t\t出版日期: "<<student[i].date;cout<<"\n\t\t价格: "<<student[i].price;cout<<"\n\t\t出版单位:"<<student[i].company; cout<<"\n\t\t________________________________"; cout<<"\n\t\t是否删除?(y/n)";char n;cin>>n;if((n=='y')||(n=='Y')){for(j=i;j<num-1;j++)student[j]=student[j+1];num--;deletemark++;cout<<"\n\t\t删除成功";if((i+1)<num){cout<<"\n\t\t是否继续删除相同书籍信息?(y/n)"; char l;cin>>l;if((l=='y')||(l=='Y')){a=i;continue;}}cout<<"\n\t\t是否继续删除?(y/n)";char o;cin>>o;if((o=='y')||(o=='Y'))deletebyname();return;}if((i+1)<num){cout<<"\n\t\t是否继续删除相同书名信息?(y/n)"; char p;cin>>p;if((p=='y')||(p=='Y')){a=i;continue;}}}elsecontinue;}if((deletemark==0)&&(findmark==0)){cout<<"\n\t\t没有该书籍的纪录";cout<<"\n\t\t是否继续删除?(y/n)";char q;cin>>q;if((q=='y')||(q=='Y'))deletebyisbn();return;return;}else if(findmark!=0){cout<<"\n\t\t没有重名信息";cout<<"\n\t\t没有该书纪录";cout<<"\n\t\t是否继续删除?(y/n)";char r;cin>>r;if((r=='y')||(r=='Y'))deletebyisbn();return;return;}}dele() //删除书籍信息{int choic;cout<<"\n\t\t1-按ISBN号码删除 2-按书名删除"; cout<<"\n\t\t请选择:";cin>>choic;switch (choic){case 1:deletebyisbn();break;case 2:deletebyname();break;}return(0);}listbyname() //按书名排序{int i,j;struct record tmp;for(i=1;i<num;i++){if(strcmp(student[i].name,student[i-1].name)<0){tmp=student[i];j=i-1;do{student[j+1]=student[j];j--;}while ((strcmp(,student[j].name)<0&&j>=0)); student[j+1]=tmp;}}cout<<"\n\t\t排序成功,是否显示?(y/n)";char x;cin>>x;if((x=='y')||(x=='Y'))list();return(0);}save() //保存资料{int j;FILE*fp;fp=fopen("student.txt","w");if (fp==NULL)cout<<"不能打开文件.";if(num!=0){for(j=0;j<num;j++){fwrite(student,sizeof(student),1,fp);}}cout<<"保存成功!";fclose(fp);return(0);}read()/*从文件中读入数据*/{int n;int m=0,num;FILE *fp; /*定义文件指针*/char filename[20]; /*定义文件名*/cout<<"输入文件名:"<<endl;cin>>filename; /*输入文件名*/if((fp=fopen("student.txt","rb"))==NULL) /*打开文件*/{cout<<"=====>提示:无法打开这个文件!"<<endl; /*打开失败信息*/cout<<"\t\t\t";system("pause");return(n);}fscanf(fp,"%d",&num); /*读入总记录量*/while(m<num) /*循环读入数据*/{fscanf(fp,"%s%d%s%f%f%f%f%f%f%f",&student[n+m].name,&student[n+m].isbn,&s tudent[n+m].author,&student[n+m].type,&student[n+m].date,&student[n+m].pr ice,&student[n+m].company);m++;}n+=num;fclose(fp); /*关闭文件*/cout<<"=====>提示:读入数据成功,可选择【图书信息浏览】查看"<<endl;cout<<"\t\t\t";system("pause");return(n);}六课程设计总结课程设计是培养学生综合运用所学知识,发现,提出,分析和解决实际问题,锻炼实践能力的重要环节,是对本人实际工作能力的具体训练和考察过程.在整整两周的日子里,可以学到很多很多的的东西,在设计中遇到了很多编程问题,通过查找资料、回顾课本等终于完成了课程设计。