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

加入VIP,免费下载
 

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

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

下载须知

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

版权提示 | 免责声明

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

C++课程设计图书管理系统档案管理系统.docx

1、C+课程设计图书管理系统档案管理系统 计算机科学与技术学院C高级语言程序设计课程设计报告 (2014/2015学年第一学期)学生姓名: 学生专业: 学生班级: 学生学号: 指导教师: 20015年1月9日计算机科学与技术学院课程设计任务书课程设计名称C高级语言程序设计课程设计课程设计题目档案管理系统学生姓名专业班级学号课程设计任务内容问题描述 档案管理系统是企业管理中的一个子系统,功能模块如下:借阅模块:此模块在通过用户的身份验证后实现档案的借阅功能。归还模块:此模块用于在用户的身份验证后实现档案的借阅功能。档案维护模块:此模块用于实现档案的增加,删除,修改,删除和全部删除功能。用户维护模块:

2、此模块用于实现用户信息的增加,删除,修改,删除,记录用户所借档案信息等功能。 基本要求 (1) 系统以菜单方式工作,至少实现对档案的正常管理及各项功能实现。(2) 用c或者c+完成,源程序可读性强。测试要求 (1) 能正确运行出结果。 (2) 具有友好的界面和提示信息。 指导教师: 时 间: 年 月 日 计算机科学与技术学院课程设计成绩评审表课程设计名称C高级语言程序设计课程设计课程设计题目档案管理系统学生姓名专业班级同组人无学号指导教师设计成绩评价内容签 字: 时 间: 年 月 日 目 录第一章、设计问题描述与分析 1 第二章、算法设计与流程图 2 2.1、 算法设计 2 2.2、 流程图

3、3第三章、程序设计编码与测试 4 3.1、 程序设计代码 4 3.2、 程序测试 20第四章、设计过程总结与分析 21附录 程序流程图 23 程序代码 24 第一章 设计问题描述与分析 档案,对于一个具体单位或个人其作用体现在以下方面: 1、档案是一个单位或个人历史的真实、全面的反映。 2、档案是一个单位或个人维护自身权益的重要工具。 3、档案是一个单位规范管理的基础。 4、档案我们积累和传播知识重要载体。 5、档案是开展单位文化建设的重要素材,特别是对于企业建立企业文化有不可替代的作用。 6、档案是一个单位或个人建立信用,在社会活动、生产经营等方面建立和利用信用体系,获得发展最有力的工具。

4、最后,档案还是我们国家和民族文化建立历史记忆,传承文明的重要载体,是“今世可以知古,后世可以知今”的重要素材。档案管理工作是社会各种企事业单位的各项工作的一个重要部分。面对庞大的信息量,如何有效地提高档案信息管理工作的效率是一个急需解决的问题。档案管理系统的设计目标是实现对各类信息的科学化、规范化管理,提高管理的效率,为高水平的企业管理提供保证。档案管理系统,为企事档业单位的案现代化管理,提供完整的解决方案,档案管理系统可以自成系统,为用户提供完整的电子档案管理和查询功能。档案管理系统作为企业管理中的一个子系统,与其它子系统,如人事管理系统、后勤管理系统等一起构成企业信息管理系统,为企业管理信

5、息化提供一个子功能。所以,几乎所有的大、中、小企业都需要一套这样的管理系统来提高日常的工作效率。经分析档案管理系统一般主要有以下几项功能要求:档案的录入与修改,包括档案编号,档案名称,可以修改档案的名称等。档案的查看,包括档案的状态,档案的编号,档案的名称。档案的全部删除功能,实现档案的清空。档案的借阅和归还功能,实现档案是否在架可借的记录显示,方便用户对档案的借阅。用户信息的录入与修改,包括用户编号,用户密码等。用户信息的查找,包括用户的数量,用户的编号,用户的名称,用户所借阅的档案编号。用户信息的全部删除,实现用户的清空处理。用户信息的删除功能,可以实现用户信息的单个删除。功能的齐全与操作

6、的方便性,将大大提高档案的管理效率,可以说,档案管理系统是每个企业办公当中必备的一套管理系统,其需求是不言面喻的。 第二章 算法设计与流程图 2.1 算法设计 本程序计划实现的程序界面: 档案管理系统 1 借阅 2 归还 3 档案维护 4 用户维护 0 退出 计划通过定义四个类:用户类;用户库类;档案类;档案库类实现以上功能。其中,各个模块实现如下。借阅模块:此模块在通过用户的身份验证后实现档案的借阅功能。首先主函数定义一个int型变量choise接收用户输入的操作数,通过switch(),判断用户的需要执行的操作,调用档案库类中的函数判断所需要的档案是否在架,显示输出判断结果。若在架则通过t

