




已阅读5页,还剩19页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
课 程 报 告 课 程 名 称: 程序设计实践 专 业 班 级 : 计算机科学与技术 1205 班 学 生 姓 名 : 雷原康 学 号 : 201216010522 任 课 教 师 : 陈卫东 学 期 :2012-2013 学年第二学期 课程报告任务书 题 目 图书信息管理系统 主要 内容 开发一个图书信息管理系统,图书信息包括:图书编号、书名、作者、出版社、类 别、出版时间、价格等基本信息(也可以根据自己情况进行扩充,比如是否借出、 库存量等) 。使之能提供以下基本功能: (1)图书信息录入功能(图书信息用文件保存 )输入 (2)图书信息浏览功能输出 (3)查询功能(至少一种查询方式 )、排序功能(至少一种排序方式): 按书名查询 按作者名查询 按照价钱排序 按出版时间排序等等 (4)图书信息的删除与修改 扩展功能:可以按照自己的程度进行扩展。比如(1)简单的权限处理 (2)报表打 印功能(3)甚至根据自己情况,可以加上学生信息,并扩充为图书借阅系统。 (4) 模糊查询 (5)综合查询 ( 6)统计功能 比如统计处某一类别的图书信息 或 筛 选出小于指定数量库存的图书信息等等,总之,可以根据自己需求进行分析功能。 任务 要求 一、提交材料应包括:(1)系统源代码 (2)课程报告 二、整个设计过程具体要求 (1)需求分析 要求学生对案例系统进行分析,设计出需要完成的功能,完 善各个模块的调用关系; (2)设计过程 要求学生进一步明确各模块调用关系,进一步完善模块函数细 节(函数名、参数、返回值等) (3)实现过程 要求学生养成良好的编码习惯、完成各个模块并进行测试,最 终完成系统整体测试; (4)总结阶段 按照要求完成系统设计和实现报告,并进行总结、答辩。 报告撰写情况(30 分) 系统完成情况(30 分) 答辩情况(40 分) 内容 20 分 规范程度 5 分 程序测试 5 分 基本功能 20 分 扩展功能 10 分 自述情况 10 分 答辩情况 30 分 总分成绩 评定 成绩评定教师: 3 1.需求分析 经过大一上学期的理论学习,在基础实验的基础上,本学期我们继续开设了 C 语言程序 设计实践课。课程要求我们对已经学习的基础实验进行整合与衔接处理,并最终形成一个系 统性质的规模较大的程序。 本次课程设计要求我们达到能独立完成一个图书管理系统,完成后要求实现的功能有对 图书信息的录入、删除、修改,浏览(即输出) , 按某种方式查询(要求至少一种查询方式) ,按某种方式排序(要求至少一种排序方式) 。当然,我们可以根据自己的能力对系统进行 完善性的拓展,例如自己加入简单的权限处理,统计功能,模糊查询等,甚至可以拓展为图 书借阅系统。 通过整个程序的开发过程,最终使我们掌握利用计算机解决实际问题的基本方法,熟悉 C 语言开发的全过程,提高综合应用 C 语言的能力、编程和调试能力,为学习计算机后续课 程打好专业基础。 2.概要设计 1.系统采用的是结构数组数据系统,用于实现图书信息的存放,修改,排序等功能。 用二进制文件保存已写入的信息。 2.模块划分: 1 void AddNewbook 图书信息录入系统 2 void Rprint 图书信息浏览系统 3 void Querybook 图书信息查询系统:void numnode1-书籍编号查找 .2-书名 void namenode 查找. 3-void writer 作者查找.4-void press 出版社查找.5-void fuzzy 模糊查找. 4 void paixu 图书信息排序系统:1-价格排序 2-时间排序 5 Voide xiugai 图书信息修改系统 6 Void shanchu 图书信息删除系统 7 图书信息统计系统:1-void sorttongji 书籍类别统计 .2-void kuno 库存低于标准统计 3.程序框架 1 进行录入图书信息 2 录入后进行浏览系统 3 然后根据需要分别进行查询,排序,修改,删除,统计功能 3.详细设计: 1.定义图书结构: typedef struct book long num;/书的序号 char nameMAX;/书名 char timeMAX;/出版时间 char writerMAX; double price; char pressMAX;/出版社 char sortMAX; int kucun;/库存量 book; 2.图书录入系统: void AddNewbook(FILE *fp)/*添加书籍 system(“cls“); int a; if(fp=fopen(“图书信息.txt“,“a+“)=NULL) printf(“不能打开图书信息管理系统!n“); exit(0); book newbook; printf(“(-1 代表结束)“); while(a!=-1) printf(“输入书籍编号:“); scanf(“%ld“, printf(“输入书名:“); scanf(“%s“,); printf(“输入出版时间:“); scanf(“%s“,newbook.time); printf(“输入作者:“); 5 scanf(“%s“,newbook.writer); printf(“输入价格:“); scanf(“%lf“, printf(“输入出版社:“); scanf(“%s“,newbook.press); printf(“输入书籍种类:“); scanf(“%s“,newbook.sort); printf(“输入库存量:“); scanf(“%d“, fwrite( scanf(“%d“, fclose(fp); 3.图书浏览系统 void Rprint(FILE *fp)/图书信息浏览 system(“cls“); if(fp=fopen(“图书信息.txt“,“r+“)=NULL) printf(“不能打开图书信息管理系统!n“); exit(0); book log; printf(“书籍编号 书名 出版时间 作者 价格 出版社 种类 库存量 n“); while(!feof(fp) fread( printf(“%8ld %s %6s %10s %.2lf %s %s %d n“, log.num,,log.time,log.writer,log.price,log.press ,log.sort,log.kucun); 4.图书查询系统 一按编号查找 void numnode(FILE *fp) if(fp=fopen(“图书信息.txt“,“r“)=NULL) printf(“不能打开图书信息管理系统!n“); exit(0); long num; int i=0; book chaxun; printf(“Enter num:“); scanf(“%ld“, while(!feof(fp) fread( if(num=chaxun.num) printf(“%ldt%st%st%st“, chaxun.num,,chaxun.time,chaxun.writer); printf(“%.2lft%st%dn“, chaxun.price,chaxun.sort,chaxun.kucun); i=1; if(i!=1) printf(“对不起,没有你想要查找的书籍。n“); fclose(fp); 二按书名查找 void namenode(FILE *fp) if(fp=fopen(“图书信息.txt“,“r“)=NULL) printf(“不能打开图书信息管理系统!n“); exit(0); int i=0; char nameMAX; book chaxun; 7 printf(“Enter name:“); scanf(“%s“,name); while(!feof(fp) fread( if(strcmp(name,)=0) printf(“%ldt%st%st%st%.2lft%st%dn“, chaxun.num,,chaxun.time,chaxun.writer, chaxun.price,chaxun.sort,chaxun.kucun); i=1; if(i!=1) printf(“对不起,没有你想要查找的书籍。n“); fclose(fp); 三按作者名查找 void writernode(FILE *fp) if(fp=fopen(“图书信息.txt“,“r“)=NULL) printf(“不能打开图书信息管理系统!n“); exit(0); int i=0; char writerMAX; book chaxun; printf(“Enter writer:“); scanf(“%s“,writer); while(!feof(fp) fread( if(strcmp(writer,chaxun.writer)=0) printf(“%ldt%st%st%st%.2lft%st%dn“, chaxun.num,,chaxun.time,chaxun.writer, chaxun.price,chaxun.sort,chaxun.kucun); i=1; if(i!=1) printf(“对不起,没有你想要查找的书籍。n“); fclose(fp); 四按出版社查找 void pressnode(FILE *fp) if(fp=fopen(“图书信息.txt“,“r“)=NULL) printf(“不能打开图书信息管理系统!n“); exit(0); int i=0; char pressMAX; book chaxun; printf(“Enter press:“); scanf(“%s“,press); while(!feof(fp) fread( if(strcmp(press,chaxun.press)=0) printf(“%ldt%st%st%st%.2lft%st%dn“, chaxun.num,,chaxun.time,chaxun.writer, chaxun.price,chaxun.sort,chaxun.kucun); i=1; if(i!=1) 9 printf(“对不起,没有你想要查找的书籍。n“); fclose(fp); 五模糊查询 void fuzzy(FILE *fp) if(fp=fopen(“图书信息.txt“,“r“)=NULL) printf(“不能打开图书信息管理系统!n“); exit(0); int k=0; char zifuMAX; book chaxun; printf(“输入关键字:“); getchar(); int i,j; for(i=0;(zifui=getchar()!=n;i+); zifui=0; while(!feof(fp) fread( for(i=0;zifui!=0;i+) for(j=0;chaxun.writerj!=0;j+) if(zifui=chaxun.writerj) printf(“%ldt%st%st%st%.2lft%st%dn“, chaxun.num,,chaxun.time,chaxun.writer, chaxun.price,chaxun.sort,chaxun.kucun); k=1; if(k!=1) printf(“对不起,没有你想要查找的书籍。n“); fclose(fp); 4.排序功能 一 按价钱排序 void price(FILE *fp) if(fp=fopen(“图书信息.txt“,“r“)=NULL) printf(“不能打开图书信息管理系统!n“); exit(0); int n; int i=1,j; n=tongji(fp); book t; book paixuMAX; while(!feof(fp) fread( i+; for(i=1;ipaixuj+1.price) t=paixuj; paixuj=paixuj+1; paixuj+1=t; for(i=1;i0) t=paixuj; paixuj=paixuj+1; paixuj+1=t; for(i=1;ikcun.kucun) printf(“%ldt%st%st%st%.2lft%st%dn“, kcun.num,,kcun.time, kcun.writer,kcun.price,kcun.sort,kcun.kucun); fclose(fp); 三统计选择函数 void tongjixinxi(FILE *fp) if(fp=fopen(“图书信息.txt“,“r“)=NULL) printf(“不能打开图书信息管理系统!n“); exit(0); int choice; printf(“1-书籍类别统计 .n2-库存低于标准统计.n“); scanf(“%d“, switch(choice) case 1:sorttongji(fp);break; case 2:kuno(fp);break; default:printf(“errorn“);break; 4.调试分析: 问题一 界面不美观,进入一次系统只能进行一项操作的问题 解决方法 通过将主菜单与清屏函数(system(“cls” ) )一起,在每次进行完一次具体操 作后都能出现 printf(“Enter your choice:n“); 问题二: 浏览图书信息时编号等文字与下面的图书信息不对应 解决办法:文字与文字间的间隔与字符字符间的间隔一致 问题三:一些小错误比如单词前后拼写错误 解决办法:反复调试修改 问题四:在查询中由于回车符释放过多使信息录入异常 解决办法:去掉多余的 getchar() 问题五:输入时无法结束输入的问题 解决
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 苏州科技大学天平学院《商务英语技巧2》2023-2024学年第二学期期末试卷
- 某地产金域蓝湾智能化系统方案
- 矿山电气设备维护与故障排除考核试卷
- 无机盐在制药工业的应用考核试卷
- 电子产品的环境适应性测试考核试卷
- 木片加工中的节能减排技术考核试卷
- 国际医疗健康金融支持服务考核试卷
- 电视机量子点显示技术的研究与应用考核试卷
- 生物技术在疾病早期诊断中的应用考核试卷
- 渔业政策与渔业经济发展关系研究考核试卷
- 现金盘点表完整版
- 2022年郑州轨道工程职业学院单招职业适应性测试试题及答案解析
- 接触网验收标准
- 地铁16号线风阀设备安装手册
- 新《危险化学品安全管理条例》课件
- 中医科物理治疗登记表
- 高山下的花环
- 中医望色望神图集共59张课件
- 《跋傅给事帖》2020年浙江嘉兴中考文言文阅读真题(含答案与翻译)
- 物业小区保洁清洁方案
- 银行从业资格考试题库附参考答案(共791题精心整理)
评论
0/150
提交评论