图书管理系统(20190415003227).docx

  1. 1、本文档共25页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
-- - 语言程序设计 图书管理系统 学生: 专业:电子信息科学与技术 学号: 指导老师: 设计要求 课程设计是对学生的一种全面综合训练, 是与课堂听讲、 自学和练习相辅相成的、必不可少的一个教学环节。 通常,课程设计中的问题比平时的习题复杂得 多,也更接近实际。 课程设计着眼于原理与应用的结合点, 使学生学会如何把书上学到的知识用于解决实际问题,培养软件工作所需要的动手能力;另一方面,能使书上的知识变“活” ,起到深化理解和灵活掌握教学内容的目的。 题  目  :  图  书  销  售  管  理 系  统  设  计 图书信息包括:序号、书名、作者、出版单位、价格。 试设计一图书销售管理系统,使之能提供以下功能: 1、系统以菜单方式工作 2、图书信息录入功能(图书信息用文件保存)--输入 3、图书信息的删除与修改功能 4、图书信息浏览功能--输出 5、查询功能--算法:按书名 / 作者查询 6、排序功能--算法 按书名排序 按价格排序 7、图书购买功能: 统计选购图书的总价, 给出清单, 屏幕输出参考以下的实际购书单 (求: 1、 独立完成 2、 需随程序设计与实现完成一份描述该过程的报告,供考核时参考。 考核方式: 上机面试。在完成程序和文档后,根据题目要求和同学自行完成的文档,可能考核设计思路、代码分析、修改代码、增加功能、跟踪调试等各方面。 设计思路 1. 主目录 2.录入 3.图书查询目录 4.排序查询 序号排序查询: 价格排序查询: 5.自定义查询 6.全部查询 7.修改 8.删除 9.替换 9.购买 设计思路 录入: INSERT()函数,因为录入的数据最后要保存进文件中,以供查询、购买等功能的使用, 所以在文件已开始 if 判断语句打开文件 a,打开文件也就定义了指针的位置。其次输入 信息,写代码时我发现,如果使用 scanf()函数,每次在输入一个整形或字符时,总会因为敲了一个回车而提前进入下一行代码,影响正常输入。于是,我在前面加了一个 ch=getchar(); 以接收回车符。 当输入完信息后,使用  fwrite ();函数将之前已经赋值的结构体变量存入  a 文件,并用 fclose();关闭文件,防止文件内容被篡改。 在最后加一个 switch 分支语句以判断是否循环退出,当输入字符‘ y’后,自动重复调 用 INSERT();,否则调用 MAINMENU ()退到主目录。 按功能查询: 在按序号 (价格 )查询时,首先依然是打开之前已经写入要查询内容的文件,然后通过输 入要查询的字符串或整形变量与文件内容比较, 如果一致则打印输出此数组的其他结构 体成员。具体的比较我使用的是字符串比较函数 strcmp ( char a[20],char b[20] );或利 if(“ int a==int b ”)判断整形变量的相等。如果相等则输出结构体变量的其他成员, 否则进入下一循环。这里的循环用 for ()实现,有几个变量就比较几次(包括和自己比较)。 排序: 对于排序, 有很多种方法, 这里我用的是比较简单的冒泡法。 冒泡法的原理: 首先做一个内循环, 将数组的第一个值与后面的值分别比较, 如果前者小于后者(降序) 则交换两值的位置。然后是外循环,由 for 实现第二、第三个值分别与其后面的值比较。最后循环结束后得到交换赋值后的结构体变量, 并打印输出。 一般的, 外层循环的次数是字 符数的 n-1 次,内循环每次循环是起始比较值后面剩下的字符数。同样的,字符串我用 strcmp ( char a[20],char b[20] ),整型变量用‘ ==’。 修改: 修改功能其实是查询函数 SEARCH();和录入函数 INSERT();的使用。首先还是打开文件,然后,利用 scanf();接收要修改的数组的任意一个变量,用 strcmp();和‘ ==’比较是否相符,同样这里要使用 for()让输入的变量于每一个数组的相同的类型变量进行比较。若符合则开始进入录入函数给选择的结构体变量分别赋值。 删除: 如果是全部删除, 则给每一个录入的变量赋空值即可。 若是单项删除, 首先查询要删除 数组的其中一个结构体变量(同修改) ,如果符合,则赋空值即可。我用的是复制覆盖 的方法,即后从要删除的数组后一个数组开始,分别向前移动一位,这里可以用 strcpy ( char a[20],char b[20] );字符串复制函数,在这里 b 把值赋给 a,但不改变 b 的值。 6.购买: 购买功能是前面所有功能的综合。 先输入要购买的书的一个关键变量, 然后与录入的图 书信息比较, 如果相符则打印出来。 此时也可以在定义一个结构体变量, 用来存放购买图书 所要使用的信息。 源代

文档评论(0)

bcll + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档