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

加入VIP,免费下载
 

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

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

下载须知

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

版权提示 | 免责声明

本文(06张诗婧.docx)为本站会员(b****2)主动上传,冰点文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰点文库(发送邮件至service@bingdoc.com或直接QQ联系客服),我们立即给予删除!

06张诗婧.docx

1、06张诗婧课 程 设 计服务课程名称: 高级语言课程设计 系: 自动控制工程系 专业: 自动化 班级: 自专本101 学号: 06 姓名: 张诗婧 指导教师: 刘晓慧、马玲 课程设计周次: 第20周 起始日期: 2011.1.10 至 2011.1.14 目录1. 高级语言课程设计成绩评定表 I页2. 高级语言课程设计任务书.II页3. 程序基本框架结构图.1页4. 程序设计说明书.2页5. 源代码清单.3页6. 课程设计总结15页课程设计成绩评定表班级自专本101学号06姓名张诗婧项目组第五组项目组长王雪红项目组组员王雪红 张诗婧 梁兵兵本人工作简介:我在本次课程设计中主要负责图书维护部分,

2、图书维护作为图书管理的一个主要内容又包含了新增、更改、删除、查找、显示、全删和退出等几部分,主要通过类,构造函数和调用函数来实现。组长评语:该生对待此次设计态度认真,能够积极参与组长分配的任务,完成老师的要求,具有团队合作的精神。对自己设计的那部分程序能够熟练的分析和掌握。 成绩评定标准ABCDE报告完成情况很好好比较好一般不好纪律表现很好好比较好一般不好程序功能性强较强一般较弱弱界面美观性很好好一般较差不好程序可操作性很好好一般较差不好答辩表现很好好一般较差不好所起作用程度80%以上60%以上60%以下最后成绩优秀A=5C=3C=2C=4及格A=0B=0C=3不及格A=0B=0C=1负责指导

3、教师: (签名)指导教师: (签名) 自专本101 班高级语言课程设计任务书一、设计目的通过本次课程设计使学生进一步加深对高级语言课程内容的理解,初步掌握一般应用程序的开发方法和步骤,进一步了解与掌握高级语言的编程方法和技巧,提高学生用高级语言解决实际问题的能力。二、设计要求1、认真查阅参考书、资料 2、遵守课程设计时间安排3、按时上机,认真调试程序 4、认真完成课程设计报告三、课设报告装订内容及顺序1、课程设计封皮 2、目录3、课程设计成绩评定表 4、课程设计任务书5、程序基本框架图 6、程序设计说明书7、源代码清单 8、课设总结与心得四、设计题目 图书馆数据库管理系统五、时间安排(一周:从

4、 1月10日到 1 月 14 日 )1、查阅资料及程序设计(1天) 2、程序编制及调试(3天)3、成绩评定(0.5天) 3、打印报告(0.5天)六、参考文献1、c+程序设计导学李春葆编著. 清华大学出版社2、c+ Primer Plus(美)Stephen Prata.人民邮电出版社3、C+程序设计教程(美)H.M.Deitel P.J. Deitel.清华大学出版社4、C+时尚编程百例网冠科技编.机械工业出版社程序基本框架结构图程序设计说明书本次课程设计我主要负责的是图书馆数据库管理系统中的图书维护部分,为了完成这部分系统设计,我们的设计思想是设计一个包括图书的新增、更改、删除、查找、显示、

5、全删和退出等几部分组成。具体来说,是先建立一个图书库类,在此类中先定义两个私有成员,一个是图书记录指针,另一个是图书记录的一维数组,通过定义公有成员来实现以上提到的几项功能,公有成员中主要用到的是构造函数,其次是析构函数,首先用一个输入输出流,设计用文件将图书的内容读入到图书库中,这样图书馆中的图书信息就存在了。既然是图书管理,就少不了对图书进行维护,例如,学校新来了一批图书,我们就用到了图书新增这一功能,先输入图书编号,后输入图书书名,这样的话这本新书就加入到了图书库中。若是发现这本书的书名输入错误的话,则可以用到更改这一项,输入图书编号之后,就可以在原先的图书书名上改动,此操作非常的方便快

