收藏 分销(赏)

固定资产管理系统课程设计报告郭江涵样本.doc

上传人:精**** 文档编号:4627462 上传时间:2024-10-08 格式:DOC 页数:50 大小:290.50KB
下载 相关 举报
固定资产管理系统课程设计报告郭江涵样本.doc_第1页
第1页 / 共50页
固定资产管理系统课程设计报告郭江涵样本.doc_第2页
第2页 / 共50页
固定资产管理系统课程设计报告郭江涵样本.doc_第3页
第3页 / 共50页
固定资产管理系统课程设计报告郭江涵样本.doc_第4页
第4页 / 共50页
固定资产管理系统课程设计报告郭江涵样本.doc_第5页
第5页 / 共50页
点击查看更多>>
资源描述

1、资料内容仅供您学习参考,如有不当之处,请联系改正或者删除。山东理工大学计算机学院课 程 设 计( 软件开发实践) 班 级 软件1304 姓 名 郭江涵学 号 指导教师 方春二一五年一月十三日课程设计任务书及成绩评定课题名称 固定资产管理系统、 题目的目的和要求: 1、 设计目的基于C+面向对象编程语言的知识, 用中的顺序存储、 链表、 堆栈、 串、 树、 图等数据结构, 结合项目的具体需求编写该系统, 能熟练掌握几种基本数据结构的基本操作。使用合适的数据结构和算法来实现各功能模块的增、 删、 改、 查, 把所学数据结构知识应用到实际软件开发中去。巩固和加深对数据结构的理解, 经过上机实验、 调

2、试程序, 加深对课本知识的理解, 最终使学生能够熟练应用数据结构的知识写程序。能针对给定题目, 选择相应的数据结构, 分析并设计算法, 进而给出问题的正确求解过程并编写代码实现。2、 设计题目要求: 随着公司业务不断发展, 人员越来越多, 固定资产的管理人员压力逐渐增大, 需要建立数据库和使用软件系统来进行管理。公司对固定资产的定义为: 价值超过 元人民币的设备。例如彩色喷墨打印机、 计算机、 扫描仪、 机房其它设备, 而打印纸、 书籍等不属于固定资产, 属于易耗品。经过同资产管理人员和该公司领导的面谈, 总结和归纳之后, 她们需要软件具备以下的功能: 1 管理员登录2 固定资产信息管理3 人

3、员信息管理4 资产配置: 领用、 归还5 资产处理: 调拨、 变卖、 报废案例覆盖技能点1、 数组、 字符串、 运算符重载2、 类的封装、 继承、 多态性3、 虚函数、 纯虚函数和抽象类4、 输入输出流的操作5、 程序算法的设计说明( 流程图形式) 6、 常见数据结构的操作7、 例如: 顺序存储、 链表、 树、 图等系统基本模块包括: 功能点难度登录资产信息管理人员信息管理资产配置资产处理、 设计进度及完成情况日 期内 容1.05-1.09选取参考书, 查阅有关文献资料, 完成资料搜集和系统分析工作。1.091.12创立相关数据结构,录入源程序。1.131.13调试程序并记录调试中的问题, 初

4、步完成课程设计报告。1.141.14上交课程设计报告打印版并进行课程设计答辩, 要求每个同学针对自己的设计回答指导教师3-4个问题。考核结束后将课程设计报告和源程序的电子版交班长统一刻光盘上交。、 主要参考文献及资料1 严蔚敏 数据结构( C语言版) 清华大学出版社 19992 谭浩强 C语言程序设计 清华大学出版社3 与所用编程环境相配套的C语言或C+相关的资料、 成绩评定 成绩: ( 教师填写) 指导老师: ( 签字) 二一五 年 一 月 十三 日目 录第一章 概述1第二章 系统分析2第三章 概要设计3第四章 详细设计13第五章 运行与测试24第六章 总结与心得29参考文献30第一章 概述

5、课程设计是实践性教学中的一个重要环节, 它以某一课程为基础, 能够涉及和课程相关的各个方面, 是一门独立于课程之外的特殊课程。课程设计是让同学们对所学的课程更全面的学习和应用, 理解和掌握课程的相关知识。数据结构是一门重要的专业基础课, 是计算机理论和应用的核心基础课程。数据结构课程设计, 要求学生在数据结构的逻辑特性和物理表示、 数据结构的选择和应用、 算法的设计及其实现等方面, 加深对课程基本内容的理解。同时, 在程序设计方法以及上机操作等基本技能和科学作风方面受到比较系统和严格的训练。课程设计能够锻炼学生们的思考构思能力和动手实践能力, 经过课程设计中的实际性问题, 能够让学生把平日所学

