图书管理系统C语言程序设计实验报告

上传人:飞*** 文档编号:30978753 上传时间:2018-02-03 格式:DOC 页数:18 大小:142.50KB
返回 下载 相关 举报
图书管理系统C语言程序设计实验报告_第1页
第1页 / 共18页
图书管理系统C语言程序设计实验报告_第2页
第2页 / 共18页
图书管理系统C语言程序设计实验报告_第3页
第3页 / 共18页
图书管理系统C语言程序设计实验报告_第4页
第4页 / 共18页
图书管理系统C语言程序设计实验报告_第5页
第5页 / 共18页
点击查看更多>>
资源描述

《图书管理系统C语言程序设计实验报告》由会员分享,可在线阅读,更多相关《图书管理系统C语言程序设计实验报告(18页珍藏版)》请在金锄头文库上搜索。

1、C 语言程序设计实验报告系别专业班级姓名学号时间实验题目 图书信息管理系统一、实验目的(1)熟练掌握 C 语言的相关操作。(2)综合应用 C 语言的知识,独立完成一个完整的系统,提高编程能力,体会软件程序的开发过程。二、实验内容(1)运用数组、循环、文件等编辑一个图书管理系统,其中具有输入、修改、删除、添加、查询、排序、统计、保存、读取模块。(2)执行编译操作,并根据提示调试此程序,排除所有的错误和警告。直到编译成功为止。(3)执行运行操作,逐一对每个模块进行调试,直到全部程序运行成功为止。(4)请老师检查,向老师演练此程序,并能回答老师提出的相关问题。三、 需求分析(1)该图书信息管理系统,

2、使之能够完成图书信息的输入、打印、修改、删除、添加、查询、排序、统计、保存、读取、退出。每个模块的功能如下:1、输入模块能够按照图书号的先后顺序完成图书号、书名、出版社、出版日期、作者、所在书库、价格。2、打印模块能输出刚刚输入的信息。3、修改模块中输入要修改相应的图书号后,选择需要须改的项目就能完成修改操作。4、删除模块中输入相应的图书号后可完成删除操作。5、添加模块能完成添加新书的操作。6、查询模块能够按图书名称查询该书的全部信息。7、排序模块能按照图书的价格进行排行。8、统计模块能根据输入的图书名统计该书的种数。9、保存模块能够将所有图书的信息保存。10、读取模块能读取已保存的图书信息并

3、显示。11、退出模块可直接退出此程序,结束操作。(2)创建该图书信息管理系统目的就是能够对图书信息进行输入、打印、修改、删除、添加、查询、排序、统计、保存、读取、退出等功能。(3)该图书信息管理系统是在 VC 中文简体环境下运行。该系统要测试的数据如下:输入模块:第 1 种图书图书号-图书名称 -出版社 -出版日期(年-月-日) -作者-所在书库-价格 01 履历表 人文 2008-8-7 几米 文艺 23第 2 种图书图书号-图书名称 -出版社 -出版日期(年-月-日) -作者-所在书库-价格02 沙漏 湖南 2007-6-5 饶雪漫 文艺 22 第 3 种图书图书号-图书名称 -出版社 -

4、出版日期(年-月-日) -作者-所在书库-价格03 世界是平的 科技 2003-11-2 托马斯 经济 56 第 4 种图书图书号-图书名称 -出版社 -出版日期(年-月-日) -作者-所在书库-价格 04 天使与魔鬼 人文 2007-9-8 丹布朗 文艺 29第 5 种图书图书号-图书名称 -出版社 -出版日期(年-月-日) -作者-所在书库-价格 05 向左走向右走 人文 2005-6-23 几米 文艺 26 修改模块:(修改天使与魔鬼的价格)(输入)04(修改图书号)(输入)6(修改价格的选项)(输入) (修改后的分数)插入模块:(插入 06傲慢与偏见 ) )(输入图书号)06(输入书名

5、)傲慢与偏见(输入出版社)人文(输入出版日期)2006-5-21(输入作者)简奥斯丁(输入所在书库)文艺(输入价格)24查询模块:(查询沙漏的基本信息)沙漏(输入书名即可查询)删除模块:(删除世界是平的 )03(输入图书号即可删除)排序模块:(输入排序模块的执行键即可完成)输出模块:(输入输出模块的执行键即可完成)退出模块:(输入)0 四、概要设计(1) 、主函数结构图主函数 ti输入模块打印模块修改模块删除模块添加模块查询模块排序模块统计模块保存模块读取模块退出系统2) 、模块功能详细说明A、输入模块: 它可以通过循环完成对全部图书基本信息(包括: 图书号、书名、出版社、出版日期、作者、所在

6、书库、价格)的一次性录入,其中书名、出版社定义为 10 个字节的字符型,作者、所在书库定义为 20 个字节的字符型图书号和价格则定义为整型。B、打印模块:输出所有的图书信息。 C、修改模块: 在输入要修改图书的相应的序号后,系统便开始查找该图书号,如果存在该图书号,只要选择 1-7 选项可以分别完成对图书基本信息中图书名称、出版社、出版日期、作者、所在书库、价格的修改及退出。D、删除模块:输入图书号即可完成删除该书信息的操作。E、添加模块: 输入一个图书的全部信息后,该程序会按照书号由小到大的顺序查找到相应的位置,并把输入该图书的全部信息插入到相关位置。 F、查询模块 : 此模块按书名进行查询

