个人财务管理数据库设计(含完整版代码)
- 格式:pdf
- 大小:254.38 KB
- 文档页数:9
财务管理系统详细设计报告1. 财务管理模块1.1 期初应收【期初应收功能项信息】功能代码功能说明所属模块参数值application 浏览并操作数据财务管理业务表名:期初应收【映射表映射对象】:应收帐管理【显示风格】:仅表格【明细表框架结构】垂直显示主表显示比例50%不显示主表详细信息【查询语句】:v应收帐管理_期初【排序子句(order by)】:出库编号【期初应收显示格式】字段名显示名显示宽度表达式扩展操作截断出库编号出库编号8 合计0客户名称往来单位12 0出库日期出库日期 6 0联系人联系人 3 0部门部门0经手人经手人 3 0约定付款日期约定收款日期 6 0期初期初应收 6 sum(期初) 0pcode 项目编号8 0pname 项目名称10 0【期初应收查询字段设置】顺序号字段名称显示名称数据类型1 出库编号出库编号varchar(50)2 客户名称往来单位varchar(50)3 出库日期出库日期varchar(20)4 联系人联系人varchar(50)5 经手人经手人varchar(50)6 约定付款日期约定收款日期varchar(10)7 期初期初应收numeric【查询表单】:查询【UISCRIPT】://基础代码结构var DataGridObj = new DataGrid(DataGrid1);DataGridObj.Refresh();DataGridObj.setColumnStyle('8','','right','');【期初应收明细表列表】更新添加菜单表名显示名格式关联显示级联删除【期初应收附件设置】无附件【期初应收查询条件列表】顺序号条件名称内容默认查询【期初应收无递归设置】【期初应收浏览权限】顺序号表单名权限群组包含1 浏览角色总经理 12 浏览角色出纳 13 浏览角色会计 14 浏览角色财务总监 15 浏览角色系统管理员 1【表单浏览截图】【期初应收数据安全】:只读共享1.2 期初应付【期初应付功能项信息】功能代码功能说明所属模块参数值application 浏览并操作数据财务管理业务表名:期初应付【映射表映射对象】:应付帐管理【显示风格】:仅表格【明细表框架结构】垂直显示主表显示比例50%不显示主表详细信息【查询语句】:v应付帐明细_期初【排序子句(order by)】:入库单号【期初应付显示格式】字段名显示名显示宽度表达式扩展操作截断入库单号入库单号8 0供应商供应商12 合计0联系人联系人 3 0入库日期入库日期 6 0经手人经手人 3 0约定付款日期约定付款日期 6 0期初期初应付 6 sum(期初) 0【期初应付查询字段设置】顺序号字段名称显示名称数据类型1 入库单号入库单号varchar(50)2 供应商供应商varchar(50)3 联系人联系人varchar(50)4 入库日期入库日期varchar(20)5 经手人经手人varchar(50)6 约定付款日期约定付款日期varchar(20)7 期初期初应付numeric【查询表单】:查询【UISCRIPT】://基础代码结构var DataGridObj = new DataGrid(DataGrid1);DataGridObj.Refresh();DataGridObj.setColumnStyle('7','','right','');【期初应付明细表列表】更新添加菜单表名显示名格式关联显示级联删除【期初应付附件设置】无附件【期初应付查询条件列表】顺序号条件名称内容默认查询【期初应付无递归设置】【期初应付浏览权限】顺序号表单名权限群组包含1 浏览角色会计 12 浏览角色总经理 13 浏览角色出纳 14 浏览角色财务总监 15 浏览角色系统管理员 1【表单浏览截图】【期初应付数据安全】:只读共享1.3 收款单【收款单功能项信息】功能代码功能说明所属模块参数值applytask 启动流程财务管理流程号:173流程名:收款核销业务表名:回款通知单1.4 收入单【收入单功能项信息】功能代码功能说明所属模块参数值applytask 启动流程财务管理流程号:303流程名:其他收入业务表名:其他收入1.5 付款单【付款单功能项信息】功能代码功能说明所属模块参数值applytask 启动流程财务管理流程号:174流程名:付款流程业务表名:付款通知单1.6 费用单【费用单功能项信息】功能代码功能说明所属模块参数值applytask 启动流程财务管理流程号:206流程名:费用报销业务表名:报销申请单1.7 资金账户【资金账户功能项信息】功能代码功能说明所属模块参数值application 浏览并操作数据财务管理业务表名:(local)@p现金帐户余额【显示风格】:仅表格【明细表框架结构】垂直显示主表显示比例50%不显示主表详细信息【(local)@p现金帐户余额显示格式】【(local)@p现金帐户余额查询字段设置】【UISCRIPT】://基础代码结构var DataGridObj = new DataGrid(DataGrid1); DataGridObj.Refresh();DataGridObj.setColumnStyle('1','','right','');DataGridObj.setColumnStyle('2','','center',''); 【(local)@p现金帐户余额明细表列表】【(local)@p现金帐户余额附件设置】无附件【(local)@p现金帐户余额查询条件列表】【(local)@p现金帐户余额无递归设置】【(local)@p现金帐户余额浏览权限】【表单系统表单截图】【表单SystemForm 截图】【(local)@p现金帐户余额数据安全】:完全共享【显示风格】:仅表格【明细表框架结构】垂直显示主表显示比例50%不显示主表详细信息【排序子句(order by)】:日期desc【资金调整显示格式】【资金调整查询字段设置】【查询表单】:查询【UISCRIPT】://基础代码结构var DataGridObj = new DataGrid(DataGrid1);DataGridObj.Refresh();DataGridObj.setColumnStyles('3','','right','');DataGridObj.setColumnStyles('4','','center','');【资金调整明细表列表】更新添加菜单表名显示名格式关联显示级联删除【资金调整附件设置】无附件【资金调整查询条件列表】顺序号条件名称内容默认查询【资金调整无递归设置】【资金调整浏览权限】顺序号表单名权限群组包含1 浏览角色财务总监 12 浏览角色财务总监 13 浏览角色总经理 14 浏览角色总经理 15 浏览角色出纳 16 浏览角色会计 17 浏览角色系统管理员 1【表单浏览截图】【资金调整数据安全】:完全共享【资金调整关联流程】转账流程(287) 已设置关联启动【流程转账流程(287) 属性】业务表名:资金调整处理时间:0任务主题:'金额'+convert(varchar(20),金额)启动时机:启动条件:调用过程:是否启用:1【节点转帐单录入(1909) 属性】表单名:添加【节点会计审核(1911) 属性】表单名:浏览【节点结束1(1912) 属性】表单名:【节点生成记账凭证_转账(2018) 属性】表单名:【线条1728 属性】处理链序号:0满足条件继续:1单向线条:0条件名:表达式:【线条1817 属性】处理链序号:0满足条件继续:1单向线条:0条件名:表达式:【线条1818 属性】处理链序号:0满足条件继续:1单向线条:0条件名:帐户余额充足表达式:not exists(select 1 from V现金帐户余额where 余额<0 and A帐户like '%'+会计科目代码+'%')【显示风格】:仅表格【明细表框架结构】垂直显示主表显示比例50%显示主表详细信息【排序子句(order by)】:出库日期【应收帐管理显示格式】出库编号来源单号8 0出库日期生成日期 6 0【应收帐管理查询字段设置】顺序号字段名称显示名称数据类型1 出库编号出库编号varchar(50)2 客户名称往来单位varchar(50)3 出库日期出库日期varchar(20)4 联系人联系人varchar(20)5 部门部门varchar(50)6 经手人经手人varchar(50)7 约定付款日期约定收款日期varchar(10)8 合同金额原单金额numeric9 尾款应收余额numeric10 付款方式结算方式11 发票类型发票类型varchar(50)【查询表单】:查询【导出设置】:attachment Excel下载【UISCRIPT】://基础代码结构var DataGridObj = new DataGrid(DataGrid1);DataGridObj.Refresh();DataGridObj.setColumnStyles('3,8','','right','');DataGridObj.setColumnStyles('4,5,6,9','','center','');【应收帐管理明细表列表】表名显示名格式关联显示级联删除更新添加菜单回款通知单明细核销过程自定义出库编号->出库编号1 0 0 0出库申相关单表单出原出库 1 0 0 0请单据库单编号->原出库编号出库明细出库明细自定义原出库编号->原出库编号0 0 0 0(local)@ v个人应收帐(local)@v个人应收帐自定义经手人->经手人0 0 0 0(local)@ v客户应收帐(local)@v客户应收帐自定义客户名称->客户名称0 0 0 0回款通知单收款单自定义出库编号->出库编号0 0 0 1 添加收款单【表单】:出库单【应收帐管理附件设置】无附件【应收帐管理查询条件列表】顺序号条件名称内容默认查询1 不开票收款出库日期>='2007-12-01' and 出库日期<='2007-12-31' and 发票类型= '无票'【应收帐管理无递归设置】【应收帐管理浏览权限】顺序号表单名权限群组包含1 浏览角色出纳 12 浏览角色服务收银 13 浏览角色财务总监 14 浏览角色销售员 15 浏览角色会计 16 浏览角色部门经理 17 浏览角色总经理 18 浏览角色系统管理员 1【表单浏览截图】【应收帐管理数据安全】:表单数据相关【应收帐管理表单数据相关】条件名条件语句用户读取更改删除个人<%=sysLoginUser.uname%>=经手人or<%=sysLoginUser.uname%> in (select1 0 0【显示风格】:仅表格 【明细表框架结构】 垂直显示主表显示比例50% 显示主表详细信息【排序子句(order by)】:入库日期 【应付帐管理显示格式】尾款应付金额 5 sum(尾款) 0经手人经手人 5 0部门部门 5 0入库单号相关单据8 0入库日期生成日期 6 0合同金额原单金额 5 0【应付帐管理查询字段设置】顺序号字段名称显示名称数据类型1 入库单号相关单据varchar(50)2 供应商往来单位varchar(50)3 入库日期生成日期varchar(20)4 部门部门varchar(50)5 经手人经手人varchar(50)6 约定付款日期应付日期varchar(10)7 合同金额原单金额numeric8 尾款应付金额numeric【查询表单】:查询【导出设置】:attachment Excel下载【UISCRIPT】://基础代码结构var DataGridObj = new DataGrid(DataGrid1);DataGridObj.Refresh();DataGridObj.setColumnStyles('3,8','','right','');DataGridObj.setColumnStyles('4,5,6,7','','center','');【应付帐管理明细表列表】表名显示名格式关联显示级联删除更新添加菜单支付记录表核销过程自定义入库单号->入库单号1 0 0 0入库申请单入库单表单入库单信息原入库单号->原入库单号1 0 0 0入库申请明细入库申请明细自定义原入库单号->原入库单号0 0 0 0付款通知单付款单自定义入库单号->入库单号0 0 0 1 添加付款单【表单】:入库单信息【应付帐管理附件设置】无附件【应付帐管理查询条件列表】顺序号条件名称内容默认查询【应付帐管理无递归设置】【应付帐管理浏览权限】顺序号表单名权限群组包含1 浏览角色总经理 12 浏览角色产品经理 13 浏览角色部门经理 14 浏览角色商务 15 浏览角色出纳 16 浏览角色财务总监 17 浏览角色会计 18 浏览角色系统管理员 1【表单浏览截图】【应付帐管理数据安全】:表单数据相关【应付帐管理表单数据相关】条件名条件语句用户读取更改删除<%=sysLoginUser.uname%>=经手人or<%=sysLoginUser.uname%> in (selectusername from1 1 0【显示风格】:仅表格【明细表框架结构】垂直显示主表显示比例50%显示主表详细信息【查询语句】:V付款单【排序子句(order by)】:结转日期desc 【付款通知单显示格式】ISAdtion附件【付款通知单查询字段设置】顺序号字段名称显示名称数据类型1 结转日期结转日期varchar(10)2 客户往来单位varchar(50)3 票面金额付款金额numeric4 付款类型2 付款类型varchar(50)5 结转结转bit6 通知单号付款单号varchar(50)7 TASK_Status 流程状态【查询表单】:查询【UISCRIPT】://基础代码结构var DataGridObj = new DataGrid(DataGrid1);DataGridObj.Refresh();DataGridObj.setColumnStyles('3','','right','');DataGridObj.setColumnStyles('4','','center','');【付款通知单明细表列表】表名显示名格式关联显示级联删除更新添加菜单支付记录表付款记录自定义通知单号->通知单号0 1 0 0【付款通知单附件设置】数据库存储附件【付款通知单查询条件列表】【付款通知单无递归设置】【付款通知单浏览权限】【表单浏览截图】【付款通知单数据安全】:表单数据相关【付款通知单表单数据相关】条件名条件语句用户读取更改删除<%=sysLogin User.uname% > in (select uid from sys_underling where underuid=销售人员) or <%=sysLogin User.uname% >in (select member from sys_MemberO 1 0 0fRole whererolename in(selectrolename fromvalpruRole))【付款通知单关联流程】付款流程(174) 已设置关联启动【流程付款流程(174) 属性】业务表名:付款通知单处理时间:0任务主题:'付款申请|'+客户+'|'+出票日期启动时机:实时(业务表有新数据则启动)启动条件:调用过程:是否启用:1【节点付款申请(1040) 属性】表单名:开单【节点结束(1043) 属性】表单名:【节点更新应付帐(1044) 属性】表单名:【节点出纳付款(1229) 属性】表单名:出纳【节点银行结转确认(2006) 属性】表单名:浏览【节点总经理审批(2007) 属性】表单名:浏览【节点分公司经理(3743) 属性】表单名:财务审核【节点(3746) 属性】表单名:【线条889 属性】处理链序号:0满足条件继续:1单向线条:0条件名:表达式:【线条1413 属性】处理链序号:0满足条件继续:0单向线条:0条件名:表达式:【线条1812 属性】处理链序号:0满足条件继续:1单向线条:0条件名:表达式:【线条1816 属性】处理链序号:0满足条件继续:1单向线条:0条件名:表达式:【线条3572 属性】处理链序号:0满足条件继续:1单向线条:0条件名:往来单位名称已维护表达式:(客户in (select 客户名称from 客户应收帐款限额) and 付款类型='预收款返还') or (付款类型in ('应付帐款','预付帐款','预付冲应付') and 客户in (select 供应商名称from 供应商录入) )【线条3573 属性】处理链序号:2满足条件继续:1单向线条:0条件名:总部表达式:【线条3574 属性】处理链序号:0满足条件继续:1单向线条:0条件名:表达式:【线条3575 属性】处理链序号:0满足条件继续:1单向线条:0条件名:表达式:【线条3576 属性】处理链序号:0满足条件继续:0单向线条:0条件名:分公司表达式:exists (select member from sys_orgmenber where 销售人员=member and ispriduty=1 and org in(select orgname from sys_org where fullorgname like '%分公司管理中心%'))【显示风格】:仅表格【明细表框架结构】垂直显示主表显示比例50%显示主表详细信息【查询语句】:V回款通知单【排序子句(order by)】:出票日期desc,付款凭证号desc【回款通知单显示格式】出票行收款去向 4 0TASK_Status 流程状态 5 0【回款通知单查询字段设置】顺序号字段名称显示名称数据类型1 出票日期收款日期varchar(10)2 客户往来单位varchar(50)3 票面金额金额numeric4 收款类型收款类型varchar(50)5 核销核销varchar(50)6 付款凭证号单据编号varchar(50)7 TASK_Status 流程状态8 核销日期核销日期varchar(10)【查询表单】:查询【UISCRIPT】://基础代码结构var DataGridObj = new DataGrid(DataGrid1);DataGridObj.Refresh();DataGridObj.setColumnStyles('3','','right','');DataGridObj.setColumnStyles('4','','center','');【回款通知单明细表列表】表名显示名格式关联显示级联删除更新添加菜单回款通知单明细应收核销明细自定义付款凭证号->付款凭证号1 1 0 0预付核销明细预付核销明细自定义付款凭证号->付款凭证号1 1 0 0【回款通知单附件设置】无附件【回款通知单查询条件列表】顺序号条件名称内容默认查询【回款通知单无递归设置】【回款通知单浏览权限】顺序号表单名权限群组包含1 浏览角色部门经理 12 浏览角色服务收银 13 浏览角色出纳 14 浏览角色财务总监 15 浏览角色总经理 16 浏览角色会计 17 浏览角色系统管理员 1【表单浏览截图】【回款通知单数据安全】:表单数据相关【回款通知单表单数据相关】条件名条件语句用户读取更改删除<%=sysLoginUser.uname%> in (selectuid from1 0 0sys_underlingwhereunderuid=出纳) or<%=sysLoginUser.uname%>in (selectmember fromsys_MemberOfRole whererolename in(selectrolename fromvalpruRole))【回款通知单关联流程】收款核销(173) 已设置关联启动【流程收款核销(173) 属性】业务表名:回款通知单处理时间:0任务主题:客户启动时机:实时(业务表有新数据则启动)启动条件:调用过程:是否启用:1【节点收款单录入(1024) 属性】表单名:回款通知单【节点会计核销(1026) 属性】表单名:财务核销【节点结束1(1029) 属性】表单名:【节点更新应收(1038) 属性】表单名:【节点出纳收款(3744) 属性】表单名:财务核销【线条892 属性】处理链序号:1满足条件继续:1单向线条:0条件名:表达式:【线条1269 属性】处理链序号:0满足条件继续:1单向线条:0条件名:金额与明细合计金额相等表达式:(票面金额=(select sum(金额) from 回款通知单明细where 回款通知单明细.付款凭证号= 回款通知单.付款凭证号)and 收款类型<> '预收款' and 收款类型<>'预付款返还') or 收款类型= '预收款' or 收款类型='预付款返还'【线条3565 属性】处理链序号:0满足条件继续:1单向线条:0条件名:往来单位名称已维护表达式:(客户in (select 客户名称from 客户应收帐款限额) and 收款类型in ('应收款','预收款','预收冲应收')) or (收款类型= '预付款返还' and 客户in (select 供应商名称from 供应商录入) )【线条3566 属性】处理链序号:0满足条件继续:1单向线条:0条件名:表达式:1.13 手工凭证【手工凭证功能项信息】功能代码功能说明所属模块参数值applytask 启动流程财务管理流程号:375流程名:手工凭证业务表名:凭证编号1.14 会计凭证【会计凭证功能项信息】功能代码功能说明所属模块参数值application 浏览并操作数据财务管理业务表名:(local)@V凭证编号【显示风格】:仅表格【明细表框架结构】垂直显示主表显示比例50%不显示主表详细信息【排序子句(order by)】:顺序号desc【(local)@V凭证编号显示格式】字段名显示名显示宽度表达式扩展操作截断日期日期 6 0凭证连接凭证号 4 0凭证摘要凭证摘要18 0借方借方8 0贷方贷方8 0相关单据相关单据10 0凭证类型1 凭证类型 4 0记账对象记账对象10 0往来单位往来单位10 0制单人制单人 4 0【(local)@V凭证编号查询字段设置】顺序号字段名称显示名称数据类型1 日期日期varchar(50)2 凭证连接凭证号varchar(156)3 凭证摘要凭证摘要varchar(255)4 借方借方numeric5 贷方贷方numeric6 来源单号相关单据varchar(255)7 制单人制单人varchar(50)8 记账对象记账对象varchar(50)9 凭证类型1 凭证类型varchar(4)10 往来单位往来单位varchar(255) 【查询表单】:查询【UISCRIPT】://基础代码结构var DataGridObj = new DataGrid(DataGrid1);DataGridObj.Refresh();DataGridObj.setColumnStyles('3,4','','right','');DataGridObj.setColumnStyle('5','','center',''); 【(local)@V凭证编号明细表列表】【(local)@V凭证编号附件设置】无附件【(local)@V凭证编号查询条件列表】【(local)@V凭证编号无递归设置】【(local)@V凭证编号浏览权限】【表单系统表单截图】【(local)@V凭证编号数据安全】:完全共享【显示风格】:树加表格【明细表框架结构】垂直显示主表显示比例50%不显示主表详细信息【摘要显示格式】【摘要查询字段设置】【摘要明细表列表】【摘要附件设置】无附件【摘要查询条件列表】【摘要无递归设置】【摘要添加权限】【摘要浏览权限】【摘要修改权限】【表单添加截图】【表单浏览截图】【摘要数据安全】:完全共享1.16 费用单【费用单功能项信息】功能代码功能说明所属模块参数值application 浏览并操作数据财务管理业务表名:报销申请单【显示风格】:仅表格【明细表框架结构】垂直显示主表显示比例50%显示主表详细信息【查询语句】:报销视图【报销申请单显示格式】字段名显示名显示宽度表达式扩展操作截断申请编号申请编号合计0申请人姓名0报销部门部门0申请日期申请日期0发生日期发生日期0合计合计sum(合计) 0 pname 项目名称0报销类型报销类型0销差编号销差编号0 TASK_Status 流程状态0 ISAdtion 附件【报销申请单查询字段设置】顺序号字段名称显示名称数据类型1 申请编号申请编号2 申请人姓名varchar(20)3 报销部门部门varchar(50)4 申请日期申请日期varchar(20)5 合计合计numeric6 pname 项目名称varchar(500)7 wbsname 任务名称varchar(500)8 报销类型报销类型varchar(50)9 销差编号销差编号varchar(50)【查询表单】:查询【UISCRIPT】://基础代码结构var DataGridObj = new DataGrid(DataGrid1);DataGridObj.Refresh();DataGridObj.setColumnStyle('3','','right','');DataGridObj.setColumnStyle('4','','center','');【报销申请单明细表列表】【报销申请单附件设置】数据库存储附件【报销申请单查询条件列表】【报销申请单无递归设置】【报销申请单浏览权限】【表单浏览截图】【报销申请单数据安全】:复合模式【报销申请单提交人相关】用户群组读取更改删除包含1 0 0 1计划财务部部门的员工【报销申请单表单数据相关】条件名条件语句用户读取更改删除1 0 0申请人=<%=sysLoginUser.uname%>1=1 system 1 0 0dbo.F_SHEN1 0 0G根据用户展示(<%=sysLoginUser.uname%>,申请部门)=11 0 0<%=sysLoginUser.uname%> in (selectuid fromsys_underlingwhereunderuid=申请人) or<%=sysLoginUser.uname%>in (selectmember fromsys_MemberOfRole whererolename in(selectrolename fromvalpruRole))【报销申请单关联流程】费用报销(206) 已设置关联启动项目费用(396) 已设置关联启动日常费用报销(462) 已设置关联启动差旅费报销(464) 已设置关联启动【流程费用报销(206) 属性】业务表名:报销申请单处理时间:0任务主题:申请人+'|报销金额'+convert(varchar(100),合计) 启动时机:启动条件:调用过程:是否启用:1【节点费用录入(1344) 属性】表单名:报销申请单【节点结束(1348) 属性】表单名:【节点出纳付款(1349) 属性】表单名:财务审批【节点生成记帐凭证_费用(1502) 属性】表单名:【节点部门经理审批(2897) 属性】表单名:部门经理【节点或1(3728) 属性】表单名:【节点总经理审批(3731) 属性】表单名:部门经理【线条1483 属性】处理链序号:0满足条件继续:1单向线条:0条件名:帐户余额充足表达式:not exists(select 1 from V现金帐户余额where 余额<0 and 银行账户科目like '%'+ 会计科目代码+'%')【线条2651 属性】处理链序号:0满足条件继续:1单向线条:0条件名:相关客户正确,报销科目合理表达式:dbo.f_费用单判断(编号)=0【线条3525 属性】处理链序号:0满足条件继续:1单向线条:0条件名:表达式:。
#include"stdio.h"#include"stdlib.h"#define MAX_NAME 11#define MAX_DETAIL 21#define MENU_COUNT 9#define DATA_FILE "fa.dat" typedef wnum_fi_type ( income=1,payout=-1}fi_type;typedef struct_fi_info (int year;int month;fi_type type;char name[MAX_NAME];float money;char detail[MAX_DETAIL];}fi_info;typedef struct_fi_data (fi_info info;struct_fi_data *next;}fi_data;void add_income();void search_income();void delete_income();void update_income();void add_payout();void search_payout();void delete_payout();void update_payout();void count_total();void quit();void search_data(fi_type type);void delete_data(fi_type type);void update_data(fi_type type);void initialize();void save_to_file();void clear_data();fi_data *get_last();fi_data *get_previous(fi_data *p);void input_info(fi_info *info);void show_info(fi_data *p[],int count);fi_data *head;char menu[]=" ------------------------------------------------ ==\n""|家庭财务管理系统|\n""+ --------------------------------------- +\n""|收入管理|\n""| 1添加收入|\n""| 2查询收入明细|\n""| 3删除收入|\n""| 4修改收入|\n""|支出管理|\n""| 5添加支出|\n""| 6查询支出明细|\n""| 7删除支出|\n""| 8修改支出|\n""|统计|\n""| 9统计总收入总支出|\n"" --------------------------------------- +\n""| 0退出系统|\n""==============================================+\n"; void(*menu_fun[])()= ( quit,add_income, search_income, delete_income, update_income, add_payout, search_payout, delete_payout, update_payout, count_total };int main() (int selected=0;initialize();while(selected>=0 && selected<=MENU_COUNT) ( system("cls");printf(menu);printf("> 请选择要进行的操作(%d - %d):",0,MENU_COUNT);if(scanf("%d”,&selected)!=1llselected<0llselected>MENU_COUNT) (printf(">输入错误!请选择[%d - %d]之间的数字!按任意键重试…",0,MENU_COUNT);fflush(stdin);getchar();) else(menu_fun[selected]();)selected=0;))void add_income()(fi_data *p=(fi_data *)malloc(sizeof(fi_data));memset(p,0,sizeof(fi_data));p->next=NULL;input_info(&(p->info));p->info.type=income;if(head==NULL)( head=p;) else(get_last(head)->next=p;))void search_income()(search_data(income);)void delete_income()(delete_data(income);)void update_income()(update_data(income);)void add_payout() (fi_data *p=(fi_data*)malloc(sizeof(fi_data)); memset(p,0,sizeof(fi_data));input_info(&(p->info));p->info.type=payout;if(head==NULL)( head=p;) else(get_last(head)->next=p;))void search_payout()(search_data(payout);)void delete_payout()(delete_data(payout);)void update_payout()(update_data(payout);)void count_total()(float total_income=0.0;float total_payout=0.0;fi_data *p=head;while(p!=NULL)(if(p->info.type==income)(total_income+=p->info.money;) else(total_payout+=p->info.money;)p=p->next;)printf("+ ------- + ------- + -------- +\n");printf("|合计收入|合计支出| 结余printf("+|\n");---------------- + ------- + -------- +\n");printf("l%12.2fl%12.2fl%12.2fl\n", total_income, total_payout,total_income - total_payout); printf("+ ------- + -------- + ------- +\n");printfC、按任意键继续返回主菜单…) fflush(stdin);getchar();)void search_data(fi_type type) (int year=0;int month=0;fi_data *p=NULL;fi_data *result[9]={NULL}; int count=0; char input='';while(1) {printfC、请输入要查询的年月(例如:2009/1)"); if(scanf("%d/%d”,&year,&month)!=2) { printf(">输入错误。
目录1 前言....................................... 错误!未定义书签。
2 需求分析................................... 错误!未定义书签。
2.1 课程设计目的........................... 错误!未定义书签。
2.2 课程设计任务........................... 错误!未定义书签。
2.3 设计环境 (1)2.4 开发语言............................... 错误!未定义书签。
3 分析和设计................................. 错误!未定义书签。
3.1 系统E-R模型........................... 错误!未定义书签。
3.2 表空间及表的设计 (2)3.3 视图设计............................... 错误!未定义书签。
3.4 存储过程、函数、包的设计............... 错误!未定义书签。
3.5 触发器设计............................. 错误!未定义书签。
3.6 角色、用户、权限设计................... 错误!未定义书签。
3.7 备份方案设计........................... 错误!未定义书签。
4 课程设计总结 (9)4.1 程序运行结果 (9)4.2 设计结论 (11)参考文献..................................... 错误!未定义书签。
致谢....................................... 错误!未定义书签。
附录....................................... 错误!未定义书签。
1 前言设计一个个人记账管理系统,用JA V A来编写。
财务管理系统数据库设计简介财务管理系统是一种用于企业或个人管理和追踪财务活动的软件系统。
它包括财务数据的输入、存储、处理和输出等功能,可以帮助用户实现财务管理的自动化。
数据库设计数据库设计是构建财务管理系统的重要一环。
一个好的数据库设计可以有效地支持系统的功能和性能,并保证数据的准确性和完整性。
下面是财务管理系统的数据库设计。
数据库结构财务管理系统的数据库结构由多个数据库表组成,每个表代表一个实体或者一个关系。
以下是财务管理系统的数据库结构示意图:Database StructureDatabase Structure数据库表财务管理系统的数据库表由以下几个表组成:用户表(users)用户表存储系统中的用户信息,包括用户ID、用户名、密码、角色等字段。
字段名数据类型主键描述user_id int 是用户IDusername varchar(50) 用户名password varchar(50) 密码role varchar(20) 角色项目表(projects)项目表存储系统中的项目信息,包括项目ID、项目名称、负责人等字段。
字段名数据类型主键描述project_id int 是项目IDname varchar(50) 项目名称manager varchar(50) 负责人账目表(accounts)账目表存储系统中的财务账目信息,包括账目ID、项目ID、收入/支出、金额等字段。
字段名数据类型主键描述account_id int 是账目IDproject_id int 项目IDtype varchar(20) 类型(收入/支出)amount decimal(10, 2) 金额date date 日期报表表(reports)报表表存储系统中的报表信息,包括报表ID、项目ID、报表类型、生成时间等字段。
字段名数据类型主键描述report_id int 是报表IDproject_id int 项目IDtype varchar(20) 报表类型generated_at datetime 生成时间关系设计财务管理系统的数据库表之间存在以下关系:1.用户表(users)与项目表(projects):一对多关系。
财务管理系统数据库设计HEN system office room 【HEN16H-HENS2AHENS8Q8-HENH1688】本科学生大作业实验报告课程名称:数据库应用开发技术实验项目名称:网络财务管理系统数据库脚本设计开课学期: 2011至 2012 学年 02 学期选课班级:选课B02班学号:姓名:学号姓名:学号:姓名:项目名称:网络财务管理系统指导教师:完成时间: 2012 年 5 月 30 日2234559585 11511 需求分析系统目标财务管理系统是每一个单位管理财务收入和支出的不可缺少的一个管理信息系统,它的内容对企业财务计划,财务控制,财务监督,财务运用等方面都起着巨大的作用。
如何发挥财务管理的作用关系到一个企业的命脉。
财务管理的工作对象是资金运动,只要有资金运动就离不开财务管理。
一个企业的生产经营活动无外乎供、产、销三个环节,这个过程始终贯穿着资金运动,只是在各个环节上资金的表现形态不同罢了。
在供应阶段资金由货币形态转变为材料形态,生产阶段由材料形态变为产品形态,在销售阶段由产品形态又回到货币形态。
从这里可以看出,财务管理贯穿于企业的各项工作之中,财务工作与其它管理工作是密不可分的。
从企业目前的实际工作来看,普遍存在两个误区:一种认为财务管理就是管钱,只要管住钱就可万事大吉,重资金,轻核算。
上面谈到,资金在生产经营过程中分别有着不同的表现形式,“钱”只是这个过程的起点和终点,大量的管理工作都蕴含在过程之中。
因此,只有加强内部核算,才能真正做到节支降耗,否则,“钱”是管不住的。
另一种认为财务管理就是管财务部门,把财务部门与其他管理部门割裂开来,财务管理的触角不能延伸到各项管理工作之中。
财务管理就成为无本之木,其作用得不到发挥,形成经营和生产“两张皮”。
目前流行的财务软件有金蝶K3/EAS,用友软件, 4fang财务软件等等,他们有各自的强大与优势,也是经历了市场考验。
我们作为刚涉足的学生,不能保证会做的很完善,但有信心能够尽我们的努力品味其中的苦乐,不仅是对知识的巩固,也是对我们分析问题解决问题的一个考验。
c++个人财务管理系统(五篇模版)第一篇:c++个人财务管理系统个人财务管理系统//mynumber.h #include #include #include #include #include using namespace std;struct record {string time;string operate;int money;};struct code {string password;stringacnumber;string person1;string person2;};const record mark={“notimen”,“non”,0};class account {public: struct record A;struct code B;intcheckacnumber();intcheckpassword();voidoldrecord(const char *filetxt);void inquire(const char *filetxt);void del(const char *filetxt);void increase(const char *filetxt);voidCreateTxt(const char *filetxt);voidprintall(const char *filetxt);voidprintincome(const char *filetxt);voidprintpay(const char *filetxt);voidModifynumber();voidCreateDat();void Initial(const char *filetxt);intendmark(record A);intfindback();voidrecyclebin(const char *filetxt);};//main.cpp #include“mynumber.h” const char *file=“E:RecordFile.txt”;int main(){cout<<“欢迎使用个人财务管理系统n”;cout<<“-----------n”;cout<<“||n”;cout<<“|1.登陆|n”;cout<<“|2.注册|n”;cout<<“|cout<<”-----------n“;intn,k,t;cin>>n;accountX;if(n==2){X.CreateDat();n=1;} if(n==1){k=X.checkacnumber();if(k==0)exit(0);else{t=X.checkpassword();if(t==0)exit(0);else while(1){cout<<”-----------请选择您要进行的操作-----------n“;cout<<”|cout<<“|0.退出系统cout<<”|1.查找记录cout<<“|2.增加记录cout<<”|3.删除记录cout<<“|4.输出所有记录cout<<”|5.输出所有收入记录cout<<“|6.输出所有支出记录cout<<”|7.修改密码cout<<“|8.初始化记录cout<<”|9.回收站char choice;cin>>choice;switch(choice){case'0':cout<<“感谢您使用本系统!n”;exit(0);case'1':X.inquire(file);break;case'2':X.increase(file);b reak;case'3':X.del(file);break;case'4':X.printall(file);break;case'5':X. printincome(file);break;|n“;|n”;|n“;|n”;|n“;|n”;|n“;|n”;|n“;|n”;|n“;|n”;case'6':X.printp ay(file);break;case'7':X.Modifynumber();break;case'8':X.Initial(file);break;case'9':X.recyclebin(file);break;} cout<//check-acnumber.cpp #include“mynumber.h” int account::checkacnumber(){stringa;intj=3;ifstreamfdat(“E:accountFile.dat”,ios::in);cout<<“请输入您的账号: ”;while(j--){cin>>a;fdat.seekg(0,ios::beg);fdat.read((char*)&B,sizeof(code)) ;if(a==B.acnumber){fdat.close();return 1;} else cout<<“此账号不存在,请重新输入!n”;} cout<<“n您的账号已输错三次!请退出系统!n”;fdat.close();return 0;}//check-passwo rd.cpp #include“mynumber.h” int account::checkpassword(){ifstreamfdat(“E:accountFile.dat”,ios:: in);strings;int j=3,x;cout<<“请输入密码:”;while(j--){cin>>s;fdat.seekg(0,ios::beg);fdat.read((char*)&B,sizeof(code)) ;if(s==B.password){fdat.close();return 1;} else co ut<<“密码错误,请重新输入!n”;} cout<<“n您输入的密码已错误三次,请问想找回密码吗?(Y/N)n”;char answer;cin>>answer;if(answer=='Y'||answer=='y'){x=account::fi ndback();if(x==1)return 1;else return 0;} else {cout<<“感谢您使用本系统,再见!n”;return 0;} }//CreateDat.cpp #include“mynumber.h” void account::CreateDat(){codeB;stringa,b;account::oldrecord(“E:Rec ordFile.txt”);fstreamtemp(“E:lalala.txt”,ios::out|ios::binary);fstreamrub(“E:RecycleBin.txt”,ios::out|ios::binary);temp.seekp(0,ios::be g);temp.write((char*)&mark,sizeof(record));rub.seekp(0,ios::beg); rub.write((char*)&mark,sizeof(record));while(1){cout<<“请输入您要注册的账号:”;cin>>B.acnumber;cout<>B.password;cout<>b;cout<>a;co ut<{cout<<“为了便于验证身份,请您填写以下信息作为验证方式n”;cout<<“自己身高多少:”;cin>>B.person1;cout<<“自己颜值多高:”;cin>>B.person2;cout<<“(自己身高多少:”<”<<“(自己颜值多高:”<{s tringE;int n=0;char answer;cout<<“请输入您要删除的日期:”;cin>>E;fdat.seekg(0,ios::beg);do {fdat.read((char*)&A,sizeof(record));if(E==A.time){n++;cout<<“(”<{ cout<<“没有该日期的记录!n”<<“您还要继续删除记录吗?(Y/N)n”;cin>>answer;if(answer=='Y'||answer=='y'){cout<>a nswer;if(answer=='Y'||answer=='y'){ fdat.seekg(0,ios::beg);ftxt.se ekp(0,ios::beg);rub.seekg(0,ios::beg);do{rub.read((char*)&A,sizeof(record));}while(!endmark(A));rub.seekp(-long(sizeof(record)),ios::cur);do{fdat.read((char*)&A,sizeof(record));if(A.time!=E&&!endmark(A)){ftxt.write((char*)&A,sizeof(reco rd));}if(A.time==E&&!endmark(A)){rub.write((char*)&A,sizeof(rec ord));}}while(!endmark(A));ftxt.write((char*)&mark,sizeof(record));r ub.write((char*)&mark,sizeof(record));fdat.seekp(0,ios::beg);ftxt.s eekg(0,ios::beg);do{ftxt.read((char*)&A,sizeof(record));if(!endmark(A))fdat.write((char*)&A,sizeof(record));}while(!endmark(A));fdat.write((char*)&mark,sizeof(record));cout<<“成功删除记录!n”;cout<<“您是否还要继续删除日期记录?(Y/N)n”;cin>>answer;if(answer=='Y'||answer=='y'){cout<//findback.cpp #include“mynumber.h” int account::findback(){fstreamfdat(“E:accountFile.dat”,ios::in|ios:: out|ios::binary);fdat.seekg(0,ios::beg);fdat.read((char*)&B,sizeof( code));stringa,b,c,d;cout<<“自己身高多少:”;cin>>a;if(a!=B.person1){cout<<“n验证错误!请退出系统!n”;return 0;} else {cout<<“自己颜值多高:”;cin>>b;if(b!=B.person2){cout<<“n验证错误!请退出系统!n”;return 0;} else {cout<<“n验证成功!请修改您的密码!n”;account::Modifynumber();fdat.close();return 1;} } } //increase.cpp #include“mynumber.h” void account::increase(const char* filetxt){fstreamfdat(filetxt,ios::in|ios::out|ios::binary);while(1){record D;cout<<“请输入您要添加的日期:”;cin>>D.time;cout<<“请输入所添加日期的操作:”;cin>>D.operate;cout<<“请输入所添加日期的支出或收入:”;cin>>D.money;cout.setf(ios::showpos);cout<<“(”<cout<<“n是否确定将该日期记录进行保存?(Y/N)n”;char answer;cin>>answer;if(answer=='Y'||answer=='y'){fdat.seekg(0,i os::beg);do{fdat.read((char*)&A,sizeof(record));}while(!endmark(A));fdat.seekp(-long(sizeof(record)),ios::cur);fdat.write((char*)&D,sizeof(record));fdat.write((char*)&mark,sizeof(record));cout<<“n您是否还要继续添加日期记录?(Y/N)n”;cin>>answer;if(answer=='Y'||answer=='y'){cout<else {cout<<“记录保存成功!n”;fdat.close();break;} }else {cout<<“取消操作!n”;cout<<“您还要进行日期记录添加的操作吗?(Y/N)n”;cin>>answer;if(answer=='Y'||answer=='y')continue; else {fdat.close();break;} } } }//Initial.cpp #include“mynumber.h” externconst record mark;void account::Initial(const char *filetxt){fstreamfdat(filetxt,ios::out|ios::binary);cout<<“若账目文件存在,将删除所有数据,要进行文件初始化吗?(Y/N)n”;char answer;cin>>answer;if(answer=='Y'||answer=='y'){fdat.seekp(0,i o s::beg);fdat.write((char*)&mark,sizeof(record));cout<<“文件已经初始化。
《管理软件开发》课程设计报告——个人记账管理系统一、设计时间2011年12月 26日-----12月30日二、设计地点湖南城市学院一实验楼 511机房三、设计目的1.运用所学的数据库基础知识, 设计并编写一个《个人记账管理系统》的开发。
2.掌握数据库原理的相关理论和数据库的设计实现过程。
3.在实际项目中培养相关知识和综合应用的能力;4、培养学生查阅资料的习惯, 提高学生独立思考和解决问题的能力。
四、设计小组成员0806402-04 江国丰 0806402-22欧阳明双 0806402-35姚凯五、指导老师吴宏斌老师黄雪华老师六、设计课题通过对一些实际问题的软件设计, 使学生能将课本的理论知识应用于实践, 编制出较为实用的小系统《个人记账管理系统》:1.记账管理增加;2.记账管理修改;3.记账管理删除;4.记账管理查询;七、基本思路及关键问题的解决方法该系统总共分为四块, 采用MVC模式编写的个人记账管理系统信息维护。
我负责的个人记账管理系统信息维护的修改与删除:UpdateDialog.java 修改信息AccountDao.java 调用dao层的deleteAccount(String condition)删除函数个人记账管理系统的思路及关键问题的解决方法:对个人记账的财务收支进行管理, 实现对个人财务的明细账单的增、删、改、查的功能。
八、算法及流程图1.算法流程图个人记账管理系统算法及流程图2.功能模块图个人记账管理系统功能模块图3.ER图记账信息表:记账ID,记账开销, 收支费用, 收支时间, 收支方式, 备注个人记账管理系统ER图九、调试过程中出现的问题及相应解决办法1.修改后台数据不成功显示?解决办法:连接后台数据出错, 修改连接方式, 数据库表的字段名称, 调试后, 成功已显示。
2.根据ID删除记录有问题, 不能删除?解决办法:进从后台获取id时出错, 没读到后台数据库的id, 修改调试代码, 删除成功。