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

加入VIP,免费下载
 

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

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

下载须知

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

版权提示 | 免责声明

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

数据结构课程设计报告444128Word格式文档下载.docx

1、 管理员进入系统需要密码登录,进入系统后,可以修改密码。(初始管理员为:administer;初始密码为:000000。指导教师周铁日 期2012年12月 15 日 学生: 接受任务时间: 2012 年11月目录一、概要设计 3二、学院图书管理系统总体框图 5三、算法设计 5三、运行结果和调试分析 12五、参考文献 20附件: 21一、概要设计有十个模块:1) 管理员登录密码验证(初始管理员为:初始密码为:000000)2) 图书初始化输入图书的一些信息,编号、作者、书名、数量,使有一定的库存。3) 新书入库新书采编入库,输入编号后如果有次数只需输入数量,没有则继续输入书名、作者、数量。4)

2、添加读者信息读者信息初始化,输入读书证号和姓名,只有输入书证号和姓名才能进行借书还书5) 借书模块读者输入读书证号,证号存在输入要借的图书编号,不能借同一本书,如果借书数量以达到最大也不能借书。6) 还书模块归还已借的图书,要先输入读者书证号,书证号存在继续输入要还的图书编号,图书编号存在并且借来此书,归还成功。7) 查询图书信息8) 查询读者信息可查询读者姓名书证号,借了几本书,都是什么书和还书日期,还可以借几本书。9) 管理员修改密码10) 退出退出读书管理系统并保存读者和图书信息。二、学院图书管理系统总体框图 三、算法设计1)进入操作界面后,首先需要管理员密码登录2)进入系统后首先进行图

3、书初始化,输入图书的信息。3)初始化之后,进入系统,显示功能列表,可选择任意系统,但在借书之前先要输入读者信息。4)采编入库 是 否5)输入读者信息6)借阅图书7)归还图书是8)查询图书信息9)查询读者信息10)管理员密码修三、运行结果和调试分析1)管理员密码登录2)图书信息初始化 3)图书管理系统主菜单4)新书入库5)读者信息初始化6)借书模块7)查询读者借书后信息8)查询借书后书库信息9)还书模块10)查询还书后读者信息11)查询还书后库存信息12)管理员修改密码第一次输入错误旧密码,第二次输入正确的旧密码验证是否能够更改密码13)退出系统四、总结体会选到这个课程设计题目的时候,自认为很简

4、单,因为在平时上课有被都老师点名上去讲这类型的课题。但真正拿到手中,才发现,真正要做好真的不容易。像查找,增加,显示,这些平时在数据结构和C语言中都学过,用过,但是实际操作中还是遇到了很多问题,所以特意到图书馆专门借了几本关于数据结构程序设计方面的书以及几本关于C语言和C+方面的书,同时也希望能把平时没有学好的地方好好补一补,能对知识有更深层次的理解。一切准备就绪,把平时写的相关的程序拿出来参考,对比,慢慢才找到一些感觉,把源程序写出来。开始的时候,我就只对老师给出设计的几条要求做了系统分析,并且起草出了最初的程序。但是结合具体的图书管理系统,我发现仅仅这些还远远达不到实用的标准,于是我就相关

5、兴趣查找资料,发现可以加的功能很多,由于时间的问题,我就选择其中的管理员密码登录与管理员密码修改这两条功能做了详细分细,并且得出最初算法。经过几天的努力终于写完了程序的初稿,然后输入电脑,一编译,发现错误几十个,还有许多警告,只得一条一条的看,一个一个的改,首当其冲的是再输入电脑过程中不小心漏掉的标点符号,有些括号忘了,有些是忘了写分号等粗心导致的小毛病,这些错误很容易改正.到后面的错误就有些麻烦了,编译过程中好几十个错误就是改不过来,后来和同学讨论才知道原来错在什么地方,这样一下就变成了几个错误,这时信心大增,有些错误都看不懂错在那里,由于英文水平不太好,只好去查字典,还要推敲这个单词在这里

