小型商品管理系统分析
- 格式:doc
- 大小:632.92 KB
- 文档页数:26
【关键字】可行性小型超市管理系统可行性分析报告小型超市管理系统可行性分析报告一、系统建立的背景及意义超市管理系统是市场上最流行的超市上常用的系统之一,它主要包含以下几个模块:系统权限的设定、原始数据录入、数据的汇总及查询等。
从而,实现对进货、销售及员工信息等实现全面、动态、及时的管理。
随着现代科学技术的迅猛发展,计算机技术已经渗透到各个领域,成为各行业必不可少的工具,特别是Internet技术的推广和信息高速公路的建立,使IT产业在市场比赛中越发显示出其独特的优势,步入信息化时代,有巨大的数据信息等待加工处理和传输,这使得对书数据库的进一步开发和利用显得尤为迫切。
作为国内市场的一些中小型超市,它们在信息化过程中的步伐要落后于大中型超市,而对于这些企业的资源管理,信息的存储和处理也显得迫切需要,要适应市场比赛,就需要有高效的处理方式和管理方法,因此加快超市的信息化进程是必可少的。
二、系统的可行性研究系统的功能:a.功能:①记录仓库存货、销售以及进货情况②了解超市进货渠道、商品单价、数量③了解库存商品种类数量,所售商品种类、价格、数量④统计核算日常的不断变化的数据,并登记有关文件⑤分项显示销售商品后开出的发票的内容,并且详细显示商品价格数额⑥在当天汇总时修改相应文件,如总金额、总数量⑦根据日常统计,制作月统计,并制作月报表⑧操作失误保护b.性能:①稳定快速,实时控制②核算准确,使实存商品、销售商品与所记帐目一致,能够被超市长期有效使用③准确统计核算日常的不断变化的数据④结构化模块,层次清楚⑤提示通俗易懂⑥查询资料简便⑦维护手段齐全c.输出:汉字输出d.输入:条形码和汉字及商品代码输入e.安全与保密要求:①数据资料有些属内部资料,不能为外人所知,系统须有保密措施,设置密码②不能轻易被破坏,不能让管理人员以外的人更改数据③查看资料需输入正确密码④销售人员销售货物需输入代号才能打开收银柜⑤万一泄露密码,应设修改密码的程序,同时密码不能过于简单⑥对断电、死机、系统崩溃等问题有有力措施以保障数据不受损失f.完成期限:1个月可行性:通过调查分析开发水果超市管理系统所具备的能力及实现的方法。
小型自选商场综合管理系统系统设计及实施一、需求分析1.1了解商场的规模和特点,明确系统的功能和目标。
1.2收集商场业务流程和需求,包括商品采购、销售、库存管理、会员管理等,进行需求分析。
1.3制定系统需求规格书,明确系统的功能和性能需求,以及所需的硬件和软件环境。
二、系统架构设计2.1根据需求规格书,设计系统的总体结构和模块划分。
2.2确定系统的数据库结构,建立数据库表和关系。
2.3设计系统的用户界面,包括操作界面和管理界面,考虑提高用户体验和易用性。
三、数据库设计与实现3.1根据需求规格书,设计数据库的逻辑结构,并转化为物理结构。
3.2建立数据库表和关系,包括商品信息表、顾客信息表、销售记录表等。
3.3编写数据库脚本,实现数据库的创建和初始化。
3.4进行数据库的测试和优化,确保数据库的性能和稳定性。
四、系统模块实现4.1根据系统架构设计,实现各个模块的功能。
4.2编写功能模块的代码,包括商品采购、销售、库存管理、会员管理等。
4.3 进行功能模块的测试和调试,修复bug和错误。
五、系统集成与测试5.1将各个功能模块进行集成,测试模块之间的功能和数据交互。
5.2进行系统全面测试,包括功能测试、性能测试、兼容性测试等。
5.3修复测试中发现的问题,确保系统的稳定性和可靠性。
六、系统部署与验收6.1部署系统到生产环境,配置服务器和网络环境。
6.2进行系统的验收测试,确保系统满足商场的需求和预期效果。
6.3进行用户培训,向商场管理人员和工作人员介绍系统的使用方法和操作流程。
6.4进行系统的上线发布,启动商场的日常运营。
七、系统维护与优化7.1定期备份和维护数据库,确保数据的安全和完整性。
7.2监控系统运行情况,及时发现和解决问题。
7.3进行系统的性能优化,提高系统的运行效率和响应速度。
7.4根据用户反馈和需求变更,进行系统的升级和功能扩展。
通过以上步骤的设计和实施,可以建立一个功能完善、性能稳定的小型自选商场综合管理系统,满足商场的管理需求,提高商场的运营效率和竞争力。
⼩型超市商品管理系统数据库实验报告数据库系统设计实验报告1.实验⽬的掌握数据库设计的基本⽅法和步骤,熟悉数据库设计各个阶段所要完成的任务和实施⽅法。
通过该实验更加清楚地了解数据库设计的过程。
2.实验原理和步骤利⽤数据库设计的4个阶段:需求分析(分析⽤户要求)、概念设计(信息分析和定义)、逻辑设计(设计实现)和物理设计(物理数据库设计)。
需求分析采⽤⾃顶向下,概念模型设计时采⽤⾃底向上的⽅法,即⾃顶向下地进⾏需求分析,然后再⾃底向上地设计概念结构,和⾃底向上的设计⽅法。
3.实验内容根据周围的实际情况,⾃选⼀个⼩型的数据库应⽤项⽬,并深⼊到应⽤项⽬中调研,进⾏分析和设计。
例如可选择⼈事管理系统、⼯资管理系统、教材管理系统和⼩型超市商品管理系统和图书管理系统等。
要求写出数据库设计报告。
在数据库设计报告中包括以下内容:(1)系统需求分析报告(2)概念模型的设计(E-R图)(3)关系数据模型的设计(4)对关系表的主键、外键及被参照表进⾏说明,对关系中数据的约束条件进⾏说明。
(5)⽤SQL语⾔建⽴该数据库。
(包括数据库、数据表的创建以及数据完整性的实施)(选作)实验指导1. ⼩型超市商品管理系统数据库的设计我们这边就以⼩型超市商品管理系统为例,介绍数据库的设计。
对于⼩型超市商品管理系统,要求:能对⼩型超市商场的商品进货、销售、库存等环节进⾏管理。
主要有:(1)能记录每⼀笔进货,查询商品的进货记录。
(2)能记录每⼀笔售货,查询商品的销售情况和销售记录。
(3)能记录顾客的购买信息。
(4)能查询某个⼚商或供应商的信息。
E-R图如下:转换为关系模式:供应商(供应商编号,供应商名称,供应商地址,电话,联系⼈)商品(商品号,供应商编号,名称,库存,进价,售价)顾客(顾客号,购货时间)售货(商品号,顾客号,销售数量,销售总价)2. 图书馆⽇常事务管理系统数据库的设计(1)图书馆⽇常事务管理系统功能简析图书信息维护:主要完成图书信息登记、修改、删除等操作。
购物管理系统需求分析一、引言购物管理系统是一种针对在线购物服务的信息管理系统,旨在提供便捷、高效的购物体验。
本文旨在对购物管理系统的需求进行详细分析,以确保系统能够满足用户的需求,并实现高效管理。
二、用户需求分析购物管理系统的主要用户分为商家和消费者两类,他们有不同的需求。
### 1. 商家需求 - 商品管理:商家需要能够方便地上架、下架商品,设置商品属性、价格等信息。
- 订单管理:查看订单状态、处理退换货等功能。
- 数据分析:查看销售报表、用户行为分析等数据。
- 促销活动:设置促销活动、优惠券等。
2. 消费者需求•商品浏览:浏览商品信息、筛选条件、搜索功能等。
•下单购买:便捷的下单流程、多种支付方式等。
•订单管理:查看订单状态、物流信息等。
•评价反馈:对商品进行评价、提出建议等。
三、系统功能需求1. 商品管理•商品发布:支持商家发布新商品,设置商品属性、价格。
•商品展示:展示商品信息、多种展示样式。
•商品分类:支持商品分类、子分类,方便用户浏览。
•商品搜索:支持关键词搜索、筛选条件搜索等。
2. 订单管理•订单查看:用户和商家可以查看订单详情、状态。
•订单处理:商家可以处理订单、发货等操作。
•退换货:支持用户提交退换货申请,商家处理流程。
3. 数据分析•销售报表:定期生成销售报表、库存报表等。
•用户行为分析:分析用户浏览、购买行为,为商家提供决策支持。
4. 促销活动•优惠券管理:商家可以设置优惠券、促销活动。
•拼团秒杀:支持拼团、秒杀活动,促进销售。
四、系统非功能需求1. 性能需求•高并发:系统需支持高并发访问,确保系统稳定性。
•响应速度:用户操作及时响应,页面加载速度快。
2. 安全需求•数据安全:用户信息、交易数据需要加密存储和传输。
•权限管理:用户、商家有不同的权限,确保数据安全。
3. 可靠性需求•备份恢复:系统数据需要进行定期备份,以防数据丢失。
•异常处理:系统应能够处理异常情况,确保系统正常运行。
小型便利店进销存管理系统:轻松提升店铺运营效率一、系统概述小型便利店进销存管理系统,旨在帮助店主高效管理店铺的进货、销售和库存,实现数据化、智能化运营。
本系统操作简便,功能实用,适用于各类小型便利店,助力店主轻松掌握店铺运营状况,降低经营成本,提高盈利能力。
二、系统功能模块1. 商品管理商品管理模块主要包括商品信息录入、修改、查询等功能。
店主可通过系统快速添加新商品,编辑现有商品信息,确保商品数据的准确性。
同时,系统支持商品分类管理,便于店主对商品进行分类筛选和统计。
2. 进货管理进货管理模块帮助店主记录每次进货的详细信息,包括供应商、商品名称、数量、单价、总价等。
系统自动计算进货成本,进货报表,便于店主分析进货情况,合理调整采购策略。
3. 销售管理销售管理模块实时记录店铺的销售数据,包括销售时间、商品名称、数量、单价、总价等。
系统支持多种支付方式,如现金、、等,方便顾客支付。
同时,销售报表功能让店主随时掌握销售动态,为制定营销策略提供数据支持。
4. 库存管理库存管理模块自动统计商品库存,实时显示库存数量、库存金额等信息。
系统支持库存预警功能,当商品库存低于设定值时,系统会自动提醒店主及时补货。
库存盘点功能帮助店主定期对库存进行核对,确保库存数据的准确性。
5. 数据分析数据分析模块为店主提供丰富的数据报表,包括商品销售排行榜、销售趋势分析、库存周转率等。
通过这些数据,店主可以全面了解店铺运营状况,发现潜在问题,及时调整经营策略。
三、系统优势1. 界面简洁,操作便捷,上手快;2. 数据实时更新,确保信息准确无误;3. 支持多种支付方式,提高顾客购物体验;4. 智能库存预警,避免商品积压或缺货;5. 丰富的数据分析报表,助力店铺科学经营。
四、实施步骤与培训1. 系统安装与配置小型便利店进销存管理系统的安装过程简单快捷。
店主只需安装包,按照提示完成安装,并进行基本的系统配置,如店铺信息、员工账号设置等。
超市管理信息系统分析报告一、系统开发背景作为国内市场的一些中小型超市,它们在信息化过程中的步伐要落后于大中型超市,而对于这些企业的资源管理,信息的存储和处理也显得迫切需要,要适应市场竞争,就需要有高效的处理方式和管理方法,因此加快超市的信息化进程是必可少的。
我国超市形成在20世纪90年代初期,现在已经成为我国零售业的一种重要形态。
随着超市高速的发展,其经营管理也变得愈加复杂,早期的售货员站柜台的形式早已不能满足现有销售也的发展,这样就迫切地需要引入新的管理技术。
中商平价光谷购物广场位于武汉市洪山区珞瑜路453号,关山三路光谷国际写字楼的1-3层,于2006年正式营业。
超市商品总类达3万多种,几乎覆盖了国内外各种商品。
随着超市规模的发展不断扩大,商品数量急剧增加,有关商品的各种信息量也成倍增长。
超市时时刻刻都需要对商品各种信息进行统计分析。
加快网络信息化建设,对超市的运行和发展,迫在眉睫。
二、系统开发必要性POS(Point Of Sale)机管理系统经过20年的发展,在当今竞争激烈、物品多样化的卖方市场的情况下,已经不能适应快速反应信息、快速组织货物,提高资金周转效率等发展要求了,造成许多人力、物力和财力的浪费。
超市管理信息系统分析与设计,针对超市的具体需求,在对超市原有的业务流程进行规范、整合之后,结合超市发展的新要求进行设计和开发的。
系统上线后,可以轻松解决超市在商品流管理、物流管理、人力资源管理、信息流管理等一系列问题,迅速提高超市经营管理水平,实现稳固客户群,增加经济效益,提高商业零售竞争力的目标。
三、可行性分析经济可行性经营产品的经销商或者是商家都要求有雄厚的资金支持。
所以,在系统的开发过程中,企业完全有能力承担开发费用。
因为通过网络传递销售信息可以不受距离的限制,因此可以节约许多的人力和物力,方便管理,由此可以减少不必要的开支,同时该系统可以提高超市的销售效率,即提高了超市的经济效益,所以从经济上完全是可行的。
名目1绪论随着现代科学技术的迅猛开发,计算机技术差不多渗透到各个领域,成为各行业必不可少的工具。
我国超市形成在20世纪90年代初期,现在差不多成为我国零售业的一种重要形态,为国民经济的开发发扬了重要的作用。
随着超市高速的开发,其经营治理也变得愈加复杂,早期的售货员站柜台的形式早已不能满足现有销售也的开发,如此就迫切地需要引进新的治理技术。
国内市场的一些中小型超市,它们在信息化过程中的步伐要落后于大中型超市,而关于这些企业的资源治理,信息的存储和处理也显得迫切需要,要习惯市场竞争,就需要有高效的处理方式和治理方法,因此加快超市的信息化进程是必可少的超市形态具有种种优点,但在目前状况下,它仍存在零售业企业所共有的落后的一面,如:不能有效地治理每种商品,收款结算速度慢,轻易出现营业过错,不宜进行商品调价,盘点效率低等,而且在超市日常治理中,商品的进、销、存等决策以经验为主,缺乏实时分析功能,治理人员对及时传递资料的要求始终得不到满足。
为此,依靠现代化的计算机信息处理技术来治理超市,能节约大量的人力、物力,改善了职员的工作条件,减轻了劳动强度,同时能够快速反映出商品的进、销、存等状况和各种给予信息分析,使治理人员快速对市场的变化做出相应的决策,加快超市经营治理效率。
2系统2.1系统目标该系统得要紧目标是协助超市治理层高效的治理超市的日常工作,提供一些决策必要的信息。
系统涉及到整个超市的业务,包括商品进场洽谈及采购、库存治理、销售治理、人事治理等。
该系统建成后应该能做到实事检测超市的所有动态,高层治理者通过一个进口,就能对超市的当前经营现状一目了然,并提供某些咨询题的参考解决方案。
2.2系统方法的选择信息系统 (InformationSystemsPlanning)是将组织目标、支持组织目标所需要的信息、提供这些必需信息的信息系统,以及这些信息系统的实施等诸要素集成的信息系统方案,是面向组织中信息系统开发远景的系统开发谋划。
1 前言超市作为人们日常生活不可或缺的一部分,而且随着经济的发展,超市的规模越来越大,商品的种类也越来越纷杂,一个高效实用的超市管理系统至关重要。
超市管理系统能帮助管理人员快速有效的管理进货,销售,库存,商品进销结算等各项业务,能极大的提高超市管理的高效性,实时性,安全性,科学性和智能化程度,从而降低营业成本和增加收益。
本系统大致可实现以下功能(模块):1.系统管理:包括密码验证和系统的登录与退出,还有密码修改等功能。
2.信息查询:包括进货信息和出货信息的查询,还有商品库存信息,资金结算信息查询等。
3.进出货管理:即超市日常进出货操作,包括进货和前台销售两个子管理系统。
4.商品信息管理:包括商品进出售的信息,销售商品的定价等。
能够执行添加,修改,删除,查询等操作。
本章将简要地说明本文档的目的、范围、参考文件和术语定义。
1.1目的本文档的目的在于给出“超市进销存管理系统”(以下简称本平台)的功能说明。
1)向用户描述“超市进销存管理系统”的功能;2)为编制后续各阶段的文档提供基本依据;3)提供给用户确认或本地化修改的基本文件;4)作为日后软件确认测试和系统验收之参考依据;5)作为日后系统维护工作基准文件。
本文档的内容涵盖了本系统的总体结构设计、软件运行环境设计、处理流程设计和软件功能设计等。
本文档的使用者包括本系统用户、需求分析人员、项目管理人员、软件设计人员、软件质量控制人员以及软件维护人员。
1.2范围软件产品名称:超市进销存管理系统V1.0通过使用本软件产品,能完成如下功能:1.采购员能实时得知库存不足的商品列表,方便进行采购2.经理能得到实时的营业分析,查看商品销售和采购情况,实时调整经营策略3.系统能对销售和采购单据进行有效管理,支持用户随时进行查询和统计4.前台POS系统能对售出的商品进行方便快捷的结算,且能与会员管理系统进行联接,支持会员功能5.管理员(业务员)能实时查看商品的库存动态,实时设置商品信息。
引言概述:小型超市零售管理系统是为了方便管理者对超市进行全面管理的工具。
其数据库设计是这个系统实现的基础,好的数据库设计能够提高系统的性能、可靠性和安全性。
本文将详细介绍小型超市零售管理系统数据库设计,包括系统的需求、实体关系模型设计、数据库表设计、索引和视图的创建等内容。
正文内容:1. 系统需求1.1 系统功能需求小型超市零售管理系统需要满足的主要功能包括商品管理、库存管理、销售管理等。
在商品管理方面,需要记录商品信息、价格、供应商信息等。
库存管理主要管理库存数量和预警,以确保及时补货。
销售管理则是记录每次的销售详情,包括销售时间、销售员、支付方式等。
1.2 数据要求为了保证系统的高效性和可扩展性,需要对数据进行持久化存储。
数据库应具备高性能、高可靠性、高安全性的特点。
同时,需要支持多用户并发访问和快速查询。
2. 实体关系模型设计2.1 实体识别与关系确定根据系统需求,可以确定的实体包括商品实体、供应商实体、销售员实体、订单实体等。
这些实体之间存在多种关系,如供应商与商品的供应关系、销售员与销售订单的关系等。
2.2 实体关系模型设计在确定实体和关系之后,可以绘制实体关系图,展示实体之间的关系。
通过实体关系图,可以清晰地了解各个实体之间的联系,为数据库表的设计提供基础。
3. 数据库表设计3.1 表结构设计根据实体关系图,可以开始设计数据库表结构。
每个实体对应一个表,其中包含该实体的属性作为列,同时为每个表添加主键和外键约束,以确保数据的完整性。
在设计表结构时,需要考虑属性的数据类型、长度、约束等因素。
3.2 表之间的关系在小型超市零售管理系统中,不同表之间存在着多对一、一对多等关系。
通过外键约束可以实现表之间的关系,确保数据的一致性和完整性。
比如商品表和供应商表之间的关系,通过将供应商的主键作为商品表的外键,实现了供应商与商品的关联。
4. 索引和视图的创建4.1 索引设计为了加快数据库查询效率,可以通过创建索引来优化数据库性能。
中小型超市管理系统设计一、引言中小型超市管理系统是为了提高超市管理效率和服务质量而设计的一套软件系统。
它通过自动化管理各个环节的业务流程,包括采购、库存管理、销售、人员管理等,以便提高工作效率、降低成本、提升客户满意度。
本文将介绍中小型超市管理系统的设计思路和主要功能,以及其实施过程中需要注意的问题。
二、系统设计思路中小型超市管理系统的设计思路主要分为以下几个方面:1.系统架构设计中小型超市管理系统采用客户-服务器模式设计,分为前端和后端两个部分。
前端负责用户界面的展示和交互,后端负责业务逻辑的处理和数据存储。
采用这种架构能够使系统更加灵活、易于维护和扩展。
2.数据库设计数据库是中小型超市管理系统的核心,它存储了超市的各类数据,包括商品信息、采购记录、销售记录、库存信息等。
数据库的设计需要考虑数据的结构化和一致性,同时还需要优化查询性能,提高系统的响应速度。
3.功能模块设计中小型超市管理系统包括采购管理、库存管理、销售管理、顾客管理和报表管理等功能模块。
每个功能模块都有相应的业务逻辑和用户界面,它们之间需要有良好的交互和信息流通。
三、主要功能中小型超市管理系统的主要功能如下:1.采购管理采购管理模块负责记录超市的采购信息,并与供应商进行信息交互。
它包括采购订单的生成、发送和接收,以及采购商品的入库和库存更新。
2.库存管理库存管理模块负责监控超市各个商品的库存情况,及时进行补货和调货。
它可以根据销售情况自动计算补货数量和提醒库存不足的商品。
3.销售管理销售管理模块负责记录超市的销售信息,并与顾客进行交互。
它包括销售订单的生成和打印、商品的出库和库存更新,以及顾客信息的录入和查询。
4.顾客管理顾客管理模块负责记录超市的顾客信息,包括姓名、联系方式、消费记录等。
它可以帮助超市建立顾客档案,进行消费统计和营销活动。
5.报表管理报表管理模块负责生成各类报表,包括销售报表、库存报表、采购报表等。
这些报表可以帮助超市管理人员了解超市的经营情况,并进行决策分析。
沈阳航空航天大学课程设计报告课程设计名称:C语言课程设计课程设计题目:院(系):专业:班级:学号:姓名:指导教师:完成日期:沈阳航空航天大学课程设计报告目录第1章需求分析 (1)1.1总体需求 (1)1.2功能需求 (1)第2章概要设计 (2)2.1设计思路 (2)2.2系统设计 (2)第3章详细设计 (3)3.1存储结构设计及主要变量说明 (3)3.2模块设计 (4)第4章调试分析 (10)4.1问题 (10)4.2解决办法 (10)第5章用户手册 (11)5.1登录界面与主菜单 (11)5.2各模块实例使用操作截图 (11)总结 (14)参考文献 (15)附录(程序清单) (16)章需求分析第1章需求分析1.1 总体需求人事档案管理系统的总体目标是为企业人事管理提供一个方便有效的管理平台,最大化的提高企业人事管理效率,降低企业人事管理资本。
人事管理系统是一个单位不可缺少的部分,它的内容对于决策者和管理者来说都至关重要,所以人事管理系统应该能够为用户提供充足的信息和快捷的查询手段。
随着科学技术的不断提高,使用计算机对人事信息进行管理,具有着手工管理所无法比拟的优点。
例如:查找方便、可靠性高、保密性好等。
因此,开发这样一套管理软件成为很有必要的事情。
1.2 功能需求人事档案管理系统的具体实现需要实现以下一些基本功能。
(1)权限验证:检验用户合法身份,保障企业人事档案信息安全。
(2)口令维护:用户可以定期或者不定期地更改登录口令,提高系统安全性。
(3)人事档案管理:对员工个人基本档案的管理及相关操作,包括对这些档案信息的录入、修改、删除和查询。
(4)人事变动管理:对人事上的变动调整进行管理,对人员档案的信息进行更新。
章概要设计第2章概要设计2.1 设计思路根据需求分析,我们可以得知,该小型商品管理系统的使用者需要有权限验证,简单的说就是需要用户名与密码,密码可以定期或者不定期地更改,所以用户名和密码的存储我们只需要设置两个变量保存即可。
另外单独设置一个计数器,当密码累计输入超过3次则自动退出。
人事档案的管理可以对员工的个人信息进行录入、删除、修改和查询等操作包括人事变动的管理,这些个人信息我们可以通过结构体的形式存储以便于增删改查等操作的进行。
2.2 系统设计人事档案管理系统主要有6大功能模块和系统退出功能,这六大模块分别是修改登录口令、员工个人信息录入功能、员工个人信息修改功能、员工个人信息录入删除、员工个人信息查询功能、人事变动管理,如图2.1。
图2.1 人事档案管理系统模块图第3章详细设计3.1 存储结构设计及主要变量说明1)存储结构:商品信息存储结构,如表3.1:表3.1 学生信息表2)主要变量说明:表3.2主要变量信息表3.2 模块设计1)主程序程序运行首先显示主菜单,输入用户名及密码,然后进入主菜单选择进入不同模块,实现各种功能。
具体流程如图3.1:图3.1 人事管理管理系统主程序流程图2)检验用户登录权限首先要将存储的用户信息读取出来,然后和用户输入的信息进行对比。
如果用户输入的信息与存储的信息内容一致屏幕显示登录成功,否则登录失败。
用户输入的信息包括用户名和密码,必须用户名与密码同时正确时登录才会成功具体流程如图3.2:图3.2 判断用户登录模块流程图3)商品信息录入用户登录成功后,便会进入主菜单界面,主菜单中第一项便是员工个人信息的录入功能,主要用来保存企业所有员工的个人信息,包括,员工的工作证号,姓名,年龄,性别,工作部门等个人信息。
该功能只有成功登录后才可以操作,而且一般进入用户登录后第一步便是进行员工信息的录入,否则后面的查找、删除、修改等操作将毫无意义,因此当文件中没有员工信息时,用户便会通过该操作将所有员工的所有信息进行录入。
具体流程,如图3.3:图3.3 员工信息录入模块流程图4)员工信息的删除模块员工信息的删除模块主要是用来处理辞职员工的各种信息。
首先输入要删除员工的工作证号,如果找到该工作证号,则将该员工所有信息删除,包括员工号,员工姓名,员工年龄,员工性别,员工工作部门。
如果不存在该工作证号则提示未找到该员工信息。
该操作也是必须首先要成功登录才可以操作,具体流程如图3.4:图3.4 员工信息删除模块流程图5)员工信息的查询模块商品信息的查询模块主要是用来查询某个特定商品的信息。
其实商品的查询模块是删除模块的基础,当给定一个商品号后就需要从头开始依次查找是否存在该商品号,若存在便输出该商品号商品的商品号、商品名称、商品价格、商品回扣比例、商品会员价格等所有信息,若不存在就提示该商品不存在。
具体流程如图3.5:6)员工信息的修改模块员工信息的修改模块主要是用来修改某个特定员工的信息。
其实员工的修改模块是在查找基础上实现的,当找到要修改的员工后再重新对他的信息进行编辑即可具体流程如图3.6:图3.5 员工信息查找模块流程图图3.6 员工信息修改模块流程图7)员工人事信息的修改模块员工人事信息的修改模块主要是用来修改某个特定员工的人事信息。
其实员工的人事修改模块与个人信息修改模块相同,当找到要修改的员工后再重新对他的信息进行编辑即可,具体流程参考如图3.6:8)用户密码的更改模块用户密码的更改模块主要是用来修改用户登录系统的个人信息,实际上要完成的内容与上述修改模块大同小异。
具体流程参考如图3.7:图3.9 商品信息排序模块流程图第4章调试分析4.1 问题1.由于初学C语言的数组存储,对其细节上的操作还没有完全掌握,在做数组插入和删除的功能时就遇到了一些问题,在调试时程序会异常退出。
由于删除操作后要保证删除后数组仍为一体,一开始没处理好,错误很多。
2.2.在实现输入功能时,有时候会发生还没等输入数值就继续向下执行的情况,后来经过查资料分析得知应该在必要位置加上清除键盘缓冲区的语句,才能避免这种情况发生。
3. 程序没有选择功能,只能按照顺序实现功能。
解决方法为在主函数中加上一个选择功能的函数。
4.由于if条件判断语句中的条件判断本身应为a==b的形式,结果误写成a=b 的形式,导致条件成为永真,无论何时输出的都是一个结果,其他可能的结果均无效,因此总结了一个经验。
如果出现类似if(a==3)这样的语句,我们可以这样去写if(3==a),这样写的好处是,如果我们不小心写成if(3=a)的形式,在编译时,编译器就会报错,因为变量是不可能给常量赋值的。
4.2 解决办法1)屏蔽其它模块,只留一个模块进行调试。
经过多次调试慢慢找到错误。
2)先建立一个空白工程,单独练习数组查询、删除等基础操作。
3)先建立一个空白工程,单独练习文件的创建、打开、读写文件等基础操作。
第5章用户手册5.1 登录界面与主菜单1)用户登录界面与用户登录成功后主菜单,如图5.1和5.2:图5.1 用户登录系统界面图5.2 人事档案管理系统主菜单界面5.2 各模块实例使用操作截图1)员工信息录入模块图5.3 员工信息录入模块截图2)员工信息删除模块图5.4 员工信息删除模块截图3)员工信息修改模块图5.5 员工信息修改模块截图4)员工人事信息修改模块图5.6 员工人事信息修改模块截图5)员工信息查询模块图5.7 商品信息查找模块截图6)用户密码修改模块图5.8 用户密码修改模块截图沈阳航空航天大学课程设计报告总结总结沈阳航空航天大学课程设计报告参考文献参考文献[1] 谭浩强著,C程序设计语言(第二版).北京:清华大学出版社,1999[2] 谭浩强,张基温,唐永炎.C语言程序设计教程.北京:清华大学出版社,1992[3] 谭浩强编著.C程序设计题解与上机指导(第二版).北京:清华大学出版社,1999[4] C编写组编.常用C语言速查手册.北京:龙门书局,1995[5] Herbert Sschildt著.戴建鹏译.C语言大全(第二版).北京:电子工业出版社,1994附录(程序清单)#include <stdio.h>#include <stdlib.h>#include <string.h>struct info{int no;char name[10];int age;char sex[3];char job[20];}renshi[50];int max=0;char adminname[]="admin";int adminpassword=123456;void Login(){char inputuser[10];int inputpassword,wrong=0;printf("请输入用户名:");scanf("%s",inputuser);printf("请输入密码:");scanf("%d",&inputpassword);while(wrong<3){if(strcmp(inputuser,adminname)!=0||inputpassword!=adminpassword){printf("用户名或密码错误!\n");wrong++;printf("请输入用户名:");scanf("%s",inputuser);printf("请输入密码:");scanf("%d",&inputpassword);}else{printf("用户名和密码正确!\n");system("PAUSE");return;}}printf("对不起,密码错误重复次数超过三次,程序将自动关闭!\n");system("PAUSE");exit(0);}void InputInfo(){int i,j;FILE *fp;fp=fopen("E:\\renshi.txt","r");if(fp==NULL){printf("磁盘当中没有存储人事信息!\n");line0: fp=fopen("E:\\renshi.txt","w");if(fp==NULL){printf("文件创建失败!\n");return;}printf("请输入要录入的员工总数:");scanf("%d",&max);for(i=0;i<max;i++){line1: printf("输入员工编号:");scanf("%d",&renshi[i].no);for(j=0;j<i;j++){if(renshi[i].no==renshi[j].no){printf("对不起,员工编号不能重复,请重新输入!\n");goto line1;}}printf("输入员工编号%d的姓名:",renshi[i].no);scanf("%s",renshi[i].name);printf("输入员工编号%d的年龄:",renshi[i].no);scanf("%d",&renshi[i].age);printf("输入员工编号%d的性别:",renshi[i].no);scanf("%s",renshi[i].sex);printf("输入商品编号%d的职务:",renshi[i].no);scanf("%s",renshi[i].job);fprintf(fp,"员工编号:%d 姓名:%s 年龄:%d 性别:%s 职务:%s\n",renshi[i].no,renshi[i].name,renshi[i].age,renshi[i].sex,renshi[i].job);}fclose(fp);}else{max=0;while(!feof(fp)){fscanf(fp,"员工编号:%d 姓名:%s 年龄:%d 性别:%s 职务:%s\n",&renshi[max].no,renshi[max].name,&renshi[max].age,renshi[max].sex,renshi[max].job);if(max==0){fclose(fp);printf("磁盘当中已有人事信息文件,但为空!\n");goto line0;}printf("员工编号:%d 姓名:%s 年龄:%d 性别:%s 职务:%s\n",renshi[max].no,renshi[max].name,renshi[max].age,renshi[max].sex,renshi[max].job);max++;}fclose(fp);}system("PAUSE");}void Change(){int nochange,notfind=1,i;FILE *fp;fp=fopen("E:\\renshi.txt","w");if(fp==NULL){printf("文件打开失败!\n");return;}printf("请输入要修改信息的人事编号:");scanf("%d",&nochange);for(i=0;i<max;i++){if(renshi[i].no==nochange){notfind=0;printf("输入员工编号%d新的姓名:",renshi[i].no);scanf("%s",renshi[i].name);printf("输入员工编号%d新的年龄:",renshi[i].no);scanf("%d",&renshi[i].age);printf("输入员工编号%d新的性别:",renshi[i].no);scanf("%s",renshi[i].sex);printf("输入商品编号%d新的职务:",renshi[i].no);scanf("%s",renshi[i].job);system("PAUSE");break;}}if(notfind){printf("对不起,找不到相应信息!\n");system("PAUSE");return;}printf("修改之后的全部信息显示如下:\n");for(i=0;i<max;i++)printf("员工编号:%d 姓名:%s 年龄:%d 性别:%s 职务:%s\n",renshi[i].no,renshi[i].name,renshi[i].age,renshi[i].sex,renshi[i].job);system("PAUSE");for(i=0;i<max;i++)fprintf(fp,"员工编号:%d 姓名:%s 年龄:%d 性别:%s 职务:%s\n",renshi[i].no,renshi[i].name,renshi[i].age,renshi[i].sex,renshi[i].job);fclose(fp);}void Delete(){int nodelete,i,notfind=1;FILE *fp;fp=fopen("E:\\renshi.txt","w");if(fp==NULL){printf("文件打开失败!\n");return;}printf("请输入要删除的员工编号:");scanf("%d",&nodelete);for(i=0;i<max;i++){if(renshi[i].no==nodelete){max--;notfind=0;for(;i<max;i++)renshi[i]=renshi[i+1];for(i=0;i<max;i++)fprintf(fp,"员工编号:%d 姓名:%s 年龄:%d 性别:%s 职务:%s\n",renshi[i].no,renshi[i].name,renshi[i].age,renshi[i].sex,renshi[i].job);fclose(fp);break;}}if(notfind){printf("对不起,找不到相应信息!\n");system("PAUSE");return;}printf("删除之后的全部信息显示如下:\n");for(i=0;i<max;i++)printf("员工编号:%d 姓名:%s 年龄:%d 性别:%s 职务:%s\n",renshi[i].no,renshi[i].name,renshi[i].age,renshi[i].sex,renshi[i].job);system("PAUSE");}void Search(){int notfind=1,i;char namefind[10];printf("请输入要查询的员工姓名:");scanf("%s",namefind);for(i=0;i<max;i++){if(strcmp(renshi[i].name,namefind)==0){notfind=0;printf("员工编号:%d 姓名:%s 年龄:%d 性别:%s 职务:%s\n",renshi[i].no,renshi[i].name,renshi[i].age,renshi[i].sex,renshi[i].job);system("PAUSE");break;}}if(notfind){printf("对不起,找不到相应信息!\n");system("PAUSE");return;}}void renshiChange(){int nofind,notfind=1,i;char newjob[20];FILE *fp;fp=fopen("E:\\renshi.txt","w");if(fp==NULL){printf("文件打开失败!\n");return;}printf("请输入要进行人事变动的员工编号:");scanf("%d",&nofind);for(i=0;i<max;i++){if(renshi[i].no==nofind){notfind=0;printf("该员工的基本信息显示如下:\n");printf("员工编号:%d 姓名:%s 年龄:%d 性别:%s 职务:%s\n",renshi[i].no,renshi[i].name,renshi[i].age,renshi[i].sex,renshi[i].job);system("PAUSE");line2: printf("请输入该员工的新的职务:");scanf("%s",newjob);if(strcmp(newjob,renshi[i].job)==0){printf("输入的职务和原来的一样,不能进行人事变动操作!\n");goto line2;}strcpy(renshi[i].job,newjob);for(i=0;i<max;i++)fprintf(fp,"员工编号:%d 姓名:%s 年龄:%d 性别:%s 职务:%s\n",renshi[i].no,renshi[i].name,renshi[i].age,renshi[i].sex,renshi[i].job);fclose(fp);printf("人事情况变动完成!\n");system("PAUSE");break;}}if(notfind){printf("对不起,找不到相应信息!\n");system("PAUSE");return;}}void password(){int oldpassword,newpassword;printf("请输入旧密码:");scanf("%d",&oldpassword);if(oldpassword==adminpassword){printf("请输入新密码:");scanf("%d",&newpassword);adminpassword=newpassword;printf("密码修改成功请重新登录!\n");system("PAUSE");system("cls");Login();}else{printf("密码输入错误,不能进行密码修改操作!\n");system("PAUSE");return;}}void main(){Login();int select;while(1){system("cls");printf("******************************\n");printf("* 欢迎使用人事档案管理系统*\n");printf("* 1.录入信息*\n");printf("* 2.修改信息*\n");printf("* 3.删除信息*\n");printf("* 4.查询信息*\n");printf("* 5.人事变动管理*\n");printf("* 6.口令维护*\n");printf("* 0.退出*\n");printf("******************************\n");printf("请选择:");scanf("%d",&select);switch(select){case 1:InputInfo();break;case 2:Change();break;case 3:Delete();break;case 4:Search();break;case 5:renshiChange();break;case 6:password();break;case 0:exit(0);break;default:{printf("对不起,请重新输入选项...\n");system("PAUSE");}break;}}}。