欢迎来到淘文阁 - 分享文档赚钱的网站! | 帮助中心 好文档才是您的得力助手!
淘文阁 - 分享文档赚钱的网站
全部分类
  • 研究报告>
  • 管理文献>
  • 标准材料>
  • 技术资料>
  • 教育专区>
  • 应用文书>
  • 生活休闲>
  • 考试试题>
  • pptx模板>
  • 工商注册>
  • 期刊短文>
  • 图片设计>
  • ImageVerifierCode 换一换

    2023年《C语言程序》课程设计_图书管理系统[1].pdf

    • 资源ID:92547264       资源大小:3.66MB        全文页数:21页
    • 资源格式: PDF        下载积分:4.3金币
    快捷下载 游客一键下载
    会员登录下载
    微信登录下载
    三方登录下载: 微信开放平台登录   QQ登录  
    二维码
    微信扫一扫登录
    下载资源需要4.3金币
    邮箱/手机:
    温馨提示:
    快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。
    如填写123,账号就是123,密码也是123。
    支付方式: 支付宝    微信支付   
    验证码:   换一换

     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    2023年《C语言程序》课程设计_图书管理系统[1].pdf

    C 语言程序 课程设计 报告书 设计题目:图书管理 专业:电子信息工程 班级:学生姓名:学 号:指导教师:2010 年 5 月 信息工程学院 目 录 摘 要-02 第一章 绪论-04 第二章 问题定义(或系统分析)-05 第三章 总体设计和详细设计-07 第四章 编码实现-09 第五章 调试和测试-11 总结和心得-12 附录:1 源代码-13 2 参考资料-23 摘 要 当今计算机使用在生活中可以说是无处不在,因此作为二十一世纪的大学生来说掌握程序开发技术是十分重要的.而 C 语言又是最常见的,功能最强大的一种语言.因此,做好 C 语言课程设计是非常必要的.课程设计是培养学生综合运用所学知识,发现,提出,分析和解决实际问题,锻炼实践能力的重要环节,是对我们的实际工作能力的具体训练和考察过程。从拿 到题目到完成整个编辑的几个星期里,不仅巩固了以前学过的知识,还可以学到很多新的东西。我做的图书资料管理系统,虽然是一个小程序,但对我这样一初学者来说确实是一个很大的困难,以至于好几节课程设计下来还是没什么太大的进展。在图书管理系统中,要为每一个借阅者建立一个帐户,并给借阅者发放借阅卡,帐户中存储借阅者的个人信息,借阅信息,以及预定信息。持有借阅卡的借阅者可以借阅书刊,反还书刊,查询书刊信息,预定书刊并取消预定,但这些操作都是通过图书管理员进行的,即借阅者不直接和系统交互,而是图书管理员充当借阅者的代理和系统交互。在借阅书刊时,需要输入所借阅的书刊的名字,书刊的 ISBN/ISSN 号,然后输入借阅者的图书卡号和借阅者名,完成后提交所添表格,系统验证借阅者是否有效,若有效,借阅请求被接受,系统查询数据库系统,看借阅者所借阅书刊是否存在,若存在,则借阅者可以借阅书刊,建立并在系统中存储借阅记录。借阅者还书后,删除关于所还书刊的借阅记录。如果借阅者所借阅的书刊已被借出,借阅者还可以预定该书,一旦借阅者预定的书刊可以获得,就将书刊直接寄给预定人。这个程序主要考察了学生对结构体,指针,文件的操作,以及 C 语言 算法的掌握,所以完成此道题目要求较强的设计能力,尤其是一种大局意 识。如何调试程序也非常重要,通过这个程序可以学到以前调试短程序没 有的的经验。【关键字】1 图书管理 2 图书查找 3 图书借还 4 图书的新增和修改 第一章 绪论 1.1 选题背景 随着社会的发展及知识经济时代的到来,管理信息系统在各行各业发挥着越来越重要的作用。但在高校的图书管理中,避免了手工操作而带来的一些不必要的问题。1.2 系统目标 本系统的目标是将高校图书管理工作实现计算机管理,从而大幅度提高工效率,提高实施管理的准确性、科学性;使担负管理的工作人员从繁杂的手工劳作中解脱出来,更好实施针对图书借阅管理在手工操作遇到的问题。1.3 系统目的 通过本项课程设计,可以培养独立思考、综合运用所学有关相应知 识的能力,能更好的巩固 C 语言程序设计课程学习的内容,掌握工程软件设计的基本方法,强化上机动手编程能力,闯过理论和实践相结合的难关!更加了解了 c 语言的好处和其可用性!同时增加了同学之间的团队合作精神!更加也体会到以后在工作中团队合作的重要性和必要性!第二章 问题定义(或系统分析)2.1 题目分析 一、目的要求 本课程设计任务的目的是要求学生按照分析、设计、编码、调试和测试的软件开发过程独立完成管理系统设计,以及 C 语言算法的掌握,并能最终实现本系统的功能要求,通过这个程序可以学习到以前调试短程序没有的的经验。【题目要求】(1)为各项操作功能设计一个菜单。使用程序运行后,先显示这个菜单,然后用户通过菜单项选择希望进行的操作项目;(2)要求以上功能分别用函数实现。并要求用 C 语言的文件操作语句将以上所有结果保存在文件 XX.out。【输入/输出要求】(1)使用程序运行后,先显示一个菜单,然后用户根据需要选择相应 的操作项目。进入每个操作后,根据程序的提示输入相应的信息;(2)要求用户输入数据时,要给出清晰、明确的提示信息,包括输入的数据内容、格式及结束方式等。菜单中的每一个选项都对应一个子程序,子程序的算法几乎囊获了所有 C 语言学过的技巧。目前社会管理系统发展飞快,教务管理信息系统也是有了很大的发展。本系统完全独立开发,力求使系统功能简明,但功能全易操作。它适应了时代发展,适应了我国教育深化改革、全面实施素质教育的需要;从技术角度分析,这项开发工作所涉及的专业技术如下:操作系统采用Windows 2000 以上的版本;在数据管理系统上,我们可采用了 Microsoft Office Access,开发工具选用 Microsoft Visual Basic.NET2003;从经济角度分析,采用计算机管理不但可以提高工作效率,而且还可以节省人力、物力、财力,降低了人工处理产生的错误 第三章 总体设计和详细设计 图书数据:书号,书名,作者,出版时间,价格,册数,页数 借书人信息:姓名,单位,所借书目,借阅时间等 1.借书模块:输入书名 编号 借书证号(如书库中有书并且册数大于 0,则进行借书,借书日期由系统时间提供)2.还书模块:登记借书证号 进行还书操作 同时提供有无超时 有则给予罚款处理。3.图书管理:对书库中书进行管理 新书入库 旧书删除 对库存量进行统计和查询 4.查询模块:对书库中书进行查询 根据书名进行查询 根据书号进行查询 根据出版社进行查询 对借阅书进行查询 对一段时间或某书进行查询和统计 第四章 编码实现 增加图书功能,id 自动排号 根据图书类型和图书状态,显示用户信息 int add_books(Book*head,Book*book_for_add)Book*p=head;if(!p)return-1;while(p-_next)p=p-_next;p-_next=book_for_add;book_for_add-_id=p-_id+1;book_for_add-_prev=p;book_for_add-_next=NULL;book_for_add-_count=0;book_for_add-_status=0;return 0;查找书名称,返回查找到的数量,书名可能有重复的,一本书可能也有很多本,但是 ID 却是唯一的 int search_books_by_name(Book*book_head,char*name)int count=0;Book*p=book_head;while(p)if(strcmp(p-_name,name)=0)print_book(p);+count;p=p-_next;return count;借书,返回该书的指针,否则就返回 NULL,可能不存在图书,或者已经被借走了 Book*borrow_books(Book*book_head,int id)Book*p=book_head;while(p)if(p-_id=id)break;p=p-_next;if(!p)/*不存在*/return NULL;还书,正常归还就返回该书的指针,否则就返回 NULL 还书要登记 Book*return_books(Book*book_head,int id)Book*p=book_head;while(p)if(p-_id=id&p-_status!=0)p-_status=0;第五章 调试和测试 运行的结果说明:在 Visual C+6.0 在此环境下运行比较好,其界面十分友好并且能正常运行。第六章 总结和心得 首先我觉得,用到的程序段不必太高级,因为天下事皆有高低之分,决定优劣的不是集体中的某部分的强弱,起决定作用的是组合内各元素的和谐,要能在一个集体中各尽其用,每个人都能发挥自己的长处,避免自己的短处,那么这个集体的组合能量是最优的。选择什么等级的 C 语言就是关键,最后我决定运用文件,我的理解是;必须建立一个文件,它能够保存新的录入文挡,又能在提示语的要求下读出文档。然而,这只是万里长征的第一步,后面的路还很长,困难还有很多,可是我能成功的编译一个程序,能够在思路卡壳的情况下,继续前进,我在此很感谢给予我耐心解答的老师和同学,是他们为我小程序的成功起到了关键性的作用,那么多个日夜,如此多的困难,同学们勤恳塌实,从开始到结束,始终热情高涨,我感谢这种氛围,感谢学校提供的良好条件。在课程设计过程中,我学到了很多人生哲理,懂得怎么样去制定计划,怎么样去实践计划,并掌握了在执行过程中 附录 源代码 汉字菜单的编写可参照以下代码:#include stdio.h.main()char c;int i;do clrscr();for(i=0;i80;i+)printf(*);printf(t 1:add booksn);printf(t 2:list booksn);printf(t 3:sreach booksn);printf(t 4:borrow booksn);printf(t 5:return booksn);printf(“t6:exitn”)printf(t请选择输入选项 123456:n);do c=getchar();while(c!=1&c!=2&c!=3&c!=4&c!=5&!=6);getchar();switch(c)case 1:input();break;case 2:del();break;case 3:find();break;case 4:arrange();break;case 5:right();break;case 6:exit(0);printf(按任意键返回主菜单:n);getchar();clrscr();while(1);#include#include#include#define BORROWED 1#define NOBORROW 0/*定义图书结构*/struct Book int _id;/编号,唯一 char _name32;/图书的名称,不唯一 int _type;/图书的类型,不唯一 int _status;/图书的状态,借出/没有借出 int _count;/图书借出的次数 struct Book*_next;/下一本书 struct Book*_prev;/上一本书;/*定义图书类型*/typedef struct Book Book;/*操作的目录提示*/char book_menu32=add books,list books,search books,borrow books,return books,exit,;/*操作的目录提示 1*/char book_menu_sub32=search books by name,search books by type,;/*添加图书类型,用户信息显示*/char book_types32=type0,type1,type2,;/*添加图书状态,用户信息显示*/char book_status32=noborrow,borrowed,;/*增加图书,id 自动排号*/int add_books(Book*head,Book*book_for_add)Book*p=head;if(!p)return-1;while(p-_next)p=p-_next;p-_next=book_for_add;book_for_add-_id=p-_id+1;book_for_add-_prev=p;book_for_add-_next=NULL;book_for_add-_count=0;book_for_add-_status=0;return 0;/*建立图书管理链表*/Book*create_list(Book*book_head)if(book_head)book_head-_prev=book_head;book_head-_next=NULL;book_head-_id=1;book_head-_count=0;book_head-_status=0;return book_head;/*释放链表*/void free_list(Book*book_head)Book*p,*p1;p=book_head;while(p)p1=p-_next;free(p);p=p1;/*打印图书信息*/void print_book(Book*book)printf(id:%d,name:%s,type:%s,status:%s,times:%d n,book-_id,book-_name,book_typesbook-_type,book_statusbook-_status,book-_count);/*列出所有登记的图书*/void list_books(Book*book_head)Book*p=book_head;while(p)print_book(p);p=p-_next;/*借书,返回该书的指针,否则就返回 NULL,可能不存在图书,或者已经被借走 了*/Book*borrow_books(Book*book_head,int id)Book*p=book_head;while(p)if(p-_id=id)break;p=p-_next;if(!p)/*不存在*/return NULL;if(p-_status!=0)/*已经被借走*/return NULL;p-_status=1;/*借书登记*/p-_count+;/*被借阅次数+1*/return p;/*查找书名称,返回查找到的数量,书名可能有重复的,一本书可能也有很多本,但是 ID 却是唯一的*/int search_books_by_name(Book*book_head,char*name)int count=0;Book*p=book_head;while(p)if(strcmp(p-_name,name)=0)print_book(p);+count;p=p-_next;return count;/*查找书类型,返回查找到的数量,一个类型会有很多书*/int search_books_by_type(Book*book_head,int type)int count=0;Book*p=book_head;while(p)if(p-_type=type)print_book(p);+count;p=p-_next;return count;/*还书,正常归还就返回该书的指针,否则就返回 NULL*/Book*return_books(Book*book_head,int id)Book*p=book_head;while(p)if(p-_id=id&p-_status!=0)p-_status=0;/*还书登记*/break;p=p-_next;return p;/*打印操作选项*/void print_menu(char menus32)int no=0;printf(nPLEASE SELECT ID LIKE 1 or 2.n);while(strlen(menusno)printf(%d t%sn,no+1,menusno);+no;printf(OPTION();while(no)printf(/%d,no-);printf():);/*主函数*/int main(void)char key=0;char ss128;int loop=1;Book first_book,*pBooks,*pTmp;strcpy(first_book._name,nihao);first_book._type=0;pBooks=create_list(&first_book);while(loop)print_menu(book_menu);gets(ss);key=ss0-48;if(key 6)printf(Error input!n);else printf(INPUT:%dn,key);switch(key)case 1:/add books pTmp=(Book*)malloc(sizeof(Book);if(pTmp)printf(Add_Book input name:);gets(ss);strncpy(pTmp-_name,ss,31);print_menu(book_types);gets(ss);key=ss0-48;if(key(sizeof(book_types)/32)key=1;pTmp-_type=key-1;add_books(pBooks,pTmp);break;case 2:/list books list_books(pBooks);break;case 3:/search books print_menu(book_menu_sub);gets(ss);key=ss0-48;printf(INPUT:%dn,key);switch(key)case 1:/search books by name printf(input book name:);gets(ss);key=search_books_by_name(pBooks,ss);if(key=0)printf(no found!n);case 2:/search books by type print_menu(book_types);gets(ss);key=ss0-48;key=search_books_by_type(pBooks,key-1);if(key=0)printf(no found!n);default:break;break;case 4:/borrow books printf(Borrow books,input book id:);gets(ss);key=atoi(ss);pTmp=borrow_books(pBooks,key);if(!pTmp)printf(borrow books failed:%dn,key);else printf(borrow books successful!n);print_book(pTmp);break;case 5:/return books printf(Return books,input book id:);gets(ss);key=atoi(ss);pTmp=return_books(pBooks,key);if(!pTmp)printf(return books failed:%dn,key);else printf(return books successful!n);print_book(pTmp);break;case 6:/exit loop=0;break;default:break;printf(-pause-);gets(ss);free_list(pBooks);return 0;参考资料 C 程序设计语言 机械工业出版社 程序设计实践 机械工业出版社 C 程序设计 清华大学出版社 C 专家编程 人民邮电出版社 C 程序设计语言第二版 清华在学出版社

    注意事项

    本文(2023年《C语言程序》课程设计_图书管理系统[1].pdf)为本站会员(C****o)主动上传,淘文阁 - 分享文档赚钱的网站仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知淘文阁 - 分享文档赚钱的网站(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    关于淘文阁 - 版权申诉 - 用户使用规则 - 积分规则 - 联系我们

    本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

    工信部备案号:黑ICP备15003705号 © 2020-2023 www.taowenge.com 淘文阁 

    收起
    展开