C语言程序设计----图书信息管理系统.doc
《C语言程序设计----图书信息管理系统.doc》由会员分享,可在线阅读,更多相关《C语言程序设计----图书信息管理系统.doc(30页珍藏版)》请在咨信网上搜索。
1、- .?程序设计根底(C)?课程设计报告图书信息管理系统学 生 姓 名:朱斌学 号: 201211354班 级: 电力工程与管理1201班指 导 老 师:邓伟华日 期:2013.07.05交通大学新能源与动力工程学院C语言课程设计报告一、设计目标1二、总体设计2三、详细设计2五、分析及结论9六、参考文献11七、附录11源程序清单11一、设计目标图书信息包括:登录号、书名、作者名、分类号、出版单位、出版时间、价格等。设计的图书信息管理系统,应当具备能提供以下功能:1、系统以菜单方式工作2、图书信息录入功能输入3、图书信息浏览功能输出4、图书信息查询功能算法查询方式:1按书名查询.2.按作者名查询
2、5、图书信息的删除与修改二、总体设计1.程序设计组成框图图书信息管理系统系统登录模块菜单项选择择模块图书信息录入模块图书信息浏览模块图书信息查询模块图书信息修改模块设计:朱斌设计:周勇设计:闫鹏设计:X旭东设计:杨国峥设计:王文模2.程序流程图三、详细设计1、系统登录模块f1()本函数由朱斌设计1函数的功能:验证管理员信息,进入菜单功能界面2函数的入口:从main()的switch()构造中进入,即choice的值为1时进入函数,然后提示用户通过键盘对输入管理员账户及密码。3)函数调用关系:被主函数调用。由switch()开关构造中进入,并在文中无返回值的空值void函数。4)函数的出口:当验
3、证失败,提示重新输入。当验证成功,通过“ENTER键,跳出switch()开关函数,进入菜单功能模块,继续执行选择构造。程序流程图:图书登录系统界面2.菜单功能选择模块f2()本函数由周 勇设计 1函数功能:主要作用是提示用户操作,表达模块化思想,主要是显示出菜单让用户选择要进展的任务。2函数入口:从主函数void中的 adm_servelist()进入函数,这是直接被主函数void()调用的。3函数调用关系:被主函数调用。并在文中无返回值的空值void函数。4函数的出口:执行完所有的printf()函数后自动退出该函数。图书管理系统添加图书删除图书信息浏览信息查询修改图书创立图书退出管理系统
4、开场输入n,判断是否06?输入n,调用各个模块的函数完毕YN主函数的流程图菜单界面3.修改与删除模块f3()本函数由王文模设计图书删除1函数功能:利用while循环和 if 语句和scanf getchar search change del 函数,完成对图书信息分类名 出版单位 出版时间 价格的修改和删除2) 函数入口:从主函数main()中的system(cls); /*清屏命令*/menu(); /*菜单函数提示用户怎样选择*/进入函数,这是直接被主函数main()调用的。3) 调用关系:void change(int x)是改变图书信息,它里面又调用了 book_search();4)
5、 函数出口:执行完所有的printf()函数后自动退出该函数。程序框架图图书修改该模块实现按照用户需求,将需要修改的图书名输入,进展for循环查找是否有此书,假设无,那么显示未找到,退出,假设有,那么显示输入新的图书信息,开场输入修改的信息,进展for循环开场录入,替换原文件信息完毕显示“修改成功图书修改界面图书删除界面4.图书信息浏览f4()本函数由旭东设计1) 函数的功能: 显示图书的信息编号价格作者出版单位出版时间类别2函数的入口: 从主函数main()中的system(cls); /*清屏命令*/menu(); /*菜单函数提示用户怎样选择04信息浏览/进入函数,这是直接被主函数mai
6、n()调用的。3函数调用关系:被主函数调用。并在文中无返回值的空值void函数。4函数的出口:执行完所有的printf()函数后自动退出该函数。框架图图书浏览流程图图书浏览5.图书查询本函数由国峥设计1函数的功能: 按着书名查询与作者名查询,输出排序结果。 2函数的入口: 程序从main()的while()开关构造中进入,即choice的值为4时进入该函数,开场进入该函数,进入函数后,首先翻开文件,然后利用“printf选择按书名查询与作者名查询,假设flag=1或flag=2那么有此书。假设flag=0那么无此书,并退出查询。3函数调用关系:被主函数调用。由while()开关构造中进入,并在
7、文中无返回值的空值void函数。4函数的出口: 当输出查询结果用printf()标准输出到屏幕上,然后完毕该函数,而执行主函数main()中“break;跳出while()开关函数,继续执行if选择构造。图书信息查询按书名查询1EXIT(0)按作者名查询204信息查询输入a,判断a是否为02?a=0,退出回到主菜单a=1,那么调用search-by-name按书名查询输入书名,假设有此书那么输出此书信息,假设没有,那么输出file open error!没有,那么输出file open error!a=2,那么调用search-by-writer按作者名查询输入作者名,假设有此书那么输出此书信
8、息假设没有,那么输出file open error按图书名查询按作者名查询6.输入模块本函数由 闫 鹏 设计1) 函数的功能:利用for循环语句和scanf、gets、getchar函数完成对构造数组的输入,存放图书信息图书编号、图书名、作者名、类别、出版时间、价格。2) 函数的入口:从主函数main()中的system(cls); /*清屏命令*/menu(); /*菜单函数提示用户怎样选择*/进入函数,这是直接被主函数main()调用的。3) 函数调用关系:被主函数调用。并在文中无返回值的空值void函数。4) 函数的出口:执行完所有的printf()函数后自动退出该函数。程序框架图:录入
9、数据请输入图书编号请输入图书名请输入作者名请输入请输入类别请输入出版时间请输入价格图书信息输入四、调试与测试调试方法:翻开Microsoft Visual C+ 6.0,先将各个功能函数的的容清空,只保存主函数main(),然后编译检验main()函数中是否有错,如果没有错误,再连接、运行。确认main()函数一切无误后,然后参加功能函数menu()函数与f1()函数,由于menu()函数比拟简单,所以与f1()函数一起进展调试,f1()函数中主要注意读取文件,与写入文件,这都是二进制的形式。假设menu()函数与f1()函数编译、连接、运行没问题,继续参加f2()函数,就这样的方法依次检查调
10、试f3()函数、f4()函数。当所有的功能函数都加上且正确无误时,就可以进入下一个环节程序的测试。测试方法:运行程序,然后进入销售管理系统的界面,在这里需要做的就是把自己当成一个公司的程序使用者,来对该程序进展使用,看该程序有哪些方面用着不够爽,把这些问题依次整理出来,再对源程序进展修改,在这个过程中也需要对程序进展调试,不过不必将各个功能函数的的容清空再进展如上述的调试方法,而是,改一部份运行一次,看是否有无。如f1()函数有误,那么先修改f1()函数,一块一块的进展修改,就是遵循C语言的模块化设计原理,假设所有的都改正来了,且运行无误,那就大功告成了。在调试中遇到的问题:在调试过程中,我们
11、遇到诸多小问题,但都在我们共同讨论后解决了。1、问题:标点符号在输入的时候,使用的是中文输入法,这种错误一般都难以发现,让修改的时候找不到目标。解决方法:用“替换。如果程序中的error很多,不管error是什么,先将标点替换成英文的标点。2、问题:调试时,有的时候编译后没什么问题,就是在点击连接link时出现了错误。而且,这种错误让我们不知道怎么修改。但是我们的程序确实正确。解决方法:将源程序保存save,然后关掉Microsoft Visual C+ 6.0,重新启动Microsoft Visual C+ 6.0,五、分析及结论A、在设计中我们实现了设计目标的所有容即:1、系统以菜单方式工
12、作2、图书信息录入功能输入3、图书信息浏览功能输出4、图书信息查询功能算法查询方式:1按书名查询.2.按作者名查询5、图书信息的删除与修改B、其中遇到了以下问题:不能清晰的建立设计模块,不会修改出现的错误等等。解决方案:向同学寻求帮助,向他们学习,最终通过自己努力建立了模块。不可防止地程序中肯定依然存在者某些问题在应用中不断提高自己的能力,攻克遇到的困难。C、该程序的缺乏:函数较复杂,界面不美观。D、实践心得经过一个多星期的编译原理课程设计,在我们一组的共同的努力下,顺利完成该课程设计。通过该课程设计,掌握了编译程序工作的根本过程及其各阶段的根本任务,熟悉了编译程序总流程框图,了解了编译程序的
13、生成过程及其相关的技术,对课本上的知识也有了更深的理解。教师常说,课本上的知识是机械的,外表的,要学会去运用,要举一反三。现在终于深刻的了解了这句话。经过这次的课程设计,发现书本上很深奥的知识变的更为简单,同样,对C程序原理也了有更深的理解。知道和理解了该理论在计算机中是怎样执行的, 对该理论在实践中的应用有深刻的理解 。通过该课程设计,把死板的课本知识变得生动有趣,激发了学习的积极性。能够把课堂上学的知识通过自己设计的程序表示出来,加深了对理论知识的理解。课程设计中程序比拟复杂,在调试时应该仔细,在程序调试时,注意指针,将不必要的命令去除。除了课堂外,课程设计是最能学到东西的,最考验人的。在
14、做课程设计的这段时间,时刻都感到自己学的知识有多么的贫瘠。经过这次课程设计,让我们对C+这门语言有了更深的认识,操作能力有了提高要想是写出的代码能运行,需要耐心细心,毅力以及充分的体力。只有经过屡次编辑,屡次编译,再屡次运行,才能编写出更好的程序,有时候需要屡次的更正才能到达所要的运行结果。在编写本程序时,在网上寻找的参考程序起到了很大的启发与参考作用。六、参考文献1、?C语言程序设计.谭浩强版?2、?C语言上机指导?3、?Microsoft Visual C+ 6.0指南?4、附:在编写本程序时,在网上寻找的参考程序起到了很大的启发与参考作用。七、附录源程序清单源程序清单#include#i
15、nclude#includestruct book/声明BOOK类的所有变量int num;char bname50;char wname20;char press50;char sort50;int time;float price; struct book *next;struct book *creatbook();/创立链表struct book *addbook(struct book *head);/添加图书int yanzheng(struct book *head,int m);/验证新添加的图书编码是否已存在void deletebook(struct book *head)
16、;/删除图书void fprint(struct book *head);/将链表写入文件struct book *load();/从文件中读取信息并建成链表void print_book(struct book *head);/将链表信息输出void chaxun(struct book *head);/查询图书信息void wname_chaxun(struct book *head);/按作者名查询图书void bname_chaxun(struct book *head);/按图书名查询图书void xiugai(struct book *head);/修改图书信息int main()
17、本代码由小 组设计int choice,n,x,y=1,c,c1=317;/choice 选择进入哪项功能:对图书的增删改查char a,d,b10,b110=317;struct book *head=NULL;/声明一个新的book类while(y)/实现 登录 退出系统 这两个选项 在输入口令错误时产生的循环system(cls);/清屏printf(|=|n); printf(| 欢送进入 |n); printf(| 交通大学图书管理系统 |n);printf(|=|n); printf(| 请输入选项(0-1) |n); printf(|=|n);printf(| 1-用户登录 |n
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 语言程序设计 图书 信息管理 系统
1、咨信平台为文档C2C交易模式,即用户上传的文档直接被用户下载,收益归上传人(含作者)所有;本站仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。所展示的作品文档包括内容和图片全部来源于网络用户和作者上传投稿,我们不确定上传用户享有完全著作权,根据《信息网络传播权保护条例》,如果侵犯了您的版权、权益或隐私,请联系我们,核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
2、文档的总页数、文档格式和文档大小以系统显示为准(内容中显示的页数不一定正确),网站客服只以系统显示的页数、文件格式、文档大小作为仲裁依据,平台无法对文档的真实性、完整性、权威性、准确性、专业性及其观点立场做任何保证或承诺,下载前须认真查看,确认无误后再购买,务必慎重购买;若有违法违纪将进行移交司法处理,若涉侵权平台将进行基本处罚并下架。
3、本站所有内容均由用户上传,付费前请自行鉴别,如您付费,意味着您已接受本站规则且自行承担风险,本站不进行额外附加服务,虚拟产品一经售出概不退款(未进行购买下载可退充值款),文档一经付费(服务费)、不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
4、如你看到网页展示的文档有www.zixin.com.cn水印,是因预览和防盗链等技术需要对页面进行转换压缩成图而已,我们并不对上传的文档进行任何编辑或修改,文档下载后都不会有水印标识(原文档上传前个别存留的除外),下载后原文更清晰;试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓;PPT和DOC文档可被视为“模板”,允许上传人保留章节、目录结构的情况下删减部份的内容;PDF文档不管是原文档转换或图片扫描而得,本站不作要求视为允许,下载前自行私信或留言给上传者【二***】。
5、本文档所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用;网站提供的党政主题相关内容(国旗、国徽、党徽--等)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
6、文档遇到问题,请及时私信或留言给本站上传会员【二***】,需本站解决可联系【 微信客服】、【 QQ客服】,若有其他问题请点击或扫码反馈【 服务填表】;文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“【 版权申诉】”(推荐),意见反馈和侵权处理邮箱:1219186828@qq.com;也可以拔打客服电话:4008-655-100;投诉/维权电话:4009-655-100。