6、捷。依次类推,删除和查找也是先输入图书的编号,再加以执行你需要的操作就可以了。显示,全删这两部分不用输入图书编号,只要直接通过选择语句中对应的选项选择显示,全删就可以直接执行你所需要的。当图书维护整理完毕后,设计一个switch选择语句,使其输入0就可以跳出,回归到主程序界面。需要补充一点的是,图书管理系统也有其具体化,人性化的一面,在 更改、删除、查找、显示这四项中,如果你输入的图书编号不正确,或者是该书图书馆根本就没有的话,系统会提示你该图书不存在,这样的话,提高了我们查找书籍的效率,同时也能够节省我们的时间。这就是我负责的这部分程序要完成的主要功能。 最后需要说明的一点,就是所有的程序执

7、行都是由主函数开始的,因此我负责的这部分也不例外,它也是由主函数通过调用来实现的。源代码清单/C+程序:图书管理系统#include #include #include #include const int Maxr=100; /读者上限 const int Maxb=100; /图书上限 const int Maxbor=5; /每个读者最多借借5本class Reader /读者类 int tag; /删除标记 1:已删,0:未删 int no; /读者编号 char name10; /读者姓名 int borbookMaxbor; /所借图书 public: Reader() char

8、*getname() return name; /获取姓名 int gettag() return tag; /获取删除标记 int getno() return no; /获取读者编号void setname(char na) /设置姓名 strcpy(name,na); /字符处理函数,将na拷贝到name中void delbook()tag=1; /设置删除标记void addreader(int n,char *na) /增加读者 tag=0; no=n; strcpy(name,na); for (int i=0;iMaxbor;i+) borbooki=0; void borrow

9、book(int bookid) /借书操作 for (int i=0;iMaxbor;i+) if (borbooki=0) borbooki=bookid; break; int retbook(int bookid) /还书操作 for (int i=0;iMaxbor;i+) if (borbooki=bookid) borbooki=0; return 1; return 0; void disp() /输出读者信息 coutsetw(5)nosetw(10)name借书编号:; for (int i=0;iMaxbor;i+) if (borbooki!=0) coutborboo

10、ki|; coutendl; ;class RDatabase /读者库类 int top; /读者记录指针 Reader readMaxr; /读者记录 public: RDatabase() /构造函数,将reader.txt读到read中 Reader s; top=-1; fstream file(reader.txt,ios:in); while (1) file.read(char *)&s,sizeof(s); if (!file) break; top+; readtop=s; file.close(); void clear() /删除所有读者信息 top=-1; int a

11、ddreader (int n,char *na) /添加读者时先查找是否存在 Reader *p=query(n); if (p=NULL) top+; readtop.addreader(n,na); return 1; return 0; Reader *query(int readerid) /按编号查找 for (int i=0;i=top;i+) if (readi.getno()=readerid & readi.gettag()=0) return &readi; return NULL; void disp() /输出所有读者信息 for (int i=0;i=top;i+)

12、 readi.disp(); void readerdata(); /读者库维护RDatabase() /析构函数,将read写入reader.txt文件中 fstream file(reader.txt,ios:out); for (int i=0;i=top;i+) if (readi.gettag()=0) file.write(char *)&readi,sizeof(readi); file.close(); ;void RDatabase:readerdata() int choice=1; char rname20; int readerid; Reader *r; while

13、(choice!=0) cout读者维护endl; coutendl; cout; cinchoice; switch (choice) case 1: coutreaderid; coutrname; addreader(readerid,rname); break; case 2: coutreaderid; r=query(readerid); if (r=NULL) cout该读者不存在endl; break; coutrname; r-setname(rname); break; case 3: coutreaderid; r=query(readerid); if (r=NULL)

14、 cout该读者不存在delbook(); break; case 4: coutreaderid; r=query(readerid); if (r=NULL) cout该读者不存在disp(); break; case 5: disp(); break; case 6: clear(); break; class Book /图书类 int tag; /删除标记 1:已删 0:未删 int no; /图书编号 char name20; /书名 int onshelf; /是否在架 1:在架 0:已借 public: Book() char *getname() return name; /

15、获得书名 int getno() return no; /获得书编号 int gettag() return tag; /获得删除标记void setname(char na) /设置书名 strcpy(name,na); void delbook() tag=1; /删除图书void addbook(int n,char *na) /增加图书 tag=0; no=n; strcpy (name,na); onshelf=1; int borrowbook() /借书操作 if (onshelf=1) onshelf=0; return 1; return 0; void retbook()