7、ag变量标记此书。归还模块:此模块用于在用户的身份验证后实现档案的借阅功能。首先当档案中的retrecord()函数被调用。该档案的标记是否在架的变量被设置为1,代表该档案已归还,并显示输出提示语。档案维护模块:此模块用于实现档案的增加,删除,修改,删除和全部删除功能。在用户做出选择后,接受该选择的变量通过switch()判断用户所要执行的操作。此模块的功能是在档案类中实现,通过int retrecord(int recordid) 、void disp()、函数实现删除、归还、增加档案操作和借档案操作。用户维护模块:此模块用于实现用户信息的增加,删除,修改,删除,记录用户所借档案信息等功能。

8、在用户做出选择后,接受该选择的变量通过switch()判断用户所要执行的操作。此模块的功能是在用户类中实现,通过void borrowrecorder(int recordid)、 int retrecord(int recordid) 等成员函数,首先检测该用户的借阅档案数是否已超上限,若达到上限显示提示字符,否则实现用户借阅档案、归还档案信息的记录操作。 2.2 流程图 图21 第三章 程序设计编码与测试 3.1程序设计代码#include #include #include #include#include#include#include/输入/输出文件流类using namespace

9、 std;/用户类,实现对用户的信息的描述class Users private: int tag; /删除标记,表示是否存在 1:已删 0:未删 int no; /用户编号 char name10; /用户姓名 int borrecordMaxbor; /所借档案 public: Users() char *getname() return name; /获取姓名 int gettag() return tag; /获取删除标记 int getno() return no; /获取用户编号 void setname(char na) /设置姓名 strcpy(name,na); void d

10、eluser() tag=1; /设置删除标记 1:已删 0:未删 void adduser(int n,char *na) /增加用户 tag=0; no=n; strcpy(name,na); for(int i=0;iMaxbor;i+) borrecordi=0; /还未借阅,全部设置为0 void borrowrecorder(int recordid) /借书操作 for(int i=0;iMaxbor;i+) if (borrecordi=0) borrecordi=recordid; /存储档案的编号表示档案借阅 int retrecord(int recordid) /还书操

11、作 for(int i=0;iMaxbor;i+) if(borrecordi=recordid) borrecordi=0; return 1; return 0; void disp() /读出用户信息 cout nosetw(10)所借的档案编号:; for(int i=0;iMaxbor;i+) if(borrecordi!=0) cout borrecordi ; /输出借的档案的编号 cout endl;/用户类库,实现建立用户的个人资料 class RDatabase private:int top; /用户记录指针 Users userMaxr; /用户记录 public:RD

12、atabase() /构造函数,将reader.txt读到read中 Users s; top=-1; fstream file(用户文件.txt,ios:in); /打开一个输入文件 while (1) file.read(char *)&s,sizeof(s); /将reader.txt读到read中 if (!file)break; top+; usertop=s; file.close(); /关闭 reader.txt void clear() /删除所有用户信息 top=-1; int adduser(int n,char *na) /添加用户时先查找是否存在 Users *p=q

13、uery(n); if (p=NULL) top+; usertop.adduser(n,na); return 1; return 0; Users *query(int userid) /按编号查找 for (int i=0;i=top;i+) if (useri.getno()=userid & useri.gettag()=0) return &useri; return NULL; void disp() /输出所有用户信息 for (int i=0;i=top;i+) useri.disp(); void userdata(); /用户库维护 RDatabase() /析构函数,将

14、read写到reader.txt文件中 fstream file(用户文件.txt,ios:out); for (int i=0;i=top;i+) if (useri.gettag()=0) file.write(char *)&useri,sizeof(useri); file.close(); ;void RDatabase:userdata() char choice; char rname20; int userid,i; Users *r; while (choice!=0) cout nnttt用 户 维 护nnntt 1 新 增nntt 2 更 改nntt 3 删 除nntt