7、,它也是通过指针和链表进行推移查找,如果找到则显示该图书的全部信息,否则,将输出没有查到该图书信息,以便给以提示.G、排序模块:该模块利用循环按图书价格由低到高进行排序并显示排序结果。 H、统计模块: 该模块根据输入的图书名统计该图书的本数,若没有相应信息则显示有 0 本该书。I、 保存模块:该模块将已输入的图书信息保存。J、 读取模块:该模块将通过打开指定的文件读取已有的信息。H、退出模块: 可直接退出此程序,结束操作。五、详细设计及运行结果(1)函数之间的相互调用主函数调用输入函数调用打印函数调用修改函数调用删除函数调用添加函数调用排序函数调用查询函数调用统计函数调用保存函数调用读取函数结

8、束结束主主 调 用 输 入 函 数 调 用 打 印 函 数 调 用 修 改 函 数 调 用 删 除 函 数 调 用 添 加 函 数 调 用 排 序 函 数 调 用 查 询 函 数 调 用 统 计 函 数 调 用 保 存 函 数 调 用 读 取 函 数 结 束 结 束 结 束 结 束 结 束 结 束 结 束 结 束 结束结束结束结束结束结束结束主主 调 用 输 入 函 数 调 用 打 印 函 数 调 用 修 改 函 数 调 用 删 除 函 数 调 用 添 加 函 数 调 用 排 序 函 数 调 用 查 询 函 数 调 用 统 计 函 数 调 用 保 存 函 数 调 用 读 取 函 数 结 束 结

9、 束 结 束 结 束 结 束 结 束 结 束 结 束 结束主主 调 用 输 入 函 数 调 用 打 印 函 数 调 用 修 改 函 数 调 用 删 除 函 数 调 用 添 加 函 数 调 用 排 序 函 数 调 用 查 询 函 数 调 用 统 计 函 数 调 用 保 存 函 数 调 用 读 取 函 数 结 束 结 束 结 束 结 束 结 束 结 束 结 束 结 束 (2)该图书信息管理系统的源代码。#includestdio.h#includestring.h#includestdlib.h#includeconio.h#define MAX 10#define N 5;/*日期结构体类型*/

10、typedef struct int year;int month;int day;DATE;/*图书结构体类型*/typedef struct int num; /* 图书编号 */char name10; /*图书名称*/char press10; /* 出版社 */DATE pro_time; /*出版日期*/float price; /* 价格 */char author20; /* 作者 */char add20; /* 所在书库*/BOOK;/*保存信息*/void save_file(BOOK books,int sum)FILE*fp;int i;char filename40

11、;/clrscr();printf(n input SAVE filename=);scanf(%s,filename);if ( (fp=fopen(filename, w) = NULL)printf(n %s file NOT open! press any key exit system.);getch();exit(0);for(i=0;ibooksj.price) k=j;if (k!=i) t=booksi;booksi=booksk;booksk=t;output(books,/bioskey(0);flushall();/*统计信息*/void count( BOOK boo

12、ks,int sum) int i,t,j,flag;char count_name10;char choice;do system(cls);t=0,j=0;printf(n 请输入要统计的图书名称:);scanf(%s,count_name);for(i=0;isum;i+) if ( strcmp(booksi.name,count_name)=0 )t+; else j+;printf( 该种图书共有 %d 本! ,t);if(j=sum) printf(n 该种图书不存在!);/bioskey(0);flushall();printf(nn 继续统计吗 ?(Y/N);flushall

13、();choice=getchar();if( choice=Y|choice=y ) flag=1;printf(n 继续!n);else flag=0; while(flag=1);printf(n 按任意键返回主菜单!);getchar();/bioskey(0); flushall();/*图书信息管理主程序*/void main()BOOK booksMAX;int choice, sum;do system(cls);printf(nnn *图书管理系统*nn);printf( 1. 输入图书信息 nn);printf( 2. 打印图书信息 nn);printf( 3. 修改图书信

14、息 nn);printf( 4. 删除图书信息 nn);printf( 5. 添加图书信息 nn);printf( 6. 查询图书信息 nn);printf( 7. 图书排行信息 nn);printf( 8. 统计图书信息 nn);printf( 9. 保存图书信息 nn);printf( 10. 读取图书信息 nn);printf( 0. 退出系统 nn);printf( 请选择(0-10): );scanf(%d,switch(choice)case 1: sum=input(books); break;case 2: output( books,case 3: modify( books,sum ); bre

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 行业资料 > 其它行业文档

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号