C++固定资产管理系统

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

辽宁工业大学
《C++语言程序设计》课程设计(论文)题目固定资产管理系统__________
院(系):__________
专业班级:______
学号:_______________
学生姓名:_______________
指导教师:_______________
教师职称:____________ 起止时间:
课程设计(论文)任务及评语
教研室:软件教研室
院(系):软件学院
目录
第1章课程设计目的与要求. ...................................
设计目的. .............................................
实验环境. ............................................... 错误!未定义书签
预备知识. ............................................... 错误! 未定义书签
设计要求. ............................................... 错误!未定义书签
第2章课程设计内容. ........................................ 错误!未定义书签固定资产管理系统问题分析. ................................. 错误!未定义书签
系统设计. ............................................. 错误!未定义书签
功能分析. ........................................... 错误!未定义书签
面向对象设计. ....................................... 错误!未定义书签
系统数据流程图. ...................................... 错误! 未定义书签程序实现. ............................................... 错误!未定义书签错误! 未定义书签错误! 未定义书签
源码分析. ..........................................
运行结果. .......................................... 第3章总结. .................................................
参考文献. ................................................... 错误! 未定义书签错误! 未定义书签错误! 未定义书签错误! 未定义书签
第1 章课程设计目的与要求
设计目的
将理论教学中涉及到的知识点贯穿起来,对不同的数据类型、程序控制结构、数据
结构作一比较和总结,结合设计题目进行综合性应用,对所学知识达到融会贯通的程度。

通过课程设计,学生在下述各方面的能力应该得到锻炼:
(1)进一步巩固、加深学生所学专业课程《C++语言教程》的基本理论知识,理论联系
实际,进一步培养学生综合分析问题,解决问题的能力。

( 2)全面考核学生所掌握的基本理论知识及其实际业务能力,从而达到提高学生素质的最终目的。

(3)利用所学知识,开发小型应用系统,掌握运用C++语言编写调试应用系统程序,训
练独立开发应用系统,进行数据处理的综合能力。

( 4)对于给定的设计题目,如何进行分析,理清思路,并给出相应的数学模型。

( 5)掌握面向对象程序设计的方法。

(6)熟练掌握C++语言的基本语法,灵活运用各种数据类型。

( 7)进一步掌握在集成环境下如何调试程序和修改程序。

实验环境
硬件要求能运行Win dows操作系统的微机系统。

C++语言应用程序开发软件使用:VC++系统,或其他C++语言应用程序开发软件。

预备知识
熟悉C++语言程序设计的基本知识及VC+编辑器的使用方法。

设计要求
1. 仔细分析设计题目,画出程序流程图,编写程序源代码。

2. 积极上机调试源程序,增强编程技巧与调程能力。

3. 认真书写课程设计预习报告,课程设计说明书。

4. 遵守课程设计要求和机房管理制度,服从指导教师的安排,确保课程设计的顺利完成
课程设计内容。

第2章课程设计内容
固定资产管理系统问题分析
固定资产在生产过程中可以长期发挥作用,长期保持原有的实物形态,但其价值则随着企业生产经营活动而逐渐地转移到产品成本中去,并构成产品价值的一个组成部分。

企业至少应当于每年年度终了,对固定资产的使用寿命、预计净残值和折旧方法进行复核。

系统设计
2.2.1功能分析
1 •资产日常操作管理功能
主要包括固定资产的新增、修改、退出、转移、删除、借用、归还、维修、计算折旧率及残值率等日常工作。

2•打印条形码功能
根据选定的固定资产自动生成粘贴于固定资产实物上的条形码。

3•盘点功能
按照条码阅读器中的数据与数据库中的数据进行核对,并对正常或异常的数据做出处理,得出固定资产的实际情况,并可按单位、部门生成盘盈明细表、盘亏明细表、盘亏明细附表、盘点汇总表、盘点汇总附表。

4•资产折旧
包括计提固定资产月折旧、打印月折旧报表、对折旧信息进行备份,恢复折旧工作、折旧手工录入、折旧调整。

5•固定资产月报
根据单位、部门、时间等条件查询分类统计月(年)报、本月增加固定资产月报、本月减少固定资产月报、固定资产折旧月报(年报)、并提供打印功能。

6 •固定资产综合查询
可以对单条或一批固定资产的情况进行查询,查询条件包括资产卡片、保管情况、有效资产信息、部门资产统计、退出资产、转移资产、历史资产、名称规格、起始及结束日期、单位或部门。

7•系统维护功能
由系统管理员对资产分类代码表、退出方式代码表、购置方式代码表、存放地代码表、部门代码表、保管人员表、单位名称表。

进行新增、修改、删除等操作。

