ImageVerifierCode 换一换
格式:DOCX , 页数:23 ,大小:598.75KB ,
资源ID:8135179      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/8135179.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(C语言程序的设计实践课程报告.docx)为本站会员(b****5)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

C语言程序的设计实践课程报告.docx

1、C语言程序的设计实践课程报告课 程 报 告课 程 名 称: 程序设计实践 专 业 班 级 : 计算机科学与技术1205班 学 生 姓 名 : 雷原康 学号 : 2 任 课 教 师 : 卫东 学 期 :2012-2013学年第二学期 课程报告任务书题 目图书信息管理系统主要容开发一个图书信息管理系统,图书信息包括:图书编号、书名、作者、类别、出版时间、价格等基本信息(也可以根据自己情况进行扩充,比如是否借出、库存量等)。使之能提供以下基本功能:(1)图书信息录入功能(图书信息用文件保存)输入 (2)图书信息浏览功能输出(3)查询功能(至少一种查询方式)、排序功能(至少一种排序方式): 按书名查询

2、 按作者名查询 按照价钱排序按出版时间排序等等(4)图书信息的删除与修改扩展功能:可以按照自己的程度进行扩展。比如(1)简单的权限处理 (2)报表打印功能(3)甚至根据自己情况,可以加上学生信息,并扩充为图书借阅系统。(4)模糊查询 (5)综合查询 (6)统计功能 比如统计处某一类别的图书信息 或 筛选出小于指定数量库存的图书信息等等,总之,可以根据自己需求进行分析功能。任务要求一、提交材料应包括:(1)系统源代码 (2)课程报告二、整个设计过程具体要求(1)需求分析 要求学生对案例系统进行分析,设计出需要完成的功能,完善各个模块的调用关系;(2)设计过程 要求学生进一步明确各模块调用关系,进

3、一步完善模块函数细节(函数名、参数、返回值等)(3)实现过程 要求学生养成良好的编码习惯、完成各个模块并进行测试,最终完成系统整体测试;(4)总结阶段 按照要求完成系统设计和实现报告,并进行总结、答辩。成绩评定报告撰写情况(30分)系统完成情况(30分)答辩情况(40分)总分容20分规程度5分程序测试5分基本功能20分扩展功能10分自述情况10分答辩情况30分成绩评定教师: 1.需求分析经过大一上学期的理论学习,在基础实验的基础上,本学期我们继续开设了C语言程序设计实践课。课程要求我们对已经学习的基础实验进行整合与衔接处理,并最终形成一个系统性质的规模较大的程序。本次课程设计要求我们达到能独立

4、完成一个图书管理系统,完成后要现的功能有对图书信息的录入、删除、修改,浏览(即输出), 按某种方式查询(要求至少一种查询方式),按某种方式排序(要求至少一种排序方式)。当然,我们可以根据自己的能力对系统进行完善性的拓展,例如自己加入简单的权限处理,统计功能,模糊查询等,甚至可以拓展为图书借阅系统。通过整个程序的开发过程,最终使我们掌握利用计算机解决实际问题的基本方法,熟悉C语言开发的全过程,提高综合应用C语言的能力、编程和调试能力,为学习计算机后续课程打好专业基础。 2.概要设计1.系统采用的是结构数组数据系统,用于实现图书信息的存放,修改,排序等功能。 用二进制文件保存已写入的信息。2.模块

5、划分:1void AddNewbook图书信息录入系统2void Rprint图书信息浏览系统3void Querybook图书信息查询系统:void numnode1-书籍编号查找 .2-书名void namenode查找.3-void writer作者查找.4-void press查找.5-void fuzzy模糊查找.4void paixu 图书信息排序系统:1-价格排序2-时间排序5 Voide xiugai图书信息修改系统6Void shanchu图书信息删除系统 7 图书信息统计系统:1-void sorttongji书籍类别统计.2-void kuno库存低于标准统计3.程序框架

6、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+)=NUL