15、4 查 找nntt 5 显 示nntt 6 全 删nntt 0 退 出 choice; switch (choice) case 1: cout userid; cout 输入用户密码:; for(i=0; i6; i+) rnamei=getch(); putchar(*); adduser (userid,rname); break; case 2: cout userid; r=query(userid); if (r=NULL) cout 很抱歉,您不是合法用户,系统无法提供服务!endl; break; cout 输入新的密码:; for(i=0;isetname(rname); b

16、reak; case 3: cout userid; r=query(userid); if (r=NULL) cout 很抱歉,此用户不是合法用户,无法删除! deluser(); cout该用户已删除!endl; break; case 4: cout userid; r=query(userid); if (r=NULL) cout 很抱歉,您要查找的用户不存在!disp(); break; case 5: disp(); break; case 6: clear(); break; case 0: return; default:cout尊敬的用户,您好!您的输入有错误,请您重新输入:

17、;break;/档案类,实现对档案的描述,档案的编号,名称,借出,还入等class Record private: int tag; /删除标记 1:已删 0:未删 int no;/档案编号 char name20;/档案名 int onshelf;/是否再架 1:在架 0:已借出public: Record() char *getname() return name; /获取姓名 int getno() return no; /获取档案编号 int gettag() return tag; /获取删除标记 void setname(char na)/设置档案名 strcpy(name,na)

18、; void delrecord() tag=1;/删除档案 void addrecord(int n,char *na)/增加档案 tag=0;no=n; strcpy(name,na); onshelf=1; int borrowrecord()/借档案操作 if (onshelf=1) onshelf=0;return 1; return 0; void retrecord()/归还操作 onshelf=1; void disp()/输出档案 cout setw(6) no setw(18) name setw(10) (onshelf=1? 在架,可借:很抱歉,已借出) endl; ;

19、/档案库类,实现对档案的维护,查找,删除等class BDatabaseprivate: int top; /档案记录指针 Record recordMaxr; /档案记录public: BDatabase() /构造函数,将档案.txt读到record中 Record b;top=-1; fstream file(档案.txt,ios:in); while (1) file.read(char *)&b,sizeof(b); if (!file) break; top+; recordtop=b; file.close(); void clear() /删除全部档案 top=-1; int

20、addrecord(int n,char *na) /增加档案 Record *p=query(n); if (NULL=p)top+; recordtop.addrecord(n,na);return1;return0;Record*query(intrecordid)查找档案 for (int i=0;i=top;i+) if (recordi.getno()=recordid &recordi.gettag()=0) return &recordi; return NULL; void recorddata(); /档案库维护 void disp() for (int i=0;i=top

21、;i+) if (recordi.gettag()=0) recordi.disp(); BDatabase() /析构函数,将record写到档案.txt文件中 fstream file(档案.txt,ios:out); for (int i=0;i=top;i+) if (recordi.gettag()=0) file.write(char *)&recordi,sizeof(recordi); file.close(); ;void BDatabase:recorddata() char choice; char bname40; int recordid; Record *b; wh

22、ile (choice!=0) switch (choice) case 1: cout recordid; cout bname; addrecord(recordid,bname); cout已成功保存档案!endl; break; case 2: cout recordid; b=query(recordid); if (b=NULL) cout 该档案不存在!endl; break; ut bname; b-setname(bname); cout已成功修改名称。endl; break; case 3: cout recordid; b=query(recordid); if (b=N

23、ULL) cout 尊敬的用户,您好!该档案不存在!敬请见谅! delrecord(); break; case 4: cout recordid; b=query(recordid); if (b=NULL) cout 尊敬的用户,您好!很抱歉,您想调阅的档案不存在!敬请谅解!disp();break;/main() 函数的实现,程序的主界面的引导void main()char choice;int recordid,userid;RDatabase ReaderDB;Users *r;BDatabase BookDB; Record *b; while(choice!=0) cin cho

24、ice;switch (choice) case 1:cin userid;r=ReaderDB.query(userid);/按编号查找 if (r=0)cout 尊敬的用户,您好!您不是合法用户,系统无法提供服务。recordid; b=BookDB.query(recordid);if (b=NULL)cout 尊敬的用户,您好!很抱歉,您要调阅的档案不存在。borrowrecord()=0)cout 尊敬的用户,您好!很抱歉,该档案已借出,无法借阅。borrowrecorder(b-getno(); break;case 2: cinuserid; r=ReaderDB.query(userid); if (r=0) cout尊敬的用户,您好!很抱歉,您不是合法用户,系统无法提供服务。 endl;break; cout recordid; b=BookDB.query(recordid); if (b=NULL) cout 尊敬的用户,您好!很抱歉,您不是合法用户,系统无法提供服务。 retrecord(); r-retrecord(b-getno();break;

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

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