8.安全管理功能
提供各种安全管理手段。

口令管理功能:维护帐号和口令。

权限控制功能:将用户划分为不同等级确定用户对系统使用权限,根据不同权限确定不同的操作。

数据加密功能:对重要数据进行加密。

此部分内容利用到了以C++是封装的知识:定义一个类将类中成员函数和数据的实现细节隐藏起来,意味着类的实现细节对于使用该类的编程人员来说是不可见的。

为了实现这一功能,引用私有成员概念,一旦交同,除了在类的成员函数中,在其他任何地方都不能改变私有成员变量的值,也不能引用该成员变量。

意味着编译器强行隐藏了类中数据的实现细节。

2.2.2面向对象设计
1. 类的成员函数描述的是类的行为,成员函数是程序算法的实现部分,是对封装的数据进行操作的方法。

2. 运算符重载是对已有的运算符赋予多重含义,使同一个运算符作用于不同类型的数据时导致不同的行为。

一个操作符,其实是一个函数,这种函数的调用语法和普通函数不同。

3. 封装就是将抽象得到得数据和行为相结合,形成一个有机地结合,形成“类”,其中的数据和函数都是类得成员。

定义一个类将类中成员函数和数据的实现细节隐藏起来,意味着类的实现细节对于使用该类的编程人员来说是不可见的。

为了实现这一功能,引用私有成员概念,一旦交同,除了在类的成
员函数中,在其他任何地方都不能改变私有成员变量的值,也不能引
用该成员变量。

意味着编译器强行隐藏了类中数据的实现细节。

4. 课题功能描述:
给出某单位固定资产的管理系统。

5. 问题详细描述:
随意给出某个部门,可以显示该年的年日历(包括每月的天数和所对应的星期几)

并且在每月的左上角或右上角打印出相应的年份和月份,要求输出界面尽可能整齐、美观,符合日历显示规范。

6•问题的解决方案:
根据问题的描述,可以按照程序要求的功能采用结构化的设计思想。

1)找到一个基点,例如:某部门借出还入资产的记录情况的记录。

2)注意清理方式和清理资产的区别。

3)为了资产的管理要及时更新资产信息。

7.创新要求:
在基本要求达到后,进行创新设计:(1)使用多文件,即主函数和各个函数分别存放在不同的.cpp文件中,在头文件中进行函数原型声明;(2)对程序功能进行拓展,例如, 显示前后三年资产情况。

UML类图
CFin dLoa n -On Fdl nCkgbdate: void -On Fdl nCksor: void
+Refresh () +CComboBox () +BOOL ()
2.2.3系统数据流程图
图系统流程图
固定资产管理程序首先用一张高层次的系统流程图描绘系统总体概貌,表明程序的关键功能。

然后分别把每个关键功能扩大扩展到适当的详细程度,这种分层次的描绘方法便于阅读者按从抽象到具体的过程深入地了解一个复杂的系统。