7、L) printf(不能打开图书信息管理系统!n); exit(0); book newbook; printf(-1代表结束); while(a!=-1) printf(输入书籍编号:); scanf(%ld,&newbook.num); printf(输入书名:); scanf(%s,newbook.name); printf(输入出版时间:); scanf(%s,newbook.time); printf(输入); scanf(%s,newbook.writer); printf(输入价格:); scanf(%lf,&newbook.price); printf(输入:); scanf(

8、%s,newbook.press); printf(输入书籍种类:); scanf(%s,newbook.sort); printf(输入库存量:); scanf(%d,&newbook.kucun); fwrite(&newbook,size,1,fp); scanf(%d,&a); fclose(fp);3.图书浏览系统void Rprint(FILE *fp)/图书信息浏览system(cls); if(fp=fopen(图书信息.txt,r+)=NULL) printf(不能打开图书信息管理系统!n); exit(0); book log; printf(书籍编号 书名 出版时间 作者

9、 价格 种类 库存量 n); while(!feof(fp) fread(&log,sizeof(book),1,fp); printf(%8ld %s %6s %10s %.2lf %s %s %d n, log.num,log.name,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

10、; book chaxun; printf(Enter num:); scanf(%ld,&num); while(!feof(fp) fread(&chaxun,size,1,fp); if(num=chaxun.num) printf(%ldt%st%st%st, chaxun.num,chaxun.name,chaxun.time,chaxun.writer); printf(%.2lft%st%dn, chaxun.price,chaxun.sort,chaxun.kucun); i=1; if(i!=1) printf(对不起,没有你想要查找的书籍。n); fclose(fp);二按

11、书名查找void namenode(FILE *fp) if(fp=fopen(图书信息.txt,r)=NULL) printf(不能打开图书信息管理系统!n); exit(0); int i=0; char nameMAX; book chaxun; printf(Enter name:); scanf(%s,name); while(!feof(fp) fread(&chaxun,size,1,fp); if(strcmp(name,chaxun.name)=0) printf(%ldt%st%st%st%.2lft%st%dn, chaxun.num,chaxun.name,chaxun

12、.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(f

13、p) fread(&chaxun,size,1,fp); if(strcmp(writer,chaxun.writer)=0) printf(%ldt%st%st%st%.2lft%st%dn, chaxun.num,chaxun.name,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) pr

14、intf(不能打开图书信息管理系统!n); exit(0); int i=0; char pressMAX; book chaxun; printf(Enter press:); scanf(%s,press); while(!feof(fp) fread(&chaxun,size,1,fp); if(strcmp(press,chaxun.press)=0) printf(%ldt%st%st%st%.2lft%st%dn, chaxun.num,chaxun.name,chaxun.time,chaxun.writer, chaxun.price,chaxun.sort,chaxun.ku

15、cun); i=1; if(i!=1) 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(&chaxun,size,1,fp)

16、; 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.name,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(图

17、书信息.txt,r)=NULL) printf(不能打开图书信息管理系统!n); exit(0); int n; int i=1,j; n=tongji(fp); book t; book paixuMAX; while(!feof(fp) fread(&paixui,size,1,fp); i+; for(i=1;in;i+) for(j=1;jpaixuj+1.price) t=paixuj; paixuj=paixuj+1; paixuj+1=t; for(i=1;in;i+) printf(%ldt%st%st%st%.2lft%st%dn, paixui.num,paixui.nam

18、e,paixui.time,paixui.writer, paixui.price,paixui.sort,paixui.kucun); fclose(fp);二按时间排序void time(FILE *fp) if(fp=fopen(图书信息.txt,r)=NULL) printf(不能打开图书信息管理系统!n); exit(0); int n; int i=1,j; n=tongji(fp); book paixuMAX,t; while(!feof(fp) fread(&paixui,size,1,fp); i+; for(i=1;i=n;i+) for(j=1;j0) t=paixuj

19、; paixuj=paixuj+1; paixuj+1=t; for(i=1;in;i+) printf(%ldt%st%st%st%.2lft%st%dn, paixui.num,paixui.name,paixui.time, paixui.writer,paixui.price,paixui.sort,paixui.kucun); fclose(fp);三排序选择void paixu(FILE *fp) int choice=-1; printf(1-价格排序n2-时间排序n); scanf(%d,&choice); switch(choice) case 1:price(fp);bre

20、ak; case 2:time(fp);break; default:printf(errorn);break;5.修改功能 void bookxiugai(FILE *fp) if(fp=fopen(图书信息.txt,r)=NULL) printf(不能打开图书信息管理系统!n); exit(0); FILE *t; int n=0; int i=0; if(t=fopen(图书信息.txt,r+)=NULL) printf(不能打开图书信息管理系统!n); exit(0); long num; int choice; book xiugai; book duqu; printf(输入要修改

21、书的编号:); scanf(%ld,&num); while(!feof(t) i+; fread(&duqu,size,1,t); if(num=duqu.num) printf(请输入修改后的书籍信息:n); printf(请输入书籍编号:); scanf(%d,&xiugai.num); printf(请输入书名:); scanf(%s,xiugai.name); printf(请输入); scanf(%s,xiugai.writer); printf(请输入出版时间:); scanf(%s,xiugai.time); printf(请输入价格:); scanf(%lf,&xiugai.

22、price); printf(请输入:); scanf(%s,xiugai.press); printf(请输入书籍种类:); scanf(%s,xiugai.sort); printf(请输入库存量:); scanf(%d,&xiugai.kucun); n=i; fseek(t,(n-1)*size,0); printf(1-确认修改。n其他数字-取消修改。); scanf(%d,&choice); if(choice=1) fwrite(&xiugai,size,1,t); printf(修改成功!n);6.删除功能void bookshanchu(FILE *fp) FILE *t;

23、if(fp=fopen(图书信息.txt,r)=NULL) printf(不能打开图书信息管理系统!n); exit(0); int i=1,n; long num; n=tongji(fp); book duquMAX; printf(请输入书籍编号:); scanf(%ld,&num); while(!feof(fp) fread(&duqui,size,1,fp); i+; if(t=fopen(图书信息.txt,w)=NULL) printf(不能打开图书信息管理系统!n); exit(0); for(i=1;ikcun.kucun) printf(%ldt%st%st%st%.2lf

24、t%st%dn, kcun.num,kcun.name,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,&choice); switch(choice) case 1:sorttongji(fp);break;

25、case 2:kuno(fp);break; default:printf(errorn);break; 4.调试分析:问题一 界面不美观,进入一次系统只能进行一项操作的问题解决方法 通过将主菜单与清屏函数(system(“cls”)一起,在每次进行完一次具体操作后都能出现printf(Enter your choice:n);问题二: 浏览图书信息时编号等文字与下面的图书信息不对应解决办法:文字与文字间的间隔与字符字符间的间隔一致问题三:一些小错误比如单词前后拼写错误解决办法:反复调试修改问题四:在查询中由于回车符释放过多使信息录入异常解决办法:去掉多余的getchar()问题五:输入时无法结束输

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1