6、理论知识与亲身实践结合在一起, 更好的提高学生编程的综合能力。课程设计还能够让学生查出自己平日里的不足, 结合实际问题, 把理论与实际相结合, 找出以后的学习努力方向, 查漏补缺, 更进一层楼。第二章 系统分析1、 本次课程设计, 有小组共同分工完成代码的编写和实现程序的运行。在整个固定资产管理系统中, 一共包括登陆、 资产信息管理、 人员信息管理、 资产配置和资产处理五大模块, 我主要负责人员信息管理模块和登陆模块以及程序代码整体大框架的编写。2、 在登陆模块中, 主要是管理员登陆系统, 进行对资产信息以及人员信息的增删改查, 为了系统人员信息以及资产信息的安全性问题, 需要对管理员登录信息

7、进行安全性验证, 因此管理员登陆系统需要输入自己的账户名和密码, ( 系统管理员初始账户和密码为”guanliyuan”1234”) , 只有密码和账户都输入正确才能进入系统, 否则系统会提示管理员重新输入自己的账户和密码, 知道输入正确才能进入系统。3、 在人员信息管理模块中, 主要要实现人员信息的增删改查功能, 这里的”人员”是指可能领用资产的人, 人员的信息包括人员编号、 姓名、 职务和备注。在该模块中能够选择某个员工查看该员工的所属资产。在这个模块中, 定义了LinkNode和LinkList两个类, 还用了链表的方法实现数据的查找与增加删除和查询。系统显示经过查询人员编号来找到人员信

8、息进行删除或者修改, 其实是经过查询链表结点来查找每个数据, 为了确保经过编号能正确的找到对应编号的人员, 因此管理员在添加人员信息时, 需要先输入结点位置, 再输入编号, 而且结点值需要与编号相同, ( 在系统中显示的是”请输入要添加的人员编号”请再次确认人员编号”, 其实第一次输入的人员编号是插入信息的结点位置值, 第二次输入的才是人员编码) 因此为了避免管理员输入的结点位置值和人员编号不相同, 在添加人员信息模块的代码中又添加了一个if判断语句, 来判断管理员输入的结点位置值和人员编号值是否相同, 只有相同时才能继续添加其它信息, 否则系统将提示输入出错, 继续添加人员编号。第三章 概要

9、设计1、 数据结构的设计本程序设计主要采用的是数据结构的思想, 运用了C+的手段, 完成了代码的编写和实现了程序的运行, 在人员信息管理模块中, 运用了链表的方法以及类的思想, 还运用了构造函数和析构函数实现了代码的编写。 2、 算法的设计( 1) 、 登陆信息的有效性验证: void logn()cout管 理 员 你 好, 请 登 录。endl;coutzhanghao;coutmima;while(zhanghao!=guanliyuan|mima!=ma)cout| 账号密码错误, 请重新输入: |endl;coutzhanghao;coutmima;if(zhanghao=guanl

10、iyuan&mima=ma)/*有效性检验, 管理员进入系统*/ ( 各模块代码。) ( 2) LinkNode和LinkList类的定义: class LinkNode/*编号、 姓名、 职务和备注*/int data;/编号string name;/姓名string staff;/职位string remark;/备注/*指向下一个节点*/LinkNode *next;public:LinkNode( void )/*默认构造函数*/data = 0;name=空;staff=空; remark=空;next = NULL;LinkNode( const LinkNode &obj )/*

11、构造函数, 实现初始化*/data = obj.data;name=obj.name;staff=obj.staff;remark=obj.remark;next = obj.next;LinkNode( void )/*析构函数*/data = 0;name=空;staff=空;remark=空;next = NULL;void setData( int a )/*设置data*/data = a;int getData( void )/*获得data*/return data;void set_name( string a )name= a;string get_name( void )/

12、*获得data*/return name;void set_staff( string a )staff= a;string get_staff( void )/*获得data*/return staff;void set_remark( string a )remark= a;string get_remark( void )/*获得data*/return remark;void setNext( LinkNode *p )next = p;LinkNode *getNext( void )return next;void pp( void )data+;void ss( void )da