程序实现
2.3.1源码分析
固定资产总系统主界面
#in clude<iostream>
#in clude<fstream>
#in clude<stri ng> using n amespace std; struct product {
stri ng ID;
stri ng num;
stri ng n ame;
stri ng producer; stri ng producttime; stri ng buytime;
stri ng price;
};
void searchfixretur n() {
char e;
string Num;
cout<<" 请输入您要查询的产品编号:";
cin>>Num;
char q='N';
int i;
ifstream infile1(""); 清理资产
图系统管理流程图
是否管理
int a;
infile1>>a;
();
product p[10];
ifstream infile2("");
for(i=0;i<a;i++)
{ infile2>>p[i].ID>>p[i].num>>p[i].name>>p[i].producer>>p[i].productt ime>>p[i].buytime>>p[i].price;
if(p[i].num==Num)
{
q='Y';
break;
}
}
();
int b;
ifstream infile3("");
infile3>>b;
();
ifstream infile4("");
for(i=0;i<b;i++)
{
infile4>>p[i].ID>>p[i].num>>p[i].name>>p[i].producer>>p[i].productt
ime>>p[i].buytime>>p[i].price;
if(p[i].num==Num)
{
e='W';
break;
}
}
();
if(q=='Y')
cout<<p[i].name<<" 未修完"<<endl;
else if(q=='N'&&e=='W')
cout<<p[i].name<<" 已修完"<<endl;
else
cout<<" 无此产品"<<endl;
}
/*();
int b;
ifstream infile3("");
infile3>>b;
();
ifstream infile4(""); for(i=0;i<b;i++)
{ infile4>>p[i].ID>>p[i].num>>p[i].name>>p[i].producer>>p[i].pr
oducttime>>p[i].buytime>>p[i].price;
if(p[i].num==Num)
{
e='W';
break;
}
}
();
if(q=='Y')
cout<<p[i].name<<" 未归还"<<endl;
else if(q=='N'&&e=='W')
cout<<p[i].name<<" 已归还"<<endl;
else
cout<<" 无此产品"<<endl;
}*/
创建固定资产#include<iostream> #include<fstream> #include<string> using namespace std; struct product
{
string ID;
string num; string name;
string producer; string producttime; string buytime; string price;
}; void add()
int a;
int i;
ifstream infile1("");
infile1>>a;
ifstream infile2("");
product p[10]; for(i=0;i<a;i++)
{ infile2>>p[i].ID>>p[i].num>>p[i].name>>p[i].producer>>p[i].pr
oducttime>>p[i].buytime>>p[i].price;
}
();
cout<<" 请输入新资产的ID:";
cin>>p[a].ID;
cout<<" 请输入新资产的编号:";
cin>>p[a].num;
cout<<" 请输入新资产的名称:"; cin>>p[a].name;
cout<<" 请输入新资产的生产厂家:"; cin>>p[a].producer;
cout<<" 请输入新资产的生产日期:"; cin>>p[a].producttime;
cout<<" 请输入新资产的购买时间:"; cin>>p[a].buytime;
cout<<" 请输入新资产的价格:";
cin>>p[a].price;
();
ofstream outfile1("");
for(i=0;i<a+1;i++)
outfile1<<p[i].ID<<'\t'<<p[i].num<<'\t'<<p[i].name<<'\t'<<p[i].producer< <'\t'<<p[i].producttime<<'\t'<<p[i].buytime<<'\t'<<p[i].price<<'\n';
();
ofstream outfile2("");
outfile2<<a+1;
();
}
2.3.2 运行结果
图固定资产系统总资产
图输入固定资产信息
第3 章总结
学习了C++语言让我懂得了很多做事情的道理。

比如说通过编程我知道无论干什么事都要严谨,千万马虎不得。

C++语言程序设计要求结构紧凑,概念准确。

如在程序中有一点小小错误,都会致使整个程序无法运行,直到你修改准确无误。

通过这次课程设计,使我学到了很多东西。

这不仅提高了我对C++语言知识的进
一步了解,也增强了自己动手动脑编写程序的能力,课程设计的要求严谨,不允许出现任何错误,使程序可以顺利的编完。

第一次针对做具体情况的C++程序设计,缺乏实际经验。

因此,在做的过程当中遇到了很多困难,当然也学到了很多的知识。

感触颇多:1对C++知识有了更进一步的认识,对以C++的开发过程有了一定的了解。

2、在向老师的请教和与同学的共同研讨中,我体会到团队协作的重要。

3、学习一门知识一定要深入,不能浅尝辄止。

4、兴趣决定一切。

想做好一件事情,首先要热爱它编程也不例外。

在做C++S序设计时,我们也遇到了许多困难,曾一度对自己能否成功产生了怀疑,甚至失去了信心但正是基于对计算科学的热爱,最终使我坚持了下来。

努力将所遇到的问题一一解决,在解决问题的那一瞬
间,我的心中油然而生一种成功感,这种成功感是在平时生活、学习中无法体会的。

通过对C++语言程序设计的学习,使我学到了数据类型的表达、顺序结构程序设计、选择程序设计,循环程序设计等。

在掌握基本算法的基础上,逐步提高了阅读程序的能和自己周全的思维方式。

以及编写程序的能力,为将来自学一些其他的计算机语言及编制大型程序打下良好基础。

而且,现在也可以编写一些简单的程序,大有收获。

参考文献
[1] 徐孝凯,《C++语言程序设计》,清华大学出版社,2011
[2] 黄迪明,《C+■语言程序设计基础》,电子工业出版社,2008
[3] 钱能,《C++程序设计教程》,清华大学出版社,2012
[4] 郑莉,董渊,《C++语言程序设》,清华大学出版社,2010
⑸吴访升,《C++程序设计》,机械工业出版社,2011
⑹Decoder,《C/C++程序设计》,中国铁道出版社,
[7] 刘丽,《C++实战练习》,机械工业出版社,2011
[8] 赵福生,《C++语言程序设计基础》,水利出版社,2009年
[9] 张岫,《C+4程序指导》,机械工业出版社,2011
[10] 李新,《C++语言编程向导》,清华大学出版社,2003
[11] 杜明,《C++程序设计基础》,清华大学出版社,2008
[12] 陈永强,《Visual C++ 应用系统开发》,清华大学出版社,2005
[13] 张沿,《Visual C++ 的实现》,辽宁大学学报,2006。

相关文档
最新文档