6、到底是哪个意思,由于电脑系统原因,装的VC6.0用不了,我几天都泡在图书馆多媒体阅览室里,经过几大块时间的思考,才得到零错误零警告,那时真开心,我的程序终于可以运行了,激动的按下运行,得到了预想的界面,按照提示操作,都很顺利,一个一个的实验每一个功能,都以为成功了,当运行到了修改管理员密码功能时,突然不往下运行了,只见操作界面不停的闪。这是逻辑错误,很难找,后来只有一步一步的,一句一句的检查,找到了错误的根源,并改正。 回顾这些日子的设计之路,我不由得想到下面这些。从进入大学来,我们学习了C语言,数据结构。特别是周老师的认真授课,精心讲解下,同学们学到了很多东西,知识方面的很多,还有平时心的习

7、惯也养成了.这对我们以后的学习生活很有好处,这次的实验还让我复习了C语言的一些知识,如数组,while语句,switch语句,通过这次实验,我对链表的使用更加清楚,以及怎样从整体上设计系统有了更深刻的认识。还知道了如何使用system(cls)清屏,还知道了strcmp是用来比较字符串s1和s2大小的,strcpy使用来把字符串s2的值赋给s1的。我觉得更重要的是,这次课程设计让我对自己有了更深的了解,以及对数据结构这门课程有了更好的掌握。这次的课程设计增加了自己动手动脑的能力,我诚心希望以后有更多机会多做这样类似的的实践,真的很有意义,设计与现实生活结合的程序增加了我的兴趣。最后要感谢周老师

8、和吴老师这一学期以来对我们的教导与帮助。谢谢你们!五、参考文献1谭浩强,C+程序设计M,北京,清华大学出版社,2006年 2李振鹏,张小莉,郑艳娟,数据结构M,中国铁道出版社,2007年3杨小平,VisualC+项目案例导航M,北京,科学出版社,2002年 4David Conger,软件开发:编程与设计M,北京,清华大学出版社,2006 年.5Francis Glassborow Roberta Allen ,You Can Do It!C+编程新手互动教程M,北京,人民邮电出版社,2005年6谭浩强,C程序设计M,北京,清华大学出版社,2007年,第三版7田鲁怀,数据结构M,北京,电子工业

9、出版社,2010年8匡松,C+语言程序设计M,中国铁道部出版社,2008年,第一版最终程序:#include#include stdlib.hmalloc.hconio.h#define Max 4 #define N 20 char PasswordN=000000;/把Password定义为全局变量;typedef struct bookchar book_num10;char book_name20;char book_writer10;int book_xy;int book_kc;struct book *next;BK;typedef struct borrowchar borro

10、w_book_num10;char limit_date8;BO;typedef struct readerchar reader_num10;char reader_name10;int right;BO borrowMax;struct reader *next;RD;BK *h_book;RD *h_reader;void Update(); /改密码 void Entry();void Login();int Menu();void Init();void Init_book();void Menu_select();void Insert_New_Book();void Find_B