13、ta-;typedef LinkNode* pLink;class LinkListLinkNode head;public:LinkList( void )head.setData( 0 );head.set_name(空);head.set_staff(空);head.set_remark(空);head.setNext( NULL );LinkList( const LinkList &obj )pLink p, q = &head;head = obj.head;p = head.getNext();head.setNext( NULL );while( p )q-setNext( n

14、ew LinkNode );q = q-getNext();q-setData( p-getData() );p = p-getNext();LinkList( void )MakeEmpty();void MakeEmpty( void )pLink p = &head, q = p-getNext();head.setData( 0 );head.set_name(空);head.set_staff(空);head.set_remark(空);while( q )p-setNext( q-getNext() );delete q;q = p-getNext();int Length( vo

15、id )return head.getData();void Insert( int x,string a,string b,string c, int i )int n = -1;pLink p = &head, q;if( i getNext() & ( +n getNext();q = new LinkNode;q-setData( x );q-set_name(a);q-set_staff(b);q-set_remark(c);q-setNext( p-getNext() );p-setNext( q );head.pp();void Delete( int x )pLink p =

16、&head, q = head.getNext();while( q )if( q-getData() = x )p-setNext( q-getNext() );delete q;q = p-getNext();elsep = p-getNext();q = q-getNext();int ReMove( int i )pLink p = &head, q;int n = -1;while( p-getNext() & ( +n getNext();if( p )return 0;elseq = p-getNext();p-setNext( q-getNext() );delete q;re

17、turn 1;int Find( int x )pLink p = head.getNext();while( p )if( p-getData() = x )return 1;p = p-getNext();return 0;void Display( void )pLink p = head.getNext();while( p )cout编号: getData() endl;cout姓名: get_name()endl;cout职位: get_staff()endl;cout备注:get_remark()getNext();( 3) 、 默认构造函数LinkNode( void )/*默

18、认构造函数*/data = 0;name=空;staff=空; remark=空;next = NULL;( 4) 、 构造函数, 实现初始化LinkNode( const LinkNode &obj )data = obj.data;name=obj.name;staff=obj.staff;remark=obj.remark;next = obj.next;( 5) 、 析构函数LinkNode( void )data = 0;name=空;staff=空;remark=空;next = NULL;( 6) 、 主界面函数int menu( void )int re;system( cls

19、 );couttt欢迎进入固定资产管理系统-人员管理模块endl;cout tt1.置空 endl;cout tt2.显示人员个数: endl;cout tt3.插入人员 endl;cout tt4.删除所有指定值的人员 endl;cout tt5.移除指定位置的人员 endl;cout tt6.查找有无指定值的人员 endl;cout tt7.显示 endl;cout tt8.退出 endl;couttt请输入您的选择: re;system( cls );if( re 0 )return re;elsereturn 0;( 7) 、 删除人员信息函数: void Delete( int x

20、)pLink p = &head, q = head.getNext();while( q )if( q-getData() = x )p-setNext( q-getNext() );delete q;q = p-getNext();elsep = p-getNext();q = q-getNext();( 8) 、 移除人员信息函数: int ReMove( int i )pLink p = &head, q;int n = -1;while( p-getNext() & ( +n getNext();if( p )return 0;elseq = p-getNext();p-setNex

21、t( q-getNext() );delete q;return 1;( 9) 查找人员信息函数: int Find( int x )pLink p = head.getNext();while( p )if( p-getData() = x )return 1;p = p-getNext();return 0;( 10) 、 显示人员信息函数void Display( void )pLink p = head.getNext();while( p )cout编号: getData() endl;cout姓名: get_name()endl;cout职位: get_staff()endl;co

22、ut备注:get_remark()getNext(); 第四章 详细设计( 一) 人员信息管理模块#include #include #includeusing namespace std;class LinkNode/*编号、 姓名、 职务和备注*/int data;/编号string name;/姓名string staff;/职位string remark;/备注/*指向下一个节点*/LinkNode *next;public:LinkNode( void )/*默认构造函数*/data = 0;name=空;staff=空; remark=空;next = NULL;LinkNode(

23、 const LinkNode &obj )/*构造函数, 实现初始化*/data = obj.data;name=obj.name;staff=obj.staff;remark=obj.remark;next = obj.next;LinkNode( void )/*析构函数*/data = 0;name=空;staff=空;remark=空;next = NULL;void setData( int a )/*设置data*/data = a;int getData( void )/*获得data*/return data;void set_name( string a )name= a;

24、string get_name( void )/*获得data*/return name;void set_staff( string a )staff= a;string get_staff( void )/*获得data*/return staff;void set_remark( string a )remark= a;string get_remark( void )/*获得data*/return remark;void setNext( LinkNode *p )next = p;LinkNode *getNext( void )return next;void pp( void

25、)data+;void ss( void )data-;typedef LinkNode* pLink;class LinkListLinkNode head;public:LinkList( void )head.setData( 0 );head.set_name(空);head.set_staff(空);head.set_remark(空);head.setNext( NULL );LinkList( const LinkList &obj )pLink p, q = &head;head = obj.head;p = head.getNext();head.setNext( NULL

26、);while( p )q-setNext( new LinkNode );q = q-getNext();q-setData( p-getData() );p = p-getNext();LinkList( void )MakeEmpty();void MakeEmpty( void )pLink p = &head, q = p-getNext();head.setData( 0 );head.set_name(空);head.set_staff(空);head.set_remark(空);while( q )p-setNext( q-getNext() );delete q;q = p-

27、getNext();int Length( void )return head.getData();void Insert( int x,string a,string b,string c, int i )int n = -1;pLink p = &head, q;if( i getNext() & ( +n getNext();q = new LinkNode;q-setData( x );q-set_name(a);q-set_staff(b);q-set_remark(c);q-setNext( p-getNext() );p-setNext( q );head.pp();void D

28、elete( int x )pLink p = &head, q = head.getNext();while( q )if( q-getData() = x )p-setNext( q-getNext() );delete q;q = p-getNext();elsep = p-getNext();q = q-getNext();int ReMove( int i )pLink p = &head, q;int n = -1;while( p-getNext() & ( +n getNext();if( p )return 0;elseq = p-getNext();p-setNext( q

29、-getNext() );delete q;return 1;int Find( int x )pLink p = head.getNext();while( p )if( p-getData() = x )return 1;p = p-getNext();return 0;void Display( void )pLink p = head.getNext();while( p )cout编号: getData() endl;cout姓名: get_name()endl;cout职位: get_staff()endl;cout备注:get_remark()getNext();int menu

30、( void )int re;system( cls );cout tt1.置空 endl;cout tt2.显示人员个数: endl;cout tt3.插入人员 endl;cout tt4.删除所有指定值的人员 endl;cout tt5.移除指定位置的人员 endl;cout tt6.查找有无指定值的人员 endl;cout tt7.显示 endl;cout tt8.退出 endl;couttt请输入您的选择: re;system( cls );if( re 0 )return re;elsereturn 0;int main( void )LinkList L;int a, b;stri

31、ng info1,info2,info3;while( true )switch( menu() )case 0:cout 输入有误,请重新输入 endl;break;case 1:L.MakeEmpty();break;case 2:cout 共有 L.Length() 个人员 endl;/显示的人员数是结点的个数system( pause );break;case 3:cout a;cout b;while(a!=b)cout两次输入不一致, 请重新输入endl;cout a;/结点位置cout b;/编号if(a=b)cout姓名info1;cout职位: info2;cout备注: i

32、nfo3;L.Insert( b, info1,info2,info3,a );break;case 4:cout请输入要删除的人员编号 a;L.Delete( a );break;case 5:cout请输入要移除的人员编号 a;if( L.ReMove( a ) )cout 删除成功 endl;elsecout 未能找到指定结点 endl;system( pause );break;case 6:cout请输入要查询的人员编号 a;if( L.Find( a ) )cout 找到了编号为 a 的人员 endl;elsecout 没有编号为 a 的人员 endl;system( pause

33、);break;case 7:L.Display();system( pause );break;default:return 0;return 0;( 二) 管理员登陆模块void logn()cout管 理 员 你 好, 请 登 录。endl;coutzhanghao;coutmima;while(zhanghao!=guanliyuan|mima!=ma)cout| 账号密码错误, 请重新输入: |endl;coutzhanghao;coutmima;if(zhanghao=guanliyuan&mima=ma)/*有效性检验, 管理员进入系统*/int flg=1;while(flg)switch(print_menu1()/*接受选择的结果而且进行处理*/case 1:manage();break;/*1.固定资产信息管理*/ case 2:manage_person();break;/*2.人员信息管理 */case 3:break;/*3.

展开阅读全文
部分上传会员的收益排行 01、路***(¥15400+),02、曲****(¥15300+),
03、wei****016(¥13200+),04、大***流(¥12600+),
05、Fis****915(¥4200+),06、h****i(¥4100+),
07、Q**(¥3400+),08、自******点(¥2400+),
09、h*****x(¥1400+),10、c****e(¥1100+),
11、be*****ha(¥800+),12、13********8(¥800+)。
相似文档                                   自信AI助手自信AI助手
搜索标签

当前位置:首页 > 学术论文 > 其他

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        获赠5币

©2010-2025 宁波自信网络信息技术有限公司  版权所有

客服电话:4008-655-100  投诉/维权电话:4009-655-100

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :gzh.png    weibo.png    LOFTER.png 

客服