16、/还书操作 onshelf=1; void disp() /输出图书 coutsetw(6)nosetw(18)namesetw(10)(onshelf=1? 在架:已借)endl; ;class BDatabase /图书库类 int top; /图书记录指针 Book bookMaxb; /图书记录 public: BDatabase() /构造函数,将book.txt读到book中 Book b; top=-1; fstream file(book.txt,ios:in); while (1) file.read(char*)&b,sizeof(b); if (!file) break;

17、 top+; booktop=b; file.close(); void clear() /全删 top=-1; int addbook(int n,char *na) /增加图书 Book *p=query(n); if (p=NULL) top+; booktop.addbook(n,na); return 1; return 0; Book *query(int bookid) /查找图书 for (int i=0;i=top;i+) if (booki.getno()=bookid & booki.gettag()=0) return &booki; return NULL; void

18、 bookdata(); /图书库维护void disp() for (int i=0;i=top;i+) if (booki.gettag()=0) booki.disp(); BDatabase() / fstream file(book.txt,ios:out); for (int i=0;i=top;i+) if (booki.gettag()=0) file.write(char*)&booki,sizeof(booki); file.close(); ;void BDatabase:bookdata() int choice=1; char bname40; int bookid;

19、 Book *b; while (choice!=0) cout图书维护endl; cout; cinchoice; switch (choice) case 1: coutbookid; coutbname; addbook(bookid,bname); break; case 2: coutbookid; b=query(bookid); if (b=NULL) cout该图书不存在endl; break; coutbname; b-setname(bname); break; case 3: coutbookid; b=query(bookid); if (b=NULL) cout该图书

20、不存在delbook(); break; case 4: coutbookid; b=query(bookid); if (b=NULL) cout该图书不存在disp(); break; case 5: disp(); break; case 6: clear(); break; void main() int choice=1,bookid,readerid; RDatabase ReaderDB; Reader *r; BDatabase BookDB; Book *b; while(choice!=0) cout欢迎进入图书数据管理系统endl; cout_*_endl; cout e

21、ndl; cout 1:借书 endl; cout 2:还书 endl; cout 3:图书维护 endl; cout 4:读者维护 endl; cout 0:离开 endl; cout endl; cout endl; cout endl; cout_*_choice; switch (choice) case 1: coutreaderid; coutbookid; r=ReaderDB.query(readerid); if (r=NULL) cout该读者不存在,不能借书endl; break; b=BookDB.query(bookid); if (b=NULL) cout该图书不存

22、在,不能借书borrowbook()=0) cout该读者不存在,不能借书borrowbook(b-getno(); break; case 2: coutreaderid; coutbookid; r=ReaderDB.query(readerid); if (r=NULL) cout不存在该读者,不能还书endl; break; b=BookDB.query(bookid); if (b=NULL) cout不存在该图书,不能还书retbook(); r-retbook(b-getno(); break; case 3: BookDB.bookdata(); break; case 4:

23、ReaderDB.readerdata(); break; 课程设计总结 专升本第一学期最后一周的课程设计总结就这样为本学期划上了一个圆满的句号。虽然在我上专科的时候也学习过C语言,并且也做过课程设计,但是这次在C语言基础上的C+语言让我对这种目前使用最为广泛的程序设计语言有了一种全新的认识。因为C+语言与C语言完全兼容,既保留了传统的结构化程序设计方法,又对面向对象程序设计方法提供了完整的支持。我们组这次设计的课题是图书馆数据库管理系统,需要根据老师给的课题要求去查找资料,分析此系统的主要结构和需要实现的主要功能。这确实不是一件容易的事情,但是凭借小组三人的共同努力我们尽力做到了。坦诚的说,面对这么复杂的程序系统设计,可能对于现阶段的我们来说有些困难,不过在讨论研究过后,一切都好像顺理成章一样,顺着老师曾给我们讲的思路,感觉上很有条理性。我们首先查阅资料,再对照课程设计的要求,明确了图书管理系统的整体思路,大体上有了分析设计的骨架,并逐步的加以完善。最后我们把所查的资料逐一分析并结合我们平时在课堂上所学的知识初步完成我们的程序设计。图书管理系统在我们的日常生活中是经常遇到的,比如,我是一名学生在上大学期间我会去图书馆借阅图书。图书馆的书的种类很多,但是我要借的那本书不一定图书馆就会有,书有其编号这样便于管理,而读者也有其学号。我

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2