(销售管理)销售管理系统课程设计报告
- 格式:doc
- 大小:412.50 KB
- 文档页数:38
课程设计报告题目:手机销售管理系统专业:计算机信息管理姓名:蔡娟娟指导教师:完成时间:2012年 6 月 15 日手机销售管理系统0引言随着经济的不断迅猛发展,手机销售市场也在不断的扩大,手机的更新速度飞快,所以要赶上时代发展的步伐,要求我们不仅要时刻关注经济的发展和市场的发展的需求,同时也需要我们制定出一个好的管理系统,因为只有建立先进的销售管理系统,才能够更好的充分利用资源和更好的掌握市场的需求情况,做到更好的为企业谋福利并且更好的提高管理水平和效率。
本次课程设计目的是利用Rational Rose对手机销售管理系统进行建模分析。
1需求分析手机销售管理系统的功能性需求综述如下:(1)手机售货员通过输入用户名和密码登陆系统之后,可以查询库存信息情况,也能够录入销售信息。
(2)系统管理员通过输入用户名和密码登陆手机管理系统后,能够输入商品一览表、供货商、员工表的相关信息,并且可以查询销售情况和库存信息,同时还可以根据需求制作进货单,统计进货的费用管理员可以操作员工注册,删除,商品添加删除销售记录,添加删除查看员工列表、商品列表、销售列表,还有查看销售排行,等功能。
2系统建模在系统建模以前,我们首先需要在Rational Rose 2003中创建一个模型。
并命名为“手机销售管理系统”,该名称将会在Rational Rose 2003的顶端出现,如下图2-1所示。
图2-1创建项目系统模型2.1创建系统用例模型创建系统用例的第一步是确定系统的参与者。
手机销售管理系统的参与者包含以下二种:(1)售货员(2)系统管理员此二个参与者如图2-2所示。
图2-2 系统参与者图2-3 售货员用例图然后,我们根据参与者的不同分别画出各个参与者的用例图。
(1)售货员用例图:售货员在本系统中可以进行系统登录、录入销售信息和库存量查询等相关操作,通过这些活动创建的售货员用例图如图2-3所示。
图2-4 系统管理员用例图(2)系统管理员用例图:系统管理员在本系统中可以进行系统登录、商品一览表、供货商表、员工表等相关信息的录入、可以查询销售的相关情况和库存的信息,并且可以根据需求制作进货单、统计进货费用等各类信息管理的操作,通过这些活动创建的系统管理员用例图如图2-5所示。
《销售管理》课程设计一、课程目标知识目标:1. 理解销售管理的基本概念、原则和方法;2. 掌握销售计划的制定、销售团队的构建与激励、客户关系管理等核心环节;3. 了解销售数据分析的方法和技巧。
技能目标:1. 能够运用销售管理理论知识,独立制定销售计划;2. 具备组织销售团队、激励团队、协调团队工作的能力;3. 能够运用客户关系管理方法,维护客户关系,提升客户满意度;4. 能够运用数据分析工具,对销售数据进行有效分析,为销售决策提供支持。
情感态度价值观目标:1. 培养学生对销售管理工作的兴趣,激发其职业热情;2. 培养学生具备团队合作精神,认识到团队协作的重要性;3. 培养学生具备诚信、敬业、负责的职业素养,树立正确的销售观念。
课程性质:本课程为市场营销专业核心课程,旨在培养学生具备扎实的销售管理理论知识和实践技能。
学生特点:学生具备一定市场营销基础知识,对销售管理有一定了解,但缺乏系统性和深入的认识。
教学要求:结合学生特点和课程性质,注重理论与实践相结合,通过案例分析、小组讨论、实践操作等多种教学手段,提高学生的销售管理能力。
将课程目标分解为具体的学习成果,便于后续教学设计和评估。
二、教学内容1. 销售管理概述:介绍销售管理的基本概念、发展历程、销售管理在企业中的重要性;教材章节:第一章 销售管理导论2. 销售计划与策略:讲解销售计划的制定流程、销售预测方法、销售策略的选择;教材章节:第二章 销售计划与销售策略3. 销售团队建设与管理:阐述销售团队的构建、激励方法、销售人员的选拔与培训;教材章节:第三章 销售团队建设与管理4. 客户关系管理:探讨客户关系管理的基本理念、客户分类与评估、客户满意度提升策略;教材章节:第四章 客户关系管理5. 销售数据分析:介绍销售数据分析的方法、工具,以及如何利用数据指导销售决策;教材章节:第五章 销售数据分析6. 销售绩效评估与激励:讲解销售绩效评估的指标、方法,以及销售激励措施;教材章节:第六章 销售绩效评估与激励7. 销售管理案例分析:分析典型销售管理案例,提高学生实际操作能力;教材章节:第七章 销售管理案例分析教学内容安排和进度:按照教材章节顺序,逐一进行讲解和实践,共计16周。
图书销售管理系统课程设计一、课程目标知识目标:1. 让学生掌握图书销售管理系统的基本概念、功能模块及其运行原理。
2. 了解数据库管理在图书销售管理系统中的应用,包括数据表的设计、查询和更新操作。
3. 掌握基本的编程知识,能够利用所学编程语言实现简单的图书销售管理功能。
技能目标:1. 培养学生运用所学知识,设计并实现一个图书销售管理系统的能力。
2. 培养学生运用数据库技术进行数据管理的能力,包括数据录入、查询、更新和删除等操作。
3. 提高学生的编程实践能力,使其能够运用编程语言解决实际问题。
情感态度价值观目标:1. 培养学生对图书销售管理系统的兴趣,激发其学习信息技术的热情。
2. 培养学生的团队协作精神,使其在项目实践中学会相互支持、共同进步。
3. 培养学生的创新意识,鼓励其勇于尝试新方法,解决实际问题。
课程性质分析:本课程为信息技术课程,旨在通过图书销售管理系统这一实际项目,使学生掌握数据库管理和编程知识,提高实际操作能力。
学生特点分析:本课程针对的学生群体为具有一定信息技术基础知识的初中生,他们对新鲜事物充满好奇,动手能力强,但可能缺乏项目实践经验和团队协作能力。
教学要求:1. 结合学生特点,采用任务驱动法,引导学生自主探究、合作学习。
2. 教学过程中注重理论与实践相结合,提高学生的实际操作能力。
3. 关注学生个体差异,给予个性化指导,确保每个学生都能达到课程目标。
二、教学内容1. 教学大纲:(1)图书销售管理系统概述(2)数据库管理基础知识(3)编程语言基础(4)图书销售管理系统的设计与实现2. 教学内容安排与进度:(1)图书销售管理系统概述(1课时)- 系统功能介绍- 系统运行原理(2)数据库管理基础知识(4课时)- 数据表设计- 数据查询与更新- 数据完整性约束(3)编程语言基础(3课时)- 控制结构- 函数与模块- 面向对象编程(4)图书销售管理系统的设计与实现(5课时)- 系统需求分析- 数据库设计- 系统功能模块编写- 系统测试与优化3. 教材章节与内容:(1)第一章:图书销售管理系统概述(2)第二章:数据库管理基础知识(3)第三章:编程语言基础(4)第四章:图书销售管理系统的设计与实现4. 教学内容列举:(1)图书销售管理系统概述:系统功能、运行原理(2)数据库管理基础知识:数据表设计、查询与更新、数据完整性约束(3)编程语言基础:控制结构、函数与模块、面向对象编程(4)图书销售管理系统的设计与实现:需求分析、数据库设计、功能模块编写、测试与优化三、教学方法1. 讲授法:- 在图书销售管理系统概述及数据库管理基础知识部分,采用讲授法向学生介绍基本概念、原理和操作方法。
《销售管理》课程设计一、教学目标本课程的学习目标主要包括知识目标、技能目标和情感态度价值观目标。
知识目标要求学生掌握销售管理的基本概念、原则和方法;技能目标要求学生能够运用销售管理的理论和方法解决实际销售问题;情感态度价值观目标要求学生树立正确的销售观念,具备良好的职业素养和团队合作精神。
通过本课程的学习,学生将能够:1.描述销售管理的基本概念、原则和方法。
2.分析实际销售问题,并提出解决方案。
3.阐述正确的销售观念,展示良好的职业素养和团队合作精神。
二、教学内容本课程的教学内容主要包括销售管理的基本概念、原则和方法,实际销售问题的分析和解决,以及正确的销售观念和职业素养的培养。
具体教学大纲如下:1.第一章:销售管理概述1.1 销售与销售管理1.2 销售管理的重要性1.3 销售管理的发展趋势2.第二章:销售管理原则2.1 客户为中心原则2.2 目标导向原则2.3 系统管理原则3.第三章:销售管理方法3.1 销售计划管理3.2 销售队伍管理3.3 销售渠道管理4.第四章:实际销售问题分析与解决4.1 销售数据分析4.2 销售问题的识别与分析4.3 销售问题的解决策略5.第五章:销售观念与职业素养5.1 正确的销售观念5.2 职业素养的培养5.3 团队合作精神的塑造三、教学方法本课程的教学方法主要包括讲授法、讨论法、案例分析法和实验法。
通过多样化的教学方法,激发学生的学习兴趣和主动性。
1.讲授法:用于传授销售管理的基本概念、原则和方法。
2.讨论法:用于分析实际销售问题,培养学生解决实际问题的能力。
3.案例分析法:用于培养学生运用销售管理理论和方法解决实际销售问题的能力。
4.实验法:用于培养学生的实际操作能力和团队合作精神。
四、教学资源本课程的教学资源包括教材、参考书、多媒体资料和实验设备。
1.教材:选用权威、实用的销售管理教材作为主要教学资源。
2.参考书:提供相关领域的参考书籍,丰富学生的知识体系。
销售管理信息系统课程设计报告1. 引言销售管理信息系统(Sales Management Information System,SMIS)是一种用于帮助企业管理销售业务的信息系统。
随着信息技术的快速发展和企业竞争的加剧,越来越多的企业开始采用SMIS来提高销售效率和管理质量。
本课程设计旨在对SMIS进行深入研究和实践,探索如何利用信息系统来优化销售管理流程。
2. 课程设计目标本课程设计的目标是培养学生对SMIS的理解和运用能力,使其能够独立设计和开发适用于实际企业销售管理需求的信息系统。
通过该课程的学习,学生将掌握以下知识和技能:- 熟悉SMIS的基本概念和原理;- 能够分析企业的销售管理需求,并提出相应的系统设计方案;- 掌握SMIS的开发工具和技术,并能够利用这些工具和技术进行系统开发;- 能够对SMIS进行测试、部署和维护。
3. 课程内容和安排本课程设计分为理论学习和实践操作两个部分,具体内容和安排如下:3.1 理论学习- SMIS的概念和分类;- SMIS的架构和功能模块;- 销售流程的分析和优化;- 数据库设计和管理;- SMIS的开发工具和技术。
3.2 实践操作- 分组进行实际企业的销售管理需求调研;- 根据调研结果,提出适用于该企业的SMIS设计方案;- 使用相关开发工具和技术,进行系统的设计和开发;- 对系统进行功能测试和性能测试;- 部署系统并进行用户培训;- 进行系统维护和升级。
4. 评估方式本课程设计的评估方式主要包括理论考试和实践操作两个部分。
理论考试主要考察学生对SMIS概念、原理和技术的掌握程度;实践操作主要考察学生对SMIS的设计和开发实际能力。
具体评估方式和标准将在课程开始前明确通知学生。
5. 课程设计资源支持为了保证课程设计的顺利进行,学校将提供以下资源支持:- 课程教师将提供相关课程讲义和学习资料;- 实验室将配备适当的软件和硬件设施;- 学校将提供适当的服务器和数据库供学生使用;- 课程教师将提供指导和解答学生在实践操作中的疑问。
软件工程综合课程设计报告题目:汽车销售管理系统子课题:销售子系统学号:10267071姓名:班级:10计72教师:祝义江苏师范大学计算机科学与技术学院目录1 需求分析 (3)1.1 系统编写目的 (3)1.2 背景说明及开发意义 (3)3.3 系统需求分析 (5)1.4 功能需求分析 (5)1.4.1 系统的功能描述 (5)1.4.2 系统总体功能层次方框图 (6)1.4.3 汽车销售系统流程图 (6)1.5 数据需求 (7)1.5.1 数据需求描述 (7)1.5.2 数据字典 (8)2 概念设计 (9)2.1 概念设计的目的 (10)2.1 实体分析及其局部E-R图 (11)2.2 实体之间的联系及其ER图 (12)3.3 系统全局ER图 (13)3 总体设计 (14)3.1 怎样实现目标系统 (15)3.2 顶层数据流图 (16)3.3 0层数据流图 (17)3.4 进销退货数据流图 (17)4 详细设计 (18)4.1 系统总的程序流程图 (18)4.2 各子模块的程序流程图 (19)4.2.1 系统管理子模块流程图 (19)4.2.2 车辆管理子模块流程图 (20)4.2.3 销售管理子模块流程图 (20)4.2.4 入库管理子模块流程图 (20)4.2.5 查询分析子模块流程图 (21)5 总结与展望 (21)5.1 总结 (21)5.2 展望 (21)1 需求分析该汽车销售管理系统的需求分析将从背景说明及意义、系统编写目的、系统需求分析、功能需求分析等几个方面来描述。
1.1 系统编写目的本系统是以汽车基本信息为主体,以汽车供应商和汽车需求商为服务对象,通过对各种票据和日志信息的管理操作,需要达到以下目标:1、实现从客户来访、咨询、报价、订购,到采购等多个销售环节上的严密的跟踪管理服务;2、使既可以适合于多品牌车辆的销售,也可以适用于专卖店的管理;3、能够很快地将市场信息反馈到各职能部门,制定相应策略。
java销售管理系统课程设计一、教学目标本课程旨在让学生掌握Java销售管理系统的核心知识,包括系统设计、数据库设计、界面设计与实现、业务逻辑实现等。
在知识目标方面,学生需要了解Java编程语言的基本语法、面向对象编程思想、常用数据结构与算法;掌握SQL 语言、数据库设计原则以及JDBC技术;熟悉Java Swing或JavaFX等图形用户界面开发工具。
技能目标方面,学生应具备使用Java语言进行系统分析与设计的能力,能独立完成数据库设计与操作,熟练运用相关技术进行界面设计与业务逻辑实现。
情感态度价值观目标方面,培养学生团队合作意识,使其认识软件开发在现代社会中的重要性,增强其对计算机科学领域的兴趣。
二、教学内容本课程的教学内容主要包括以下几个部分:1.Java编程基础:Java语言的基本语法、数据类型、运算符、控制结构、数组、字符串等。
2.面向对象编程:类与对象、继承与多态、封装、抽象类、接口等。
3.常用数据结构与算法:线性表、树、图、排序、查找等。
4.SQL语言与数据库设计:SQL基本操作、数据库设计原则、关系模型等。
5.JDBC技术:数据库连接、SQL语句执行、结果集处理等。
6.Java Swing/JavaFX界面设计:组件使用、事件处理、布局管理、菜单栏等。
7.销售管理系统分析与设计:需求分析、系统架构设计、模块划分、数据库设计等。
8.销售管理系统实现:界面设计与实现、业务逻辑实现、系统测试与优化等。
三、教学方法为提高教学效果,本课程将采用多种教学方法相结合的方式,包括:1.讲授法:用于讲解基本概念、原理和方法,引导学生掌握Java销售管理系统的核心知识。
2.案例分析法:通过分析实际案例,使学生更好地理解销售管理系统的需求分析、设计及实现过程。
3.实验法:安排课后实验,让学生动手实践,巩固所学知识,提高实际编程能力。
4.小组讨论法:学生进行小组讨论,培养团队合作意识,提高问题解决能力。
第一章需求分析1.1 系统开发背景、目的及意义随着电子计算机和通信技术的发展,人类已经逐渐地进入信息化社会。
信息和材料、能源一样成为一种社会的基本生产资料,在人类的社会生产活动中发挥着重要的作用。
同时人们对信息和数据的利用与处理也已进入自动化、网络化和社会化的阶段,因此,开发相关的管理信息系统已经成为各行各业的必要和必需了,管理信息系统作为一门边缘学科,集管理科学、信息科学、系统科学、现代通信技术和电子计算机技术于一体,可以解决企业或组织所面临的问题,对内来看,可以提高工作效率;对外来看,获得竞争优势。
在使用计算机系统之前珠宝的管理都是手工操作。
手续繁杂,还不便管理,不能保证数据的准确性和及时性,而且浪费人力和大量的时间,手工操作可能造成数据录入的错误,若不及时发现会在造成不必要的麻烦。
库房进出珠宝记录冗长,复杂,查找工作不能及时直观的显示出来以供查阅,影响工作的效率。
对珠宝的各种费用的管理更是繁琐,出错率高。
随着计算机的普及以及相关技术的发展,开发一个珠宝销售管理系统的时机已经成熟。
高效率、无差错的珠宝销售管理系统的开发解决了这个问题,本系统的主要目的是告别原始的手工操作,安全快捷的保存数据信息,节省时间,提高了速度和准确性。
珠宝销售管理系统可以避免珠宝店珠宝管理的随意性,使得管理工作规范化、系统化、程序化,提高信息处理的速度和准确性,对于减轻工作人员的劳动量、提高劳动热情和服务质量,具有重要的现实意义。
1.2 用户需求《珠宝销售管理系统》是一款用于珠宝首饰销售企业的管理系统,实现了对产品的实际情况的准确掌握,不同时间段店铺产品的库存情况、不同阶段的产品的销售情况,都可以进行详细的分析,为采购新的系列产品提供充分的销售依据。
本系统还具有员工信息管理与供应商信息管理、利润统计、客户管理、会员管理,是广大珠宝销售店铺快速提高管理能力的好帮手。
该系统在功能上主要包括基本信息(职员信息、产品信息、供应商信息、客户信息);采购进货(进货登记、退货登记、付款登记、欠供商统计);预订管理(产品预订,预订报表);产品销售(产品销售、销售报表、客户退货、退货报表);库存管理(库存明细、库存报表、库存预警);会员管理(会员信息、会员报表、到期提醒);客户管理(客户信息、客户报表)其它费用(其它收入、收入报表、其它支出、支出报表);信息统计查询(期间收入查询、期间利润查询、期间进)。
(销售管理)销售管理系统课程设计报告1 设计内容和要求1.1 管理系统的发展及现状管理信息系统是现代信息管理工作不可缺少的一部分,是适应现代高科技信息管理尺度的要求、推动信息管理走向科学化、规范化的必要条件。
只有信息管理规范了,才能给人们提供更好的生活环境及便利的生活空间。
管理信息系统是一个能进行管理信息的收集、传递、加工、保存、维护和使用的系统。
管理信息系统功能包括:信息收集、信息存储、问题处理及信息输出、信息管理。
现代社会、社会化趋势的扩大和社会产品需求使企业在生产经营活动中涉及的内外部信息积聚膨胀,随着科学技术突飞猛进和生产迅速发展,使人类知识量增长速度不断加快,信息量的增加,外部环境变化的变快,人工已无法胜任。
如何收集足够的信息资源,强有力的信息并加以利用,积极的开发和及时利用信息爆炸有效的信息资源,已成为现代社会的难题。
因此必须有一个系统来对这些数据进行管理。
1.2需求分析1.2.1背景食品店销售管理系统销售员的代号A.B.C.D产品的代号:面包bread、蛋糕cate、饼干pie、牛奶milk 饮料drink 1.2.2内容及要求1)强化学习C语言中有关链表及外部文件的内容,独立设计一个销售管理系统。
某公司有四个销售员(编号:1-4),负责销售五种产品(编号:1-5)。
每个销售员都将当天出售的每种产品各写一张便条交上来。
每张便条包含内容:a.销售员的代号b.产品的代号c.这种产品的当天的销售额2)每位销售员每天可能上缴0-5张便条。
假设,收集到了上个月的所有便条,编写一个处理系统,读取上个月的销售情况(自己设定),进行如下处理。
a.计算上个月每个人每种产品的销售额。
b.按销售额对销售员进行排序,输出排序结果(销售员代号)c.统计每种产品的总销售额,对这些产品按从高到底的顺序,输出排序结果(需输出产品的代号和销售额)d.输出统计报表2 总体设计思路2.1系统功能简介1)输入销售员的销售信息并将其保存在文件中2)从文件中读取销售员的销售信息3)计算每个人每种产品的销售额4)按销售额对销售员进行排序,输出排序结果(销售员代号)5)统计每种产品的总销售额,对这些产品按从高到底的顺序,输出排序结果(需输出产品的代号和销售额)6)输出统计报表2.2总体设计在本软件中,主要运用函数调用来实现对食品销售的记录和管理。
本软件实现了销售信息的记录功能(包括每个销售员每种产品的销售情况)、销售信息查询功能(按销售员查询、按销售总量查询等)和销售信息储存功能,以及输出统计报表的功能,和从文件中读取数据功能等,从而达到对食品销售情况的管理。
2.3总体程序模块图清单天数及销售员销售情况图2.1总体程序模块2.4总体设计流程图YLength=enter(rec); Menu_select()=2Break; NYBreak;Break;; ;;Y;;图2.2总体设计流程3 系统功能模块设计3.1 Main( )主函数模块主函数是程序入口,采用模块化设计。
首先在主程序中打印出主菜单界面,将会显示出八个功能函数,作为进入系统操作的一种方式,选择相应的代号便会进入相应的功能操作,当选择“000”时便会退出操作。
图3.1 主菜单界面3.2 enter( )输入清单函数模块本函数先通过system(“cls”)函数将主菜单界面清除;然后根据定义的清单天数输入销售员代号及各产品的销售量,并通过for函数将输入的内容存入结构体数组中,然后退出该模块。
图3.2输入清单函数模块图3.3输入清单函数流程3.3保存模块该模块调用fopen函数将其保存在文件中。
如果函数带回一个空指针,则不能打开该文件,退出;保存成功后就会关闭文件,并显示保存成功。
然后按任意键便会继续运行程序。
图3.4保存数据界面图3.5保存函数流程3.4读入数据模块该模块采用指针函数*fp,用fscanf对文件中的数据进行调用,此时屏幕会显示“恭喜您已成功从文件中读出数据”,然后便可运用文件中的数据进行下面的操作。
图3.6读入数据界面图3.7读入数据流程3.5 查询销售员销售额模块该模块采用数组函数实现对销售员销售情况的调用,采用if条件函数可直接输出查询情况,只需输入销售员代号即可。
图3.8查询销售员销售额界面图3.9查询销售员销售额流程3.6排序模块此部分用void list1()函数,首先定义两个数组,然后利用for结构实现函数体的循环,用for的条件函数实现销售员销售额的排序。
图3.10排序界面图3.11排序流程3.7统计表模块定义两个数组,通过对数组附初值实现对每一种产品销售额的求和以及产品的排序。
图3.12统计表界图3.13统计表流程4 程序调试及分析1)开始时不能从文件中读取数据,每次输入的数据只能在本次函数调用中使用,下次仍需重新输入,问题出在没有对附地址栏即fscanf(fp,"%10d%7d%7d%7d%7d%7d",t[i].name,t[i].a1,t[i].a2,t[i].a3,t[i].a 4,&[i].a5,修改后加入地址栏便能从文件中直接读入数据。
2)在Main()函数中开始少一个case结构,导致在void list2 函数中“getch”未定义,加入case 5:a(rec,length);break;后便能正常运行。
3)在清单输入模块中,开始只能输入一天的销售记录,原因是少了循环的程序编译,添加for(j=0;j<num;j++)和f or(i=0;i<4;i++)后便能由外界定义输入清单的天数。
4)在求销售产品总和的模块中,忽略了将最后结果返回sum,虽不影响程序的运行,但这也是程序的不完善之处。
5 总结及体会在做课程设计以前,我对销售管理信息系统的理解只是停留在理论和知识的水平上,并没有认真的去操作实践。
只是所谓的“纸上谈兵”而已,缺乏实际的操作技术,缺乏对所学知识的融会贯通。
通过这次课程设计,我通过自学、在同学们的帮助下完成了《食品店销售管理系统》的设计与开发。
在课程设计的整个过程中我遇到了很多的问题,但我都在慢慢地学习过程中一点一点地克服了。
同时我发现真正学好、学懂一门新的语言是有难度,值得庆幸的是,在此期间指导老师给了我很大的帮助和鼓励。
使我通过这次课程设计,同时又学习了很多在平常考试过程中学习不到的知识和自己动手的能力。
在边自学边设计的过程中,我查阅了很多的资料,请教了不少的同学和老师。
在刚开始编程的时候还是不能得心应手。
在一次又一次的修改过程中不断地进步和提高,但是还是有些功能我无法把它用到我的程序中来,真有点遗憾,同时由于这次时间比较紧,无法更深入地去钻研这门课程。
这次课程设计是我本学期所学知识的综合应用,使我对一学期所学的内容有了更加深刻的认识,使得所学的知识得到融会贯通,得到了以前学习任何一门课都没有的提高与进步,对我来说是一次很好的锻炼,这不仅把以前所学的知识再重温习一遍,而且又学会了一门新的语言。
总之,通过本次课程设计,我最终完成了《食品店销售管理系统》的课程设计。
在做本课程的过程中,我不仅更加深刻的体会了VC这门语言,还对结构体数组有了比较熟练的了解,更重要的是学到了很多编程思想。
我会在以后的学习中去更加熟练的掌握C语言。
致谢在以前,自己在上课时没有很好的听课,下来后也没有很好的去实践操作。
致使自己的编程水平与同学们相差很远。
通过此次实践,在老师和同学的帮助下,我的编程能力有了一定的提高。
虽然没有达到理想中的效果,但较我自身而言,已经有了较大的进步。
其实学习也能体现出团结的力量,如果班上的同学都只顾自己学习,同学之间遇见什么问题也不互相讨论,只靠只身的力量去解决学习中遇到的问题在很多的时候都是很难实现的。
在此次课程设计中,同学们让我再次体会到了团结的力量,在此我感谢同学们对我的帮助。
在以前,老师给我的感觉都总是高高在上,然而在这次课程设计时。
指导老师的行动彻底让我改变了对老师的成见。
在课程设计的过程中,我遇到了许多很浅显的问题,在询问老师时,他们是那样的认真讲解,遇到实在不懂得问题,他们会手把手的说教,直到我们弄懂为止。
在此我感谢老师对我们孜孜不倦的教诲。
最后,我再次向帮助我的老师和同学致上最真挚的谢意。
感谢他们对我的帮助!同时在以后的学习当中,我会加倍的努力,继续发扬同学们的这种互帮互助的精神!参考文献[1]谭浩强等.C语言程序设计教程.北京:高等教育出版社,1997.[2]谭浩强.C程序设计.第2版.北京:清华大学出版社,1999.[3]郭浩志.C语言程序设计.北京.北京邮电大学出版社,2005.[4]林学焦.Turbo C2.0用户手册.北京.学苑出版社,1993.[5]谭浩强、张基温. C语言程序设计教程.北京:高等教育出版社,2006.源代码#include <stdio.h>/*输入输出函数*/#include <stdlib.h>/*通用应用程序函数*/ #include <string.h>/*字符串函数*/#include <ctype.h>/*字符操作函数*/ typedef struct /*定义结构体变量*/{int name;int a1;int a2;int a3;int a4;int a5;}RECODE;int menu_select();/*声明函数*/int enter(RECODE t[]);/*声明函数*/void salor(RECODE t[],int n);/*声明函数*/int sum(RECODE t[],int n,int m);/*声明函数*/void list1(RECODE t[],int n);/*声明函数*/void list2(RECODE t[],int n);/*声明函数*/void list3(RECODE t[],int n);/*声明函数*/void save(RECODE t[],int n);/*声明函数*/int load(RECODE t[]);/*声明函数*/int a(RECODE t[],int p){int i,q,w[5]={0,0,0,0,0};printf("请输入你查找的人的代号");scanf("%d",&q);for(i=0;i<4;i++)t[i].name=i+1;for(i=0;i<p;i++)if(q==t[i].name){w[0]=w[0]+t[i].a1;w[1]=w[1]+t[i].a2;w[2]=w[2]+t[i].a3;w[3]=w[3]+t[i]. a4;w[4]=w[4]+t[i].a5;printf("%d的销售情况bread:%d cake:%d pie:%d milk:%ddrink:%d\n",q,w[0],w[1],w[2],w[3],w[4]);}}main()/*主函数*/{RECODE rec[600];int length;system("cls"); /*清屏*/for( ; ; ) /*无限循环*/{switch(menu_select()) /*根据用户的选择判断该调用哪个功能函数*/{case 1:length=enter(rec);break;case 2:salor(rec,length);break;case 3:list1(rec,length);break;case 4:list2(rec,length);break;case 5:a(rec,length);break;case 6:list3(rec,length);break;case 7:save(rec,length);break;case 8:length=load(rec);break;case 0:exit(0);}}}int menu_select() /*菜单函数*/{int n;printf("-----------------------食品销售管理系统---------------------\n\n");printf("-----------------------主菜单-------------------------------\n\n");printf(" \t\t001 输入清单的天数\n");printf(" \t\t002 销售员月销售额\n");printf(" \t\t003 按销售额对销售员排序\n");printf(" \t\t004 产品销售额\n");printf(" \t\t005 查询销售情况\n");printf(" \t\t006 统计表\n");printf(" \t\t007 保存\n");printf(" \t\t008 直接读入数据\n");printf(" \t\t000 退出\n");printf("---------------------------------end---------------------------\n\n");printf(" 请选择序号从000至006: ");scanf("%d",&n);if(0<n<8) system("cls"); /*清屏*/return n;}int enter(RECODE t[])/*清单输入函数*/{int i,num,j,z=0;system("cls"); /*清屏*/{printf("输入所要写入的清单的天数:"); /*输入所要写入的清单的天数*/scanf("%d",&num);printf("销售员代号bread cake pie milk drink\n");for(j=0;j<num;j++){for(i=0;i<4;i++)/*将所输入的条数存入结构体数组中*/{printf("\n\n----------------------------------------------------------------\n");scanf("%d%d%d%d%d%d",&t[i].name,&t[i].a1,&t[i].a2,&t[i].a3,&t[i].a4,& t[i].a5);z++;}printf("\n----------------------------------------------------------------------\n\n\n"); }}return z;}void salor(RECODE t[],int n){int i,s;int b1=0,b2=0,b3=0,b4=0,b5=0;printf("输入所要查看的售货员的代号(1-4):");scanf("%d",&s); /*输入所要查看的售货员的代号*/for(i=0;i<n;i++) /*对每种产品的销售额求和*/if(t[i].name==s){b1+=t[i].a1;b2+=t[i].a2;b3+=t[i].a3;b4+=t[i].a4;b5+=t[i].a5;}printf("销售员代号bread cake pie milk drink\n");printf("--------------------------------------------------------------------------\n");printf("%-10d%-10d%-10d%-7d%-7d%-7d",s,b1,b2,b3,b4,b5);printf("\n按任意键继续.......");getchar();}int sum(RECODE t[],int n, int e){int i,sum=0;for(i=0;i<=n;i++)/*求销售产品的总和*/if(e==t[i].name){sum+=t[i].a1;sum+=t[i].a2;sum+=t[i].a3;sum+=t[i].a4;sum+=t[i].a5;}return sum;}void list1 (RECODE t[],int n){int i,j,s;int c[4],m[4]; /*定义两个数组*/system("cls"); /*清屏*/for(i=0;i<4;i++)m[i]=i+1;for(i=0;i<4;i++)c[i]=sum(t,n,m[i]);for(i=0;i<4;i++)/*按销售员的销售额进行排序*/ for(j=i+1;j<4;j++)if(c[i]<c[j]){s=m[i];m[i]=m[j];m[j]=s;s=c[i];c[i]=c[j];c[j]=s;}printf("销售员的销售额(从高至低)\n");for(i=0;i<4;i++)/*输出销售员代号*/printf("%d\n",m[i]);printf("\n按任意键继续.......");getchar();}void list2(RECODE t[],int n){int i,j,s;int c[5],m[5];for(i=0;i<5;i++)/*产品代号*/m[i]=i+1;for(i=0;i<5;i++)/*给数组赋初值*/c[i]=0;for(i=0;i<n;i++)/*分别对每一种产品的销售额求总和*/ for(j=0;j<5;j++){if(m[j]==t[i].a1)c[j]+=t[i].a1;if(m[j]==t[i].a2)c[j]+=t[i].a2;if(m[j]==t[i].a3)c[j]+=t[i].a3;if(m[j]==t[i].a4)c[j]+=t[i].a4;if(m[j]==t[i].a5)c[j]+=t[i].a5;}for(i=0;i<5;i++)/*按销售额对产品排序*/for(j=i+1;j<5;j++){if(c[i]<c[j]){s=c[i];c[i]=c[j];c[j]=s;s=m[i];m[i]=m[j];m[j]=s;}}system("cls"); /*清屏*/printf("产品的代号\n");printf("10 cake 20 bread 30 pie 40 milk 50 drink\n"); for(i=0;i<5;i++)/*输出产品的代号和销售额*/printf("\n\t\t%-10d%-10d\n",m[i]*10,c[i]);printf("按任意键继续 ......\n");getch();system("cls");}void list3(RECODE t[],int n){int i,j,sum0=0,sum1=0,sum2=0,sum3=0,sum4=0,sum5=0;int c[4],b1[4]={0},b2[4]={0},b3[4]={0},b4[4]={0},b5[4]={0};system("cls");for(i=0;i<4;i++)c[i]=sum(t,n,i+1);/*求每个人的总销售额*/for(i=0;i<4;i++)sum0+=c[i];/*所有产品的销售额*/for(i=0;i<n;i++)/*求每个人每种产品的总销售额*/for(j=0;j<4;j++){if(j+1==t[i].name){b1[j]+=t[i].a1;b2[j]+=t[i].a2;b3[j]+=t[i].a3;b4[j]+=t[i].a4;b5[j]+=t[i].a5;}}for(i=0;i<4;i++)/*每种产品的总销售额*/{sum1+=b1[i];sum2+=b2[i];sum3+=b3[i];sum4+=b4[i];sum5+=b5[i];}printf("-------------------------销售额清单----------------------\n\n\n");printf(" 产品的代号\n");printf("--------bread cake pie milk drink 总和\n\n");for(i=0;i<4;i++)printf(" %-10d%-10d%-10d%-10d%-10d%-10d%-10d\n",i+1,b1[i],b2[i],b 3[i],b4[i],b5[i],c[i]);printf(" 合计%-10d%-10d%-10d%-10d%-10d%-10d",sum1,sum2,sum3,sum4 ,sum5,sum0);printf("\n 按任意键继续.......");getchar();}void save(RECODE t[],int n){int i;FILE *fp;/*调用fopen函数*/if((fp=fopen("record.txt","wb"))==NULL)/*如果函数带回一个空指针值*/{printf("can not open file\n");/*不能打开文件*/exit(1);}printf("\nSaving file\n");fprintf(fp,"%d",n);fprintf(fp,"\r\n");for(i=0;i<n;i++){fprintf(fp,"%-10d%-7d%-7d%-7d%-7d%-7d",t[i].name,t[i].a1,t[i].a2,t[i ].a3,t[i].a4,t[i].a5);/*将便条的信息输出到fp指向的文件上*/fprintf(fp,"\r\n");}fclose(fp);/*关闭文件*/printf("****save success***\n\n");/*显示保存成功*/printf("按任意键继续......");getchar();}int load(RECODE t[]){int i,n;FILE *fp;if((fp=fopen("record.txt","rb"))==NULL)/*如果函数带回一个空指针值*/ {printf("can not open file\n");/*不能打开文件*/exit(1);}fscanf(fp,"%d",&n);for(i=0;i<n;i++)fscanf(fp,"%10d%7d%7d%7d%7d%7d",&t[i].name,&t[i].a1,&t[i].a2,&t[i]. a3,&t[i].a4,&t[i].a5);/*从fp指向的文件上读入便条信息*/fclose(fp);printf("\n 恭喜您已成功从文件中读出数据!!!\n");/*成功读入信息*/printf("按任意键继续......\n\n");getch();return n;}。