11、ook();void add_reader();void Print_reader();void Print_book();void Borrow_Book();void Return_Book();void Save();void Save_Book();void Save_Reader();void Load();void Load_Reader();void Load_Book();void Update() /修改密码的C语言算法 int i; char passwordN,tempN; strcpy(temp,Password); printf(请输入旧密码:);for(i=1;i4

12、;i+) scanf(%s,password);if(strcmp(Password,password)=0)printf( 请输入新密码: scanf( strcpy(Password,password); 请再次输入新密码确认修改: if(strcmp(Password,password)=0) printf(n重新设置密码成功!按任意键继续下一步操作.n getch(); break; else printf( 请重新输入新密码:else strcpy(Password,temp);printf( 修改密码失败,你还%d有次,请重新输入旧密码,3-i); getch(); system(

13、void Entry()/管理员登录的C语言算法 char AdministerN=administer char administerN; char passwordN; int findOK; while(1) findOK=0; printf(tt*ntt登录 ntt*ntt管理员: scanf(,administer);tt 密码:ntt*n if(strcmp(Administer,administer)=0 & strcmp(Password,password)=0) findOK=1; if(findOK=1)ntt欢迎用户 %sn else printf(nntt用户名或密码有

14、错!请重新nn管理员登录成功!void Login()system(nnntt*nnnnttt欢迎使用学院图书管理系统nnntt本程序制作人 天人nnnnnnnnnntt 管理员请输入密码登录系统nnnnnn Entry();int Menu() /*主菜单*/ int dm;ntt学院图书管理系统主菜单n=n*t0-退出系统 n*t1-采编入库 n*t2-登记读者 n*t3-借阅登记 n*t4-还书管理 n*t5-查询图书信息 n*t6-查询读者信息 n*t7-管理员密码修改 n请选择相应的代码:for(;) %d,&dm); /dm输入的数字 if(dm7)n错误!请重新输入: else

15、break;return dm;void Menu_select()/*主菜单选择函数*/switch(Menu() /*功能选择*/ case 0: Save();nnt文件保存成功!nnnt欢迎下次使用本系统!exit(0); case 1:Insert_New_Book();break; case 2:add_reader(); case 3:Borrow_Book(); case 4:Return_Book(); case 5:Print_book(); case 6:Print_reader(); case 7:Update(); default: exit(0);void Init

16、() /*初始化*/ BK *p0;n图书初始化开始,请输入图书信息.n包括编号.书名.数量.np0=(BK*)malloc(sizeof(BK);h_book=p0;n请输入图书信息:图书编号: /*输入图书编号(唯一)*/,p0-book_num);图书名称: /*输入图书名称*/book_name);图书作者: /*输入图书作者*/book_writer);图书数量: /*输入图书数量*/p0-book_kc); p0-book_xy=p0-book_kc; /*开始时图书现有量和库存量相等*/next=NULL;nt图书信息初始化完毕!void Insert_New_Book()/*新

17、书入库*/BK *p,*p0,*p1;p=p1=h_book;n新书入库模块.nn请输入新书信息.n包括书号.书名.数量.np0=(BK *)malloc(sizeof(BK); while(strcmp(p0-book_num,p1-book_num)!=0&p1-next!=NULL) p1=p1-next; if(strcmp(p0-book_num)=0) /*此处分两种情况,若图书编号存在,则直接进库,只须输入书的数量*/n此编号图书已存在!直接入库! p1-book_kc+=p0-book_xy+=p0- else/*若不存在,则需要输入其他的信息,然后在进行插入操作*/库存数量w

18、hile(p-next) p=p- if(h_book=NULL) h_book=p0; /*此处分两种情况,链表中没有数据,head直接指向p0处*/ else p-next=p0; /*此处分两种情况,链表中有数据,链表中最后元素的next指向p0处*/ n新书入库完毕!void add_reader()/*添加读者*/ RD *p0; int i;n读者初始化开始,请输入读者信息.n包括书证号.姓名.np0=(RD*)malloc(sizeof(RD); /*申请新结点存储空间*/h_reader=p0;n请输入读者的信息:读者书证号:reader_num);读者姓名:scanf(rea

19、der_name);right=0; for(i=0;Max;strcpy(p0-borrowi.borrow_book_num,0 /*所借图书直接置为(即没有借书)*/ strcpy(p0-borrowi.limit_date,n读者信息初始化完毕!void Borrow_Book() /*借书模块*/ RD *p1;char bo_num10,rea_num10,lim_date8;int i;p0=h_book; p1=h_reader;n借书模块.nn请输入借书的读者书证号:,rea_num);while(p1-=NULL&strcmp(rea_num,p1-reader_num)!=0) if(p1-next=NULL& n此读者编号不存在!按任意键返回.n goto END; n请输入你要借的书的编号:,bo_num); while(strcmp(bo_num,p0-=NULL) p0=p0- if(p0-strcmp(bo_num,p0-n此图书编号不存在! else if(p0-book_xyrightMax|p1-right=Max) n不好意思,借书数目已满!不能借

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

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