第图书管理系统开发实例.ppt

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第图书管理系统开发实例

* * * * * * * * * * * * * * * * * 21.5.1 打开和关闭文件 fopen函数的声明如下: FILE * fopen(char * filename, char * mode); 其中,filename字符串包含要打开的文件路径及其文件名;mode字符串则代表打开文件的方式:若为’r’,则为只读;若为’w’,为只写;若为’+’,则为可读也可写。如果打开成功,该函数返回打开文件的文件指针,必须通过该指针才能对文件进行操作;否则,函数返回NULL。 fclose函数声明为: int fclose(FILE * fp); 警告:该函数必须与fopen函数配对使用,如果对一个不指向任何文件的文件指针变量调用该函数,将导致严重错误。 21.5.2 文件的格式化读写 文件的格式化读写是以指定的格式对文件进行数据读写。C语言也为文件格式化读写提供了函数:fprintf函数和fscanf函数。 21.5.2 文件的格式化读写 1.fprintf函数 fprintf函数的功能为将数值以指定的格式输出到指定的文件中,声明如下: int fprintf(FILE * fp, const char * 字符串, 参数列表); fprintf函数的功能和printf函数很相似,只是printf函数指定了输出为标准输出文件,而fprintf可以指定输出位置。该函数中的字符串和参数列表的执行方式和printf函数中的完全一样,在此不多做介绍。如果执行成功,fprintf函数将返回其输出的字符个数;如果执行失败,返回一个负数。 21.5.2 文件的格式化读写 2.fscanf函数 fscanf函数的功能为以指定的格式从文件中读取数值,声明如下: int fscanf(FILE * fp, const char *char 字符串, 参数列表); fscanf函数的功能与scanf函数也很相似,scanf函数指定了输入为标准输入文件,而fscanf函数可以指定输入位置。同样,该函数中的字符串和参数列表的执行方式也与scanf函数一样。如果函数执行成功,返回值为读取的字符个数;如果执行失败,返回EOF。 21.5.3 打开和关闭日志文件 在前面的功能分析中,已经知道日志模块会将日志记录到一个文件中。由于这个文件在程序从开始到结束都是要使用的,因此将其定义为全局变量。在使用日志模块前,g_logFile必须指向一个有效文件;而在程序结束之前,这个文件指针指向的文件必须被关闭。为了达到这个目的,将文件打开操作放在main模块的初始化操作函数configure中进行,将关闭文件的操作放在清除操作函数clean中进行。 21.5.4 log_error函数和log_activity函数 日志模块的两个功能分别在log_error函数和log_activity函数中实现。log_error函数用于记录错误信息,log_activity函数用于记录历史行为。 21.6 数据管理模块 数据管理模块是程序的核心部分,其主要功能为提供书籍管理操作,包括增加、删除和搜索等;同时还需要提供为了实现这些功能需要的辅助函数,主要有TimeInfor数据的处理、BookInfor数据的处理。本小节将先介绍这些基本功能的实现。 21.6.1 处理TimeInfor数据 TimeInfor数据用以存储时间,需要实现的处理函数有3个:set_time_infor函数、compare_time函数和print_time_infor函数。 1.set_time_for函数 2.compare_time函数 3.print_time_infor函数 21.6.2 处理BookInfor数据 BookInfor数据类型是本系统的最重要的数据,在data_manage.c中定义了3个函数操作该数据类型。 1.set_book_infor函数 2.copy_book_infor函数 3.print_book_infor函数 21.6.3 增加书籍 以上两小节讨论了TimeInfor数据类型和BookInfor数据类型的处理,本小节开始将讨论操作函数,这些函数都由用户界面模块的二级菜单函数触发。首先讨论书籍的增加函数,共有一个,即book_add函数,它由menu_add函数触发。该函数从为一个新的BookInfor数据申请一块堆内存,将其赋值后增加到数组g_books中。 21.6.4 删除书籍 系统提供了5种删除书籍的方式,分别实现为如下5个函数:book_delete_by_name函数、book_delete_by_auth函数、book_delete_by_pub函数、book_delete_by_pub_time函数和book_delete

文档评论(0)

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

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

1亿VIP精品文档

相关文档