销售管理系统设计 c语言
- 格式:doc
- 大小:211.50 KB
- 文档页数:16
× × × ×大学C语言课程设计报告设计题目:销售管理系统设计小组成员:指导教师:所在院系:年级班级:年12月23日销售管理系统设计报告目录题目..........................................2一、设计目的......................................2二、总体设计......................................3三、详细设计......................................4四、调试与测试....................................5五、源程序清单与执行结果..........................5(1)源程序清单.................................5 (2.)执行结果..................................10分工情况:(组长):负责整理总程序;:负责头文件整理和设计报告撰写;:负责编写统计程序;:负责编写排序程序。
题目:某公司有四个销售员(编号:1-4),负责销售五种产品(编号:1-5)。
每个销售员都将当天出售的每种产品各写一张便条交上来。
每张便条包含内容:1)销售员的代号2)产品的代号3)这种产品的当天的销售额每位销售员每天上缴1张便条。
试设计一个便条管理系统,使之能提供以下功能:1、系统以菜单方式工作2、便条信息录入功能(便条信息用文件保存)――输入3、收集到了上个月的所有便条后,读取销售情况1)计算每个人每种产品的销售额。
2)按销售额对销售员进行排序,输出排序结果(销售员代号)3)统计每种产品的总销售额,对这些产品按从高到底的顺序,输出排序结果(需输出产品的代号和销售额)(可选项)一、设计目的1.通过本项课程设计,可以培养独立思考、综合运用所学知识的能力,能更好的巩固《C语言程序设计》课程的内容,掌握工程软件设计的基本方法,强化上机动手编辑能力,闯过理论与实践相结合的难关!更加了解了C语言的好处和其可用性!同时增加了同学之间的团队合作精神!更加也体会到以后在工作团队合作的重要性和必要性!2.C语言课程设计,使学生了解高级程序设计语言的结构,掌握基本的程序设计过程和技巧,掌握基本的分析问题和利用计算机求解问题的能力,具备初步的高级语言程序设计能力。
c语言销售管理系统课程设计一、课程目标知识目标:1. 学生能理解C语言在开发销售管理系统中的应用,掌握基本的程序结构、语法和常用库函数。
2. 学生能掌握使用C语言进行数据存储、读取、计算和展示的方法,并能应用于销售管理系统的设计与实现。
3. 学生能理解销售管理系统的业务流程,掌握相关算法和数据处理方法。
技能目标:1. 学生能运用所学知识,独立设计并编写简单的销售管理系统模块,如商品信息管理、销售记录管理等。
2. 学生能通过调试和优化程序,提高销售管理系统的稳定性和效率。
3. 学生能运用所学知识解决实际问题,具备一定的编程实践能力。
情感态度价值观目标:1. 学生在学习过程中,培养对编程的兴趣和热情,形成积极向上的学习态度。
2. 学生通过团队协作,培养沟通、协作和解决问题的能力,增强团队意识。
3. 学生能够认识到编程在现实生活中的应用价值,激发对计算机技术发展的关注和探索。
课程性质:本课程为实践性较强的课程,旨在让学生通过动手实践,掌握C语言在销售管理系统中的应用。
学生特点:学生具备一定的C语言基础,对编程有一定了解,但实际操作经验不足。
教学要求:注重理论与实践相结合,强调动手实践,培养学生解决实际问题的能力。
在教学过程中,关注学生的个体差异,因材施教,提高学生的编程水平和综合素质。
二、教学内容1. 销售管理系统概述:介绍销售管理系统的基本概念、功能模块及其在实际应用中的重要性。
- 教材章节:第一章 引言2. C语言基础回顾:回顾C语言的基本语法、数据类型、运算符、控制结构等,为后续编程实践打下基础。
- 教材章节:第二章 C语言基础3. 数据存储与读取:学习文件操作、内存分配等知识,掌握数据在销售管理系统中的存储和读取方法。
- 教材章节:第三章 文件操作、第四章 内存管理4. 销售管理系统功能模块设计:- 商品信息管理:学习结构体、数组等知识,实现商品信息的添加、修改、查询和删除功能。
- 教材章节:第五章 结构体与数组- 销售记录管理:学习链表、排序等知识,实现销售记录的录入、查询、统计和排序功能。
1.设计内容1、程序设计(包括框图设计、源程序编辑、编译、调试)2、对问题有完整的分析过程,要求把分析设计过程写入报告3、编写设计报告本程序设计的主要内容:1.1销售管理系统该系统是一个销售管理系统,即对某公司有四个销售员(编号:1-4),负责销售五种产品(编号:1-5)进行合理管制。
每个销售员都将当天出售的每种产品各写一张便条交上来。
每张便条包含内容:1)销售员的代号2)产品的代号3)这种产品的当天的销售额每位销售员每天可能上缴0-5张便条。
假设,收集到了上个月的所有便条,编写一个处理系统,读取上个月的销售情况(自己设定),进行如下处理。
1)计算上个月每个人每种产品的销售额。
2)按销售额对销售员进行排序,输出排序结果(销售员代号)3)统计每种产品的总销售额,对这些产品按从高到底的顺序,输出排序结果(需输出产品的代号和销售额)4)输出统计报表2.设计目的与要求2.1设计目的1.进一步掌握运用C进行程序设计的能力;3.进一步理解和运用面向过程程序设计的思想和方法;3.初步掌握开发一个小型实用系统的基本方法;4.学会调试一个较长程序的基本方法;5.学会利用互联网查找相关的知识并学习;2.2要求含设计中用到的相关技术的解释或讲解介绍和正文两大部份。
正文包括以下7个内容:1.需求分析以无歧义的陈述说明程序设计的任务,强调的是程序要做什么?并明确规定:(1) 输入的形式和输入值的范围;(2) 输出的形式;(3) 程序所能达到的功能;(4) 测试数据:包括正确的输入及其输出结果和含有错误的输入及其输出结果。
2.概要设计说明本程序中用到的所有抽象数据类型的定义、主程序的流程以及各程序模块之间的层次(调用)关系。
3.详细设计实现概要设计中定义的所有类,对每个操作只需要写出伪码算法;可采用流程图等进行描述,画出函数和过程的调用关系图。
4.调试分析内容包括:a.调试过程中遇到的问题是如何解决的以及对设计与实现的回顾讨论和分析;b.改进设想;c.经验和体会等。
c语言课程设计销售管理系统一、教学目标本章节的教学目标旨在让学生掌握C语言编程基础,能够运用C语言设计销售管理系统。
具体目标如下:1.知识目标:学生需要掌握C语言的基本语法、数据类型、运算符、控制结构、函数等基础知识,了解结构体和文件操作等相关概念。
2.技能目标:学生能够运用C语言进行程序设计,具备编写和调试C语言程序的能力。
学生能够运用结构体设计销售管理系统的相关数据结构,并使用文件操作实现数据的持久化存储。
3.情感态度价值观目标:学生能够体验到编程的乐趣,培养对计算机科学的兴趣。
通过完成销售管理系统的项目,培养学生的创新能力和团队合作意识。
二、教学内容本章节的教学内容主要包括C语言的基本语法、数据类型、运算符、控制结构、函数等基础知识,以及结构体和文件操作等相关概念。
具体安排如下:1.C语言基本语法和数据类型:介绍C语言的基本语法规则,包括变量声明、数据类型、运算符等。
2.控制结构:讲解条件语句和循环语句的用法,包括if语句、switch语句、for循环、while循环等。
3.函数:介绍函数的定义和调用,包括主函数、参数传递、返回值等。
4.结构体:讲解结构体的定义和使用,包括结构体的声明、成员访问、结构体数组等。
5.文件操作:介绍文件操作的基本方法,包括文件的打开、读写、关闭等。
6.销售管理系统的实现:引导学生运用所学知识设计和实现一个简单的销售管理系统,包括数据结构的设计、功能的实现和文件的操作。
三、教学方法本章节的教学方法采用讲授法、案例分析法和实验法相结合的方式。
具体安排如下:1.讲授法:教师通过讲解C语言的基本语法、数据类型、运算符、控制结构、函数等基础知识,引导学生理解和掌握相关概念。
2.案例分析法:教师通过分析典型的销售管理系统的案例,引导学生运用所学知识进行系统设计和功能实现。
3.实验法:教师引导学生进行实验,让学生亲自动手编写和调试C语言程序,培养学生的编程能力和解决问题的能力。
c语言销售管理系统课程设计一、教学目标本课程的目标是让学生掌握C语言销售管理系统的基本概念、设计方法和实现技巧。
通过本课程的学习,学生应能够:1.理解销售管理系统的业务流程和需求分析。
2.掌握C语言的基本语法和数据结构。
3.学会使用C语言进行程序设计和调试。
4.能够独立完成销售管理系统的模块设计和实现。
5.培养学生的团队协作能力和问题解决能力。
二、教学内容本课程的教学内容主要包括以下几个部分:1.销售管理系统的需求分析:介绍销售管理系统的业务流程,让学生了解销售管理系统的基本功能和需求。
2.C语言基础:讲解C语言的基本语法、数据类型、运算符、控制结构等,为学生进行程序设计打下基础。
3.数据结构:介绍常用的数据结构,如数组、链表、栈和队列等,让学生学会如何选择合适的数据结构来解决实际问题。
4.销售管理系统的模块设计:引导学生运用C语言和数据结构知识,分模块设计销售管理系统。
5.程序调试与优化:讲解程序调试的方法和技巧,让学生能够独立发现和解决问题。
三、教学方法为了提高教学效果,本课程将采用多种教学方法相结合的方式进行教学:1.讲授法:讲解基本概念、原理和方法,让学生掌握销售管理系统的设计思路。
2.案例分析法:分析实际案例,让学生了解销售管理系统的应用场景。
3.实验法:让学生动手实践,培养实际编程能力和问题解决能力。
4.讨论法:学生进行小组讨论,促进学生之间的交流与合作。
四、教学资源为了支持教学内容和教学方法的实施,我们将准备以下教学资源:1.教材:《C语言程序设计》等相关教材,为学生提供理论基础。
2.参考书:提供一些销售管理系统的经典案例和源代码,供学生参考学习。
3.多媒体资料:制作课件、教学视频等,丰富教学手段,提高学生的学习兴趣。
4.实验设备:提供计算机、编程环境等,让学生能够进行实际编程和调试。
五、教学评估本课程的评估方式将包括以下几个方面:1.平时表现:评估学生在课堂上的参与程度、提问和回答问题的表现等,占总评的20%。
用户下载须知程序语言:C、C++、C#(红色字体表示本课设使用的程序设计语言)图形功能选项:Win32控制台程序(黑框、文本界面)、Win32程序、MFC、WinForm、DirectX10(红色字体表示本课设的程序图形类别,默认为非图形界面Win32控制台程序)数据结构:基础类型、数组、链表、双向链表、搜索树(非平衡二叉树)、平衡二叉树、链表与平衡二叉树相结合、堆栈、队列、串、图(红色字体表示本课设使用的数据结构)C++语言项:STL库(红色字体表示使用C++的STL库)编译环境:Windows 7 64位旗舰版(Linux及其他环境请谨慎下载)集成开发环境:Visual C++ 6.0、DEVC++、CodeBlocks、Visual Studio 2015(需进行修改)均可通过编译。
(若无法通过编译运行,则会用浅蓝色字体表示)分多头文件编译:否(所有代码基本都包含在一个文件内,如需试验头文件功能,请自行参考相关文献)内容说明:1、课设题目及预览内容将在第二页开始展示。
2、代码行数:304行3、目录所示内容,本文基本涵盖,如无内容,会在本页进行说明。
4、附录绝对包含用户使用手册及程序完整源代码和详细注释。
5、如需下载其他头文件(例如DirectX需另行配置),本文会在此进行说明。
6、未经平台、本人及相关法律法规允许,请勿用于其它商业行为,否则后果自负。
7、本文撰写内容仅供学习参考,另外,由于本人水平有限,编写之处难免存在错误和纰漏,恳请各位老师或同学批评指正。
销售管理系统设计某公司有四个销售员(编号:1-4),负责销售五种产品(编号:A-E)。
每个销售员都将当天出售的每种产品各写一张便条交上来。
每张便条包含内容:1)销售员的代号,2)产品的代号,3)这种产品当天的销售额。
每位销售员每天上缴1张便条。
系统基本功能:1、系统以菜单方式工作2、便条信息录入功能(便条信息用文件保存)3、收集到了上个月的所有便条后,读取销售情况1)计算每个人每种产品的销售额。
C语言课程设计销售管理系统报告(大全五篇)第一篇:C语言课程设计销售管理系统报告报告正文1、题目与要求:1.1 某公司有四个销售员(编号:1-4),负责销售五种产品(编号:1-5)。
每个销售员都将当日出售的每种产品各写一张便条交上来。
每张便条内容有•销售员的代号•产品的代号•这种产品当天的销售额1.2 每位销售员每天可能上缴0-5张便条。
假设手机到了上个月的所有便条,编写一个处理系统,读取上月的销售情况(自己设定),进行如下处理:•计算上个月没人每种产品的销售额•按销售额对销售员进行排序,输出排序结果(销售员代号)•统计每种产品的总销售额,对这些产品从高到低的顺序输出结果(须输出产品的代号和销售额)•输出统计报表2、需求分析本程序将用到文件系统,list.txt文件内容作为数据源,其中单行内容代表一张纸条。
程序运行后首先将文件系统的原始数据读取并保存到程序的结构体数组当中,所以应提供文件输入的操作;由于纸条数据零散,所以要对原始数据进行分类操作并提供一个数组用于保存分类信息;在程序中要进行统计工作,所以要提供显示、排序等操作;另外应提供键盘式选择菜单实现功能选择。
3、功能实现设计3.1总体设计根据上面的分析,可以将这个系统分为如下五大模块:查看每人每种产品的销售额、按销售额对销售员排序、对每种产品总销售额从高到低排序、输出统计报表和退出。
其中主要模块是前四个模块。
3.2流程图3.3详细设计:3.3.1【头文件和预定义】 #include #include#include #include #define M 155 3.3.2【功能函数声明】 void detail(); void foreach(); void menu(); void product(); void readdata(); void seller(); void total(); void choice(); 3.3.3【数据结构】原始数据有销售员代号、产品代号和销售额,所以定义一个全局结构体数组scrip用于保存原始数据。
销售管理系统c语言课程设计一、课程目标知识目标:1. 理解C语言在销售管理系统中的应用场景和优势;2. 掌握C语言基本语法和数据结构,如数组、结构体、文件操作等;3. 学会使用C语言实现销售管理系统的基本功能,如商品信息管理、销售记录管理、数据查询等。
技能目标:1. 培养学生运用C语言解决实际问题的能力;2. 提高学生分析需求、设计系统、编写代码、调试程序的能力;3. 培养学生团队协作、沟通表达和解决问题的能力。
情感态度价值观目标:1. 培养学生对编程和计算机科学的兴趣,激发学生的创新意识;2. 增强学生的自信心,培养学生面对困难勇于挑战的精神;3. 引导学生关注社会热点问题,理解销售管理系统在现实生活中的应用,培养学生的社会责任感。
课程性质:本课程为实践性较强的课程,以项目为导向,结合实际应用场景,培养学生的编程能力和解决实际问题的能力。
学生特点:学生已经具备C语言基础知识和一定的编程能力,对实际项目有一定的了解,但可能缺乏项目实战经验。
教学要求:注重理论与实践相结合,以项目为主线,引导学生主动探究,培养其编程思维和实际操作能力。
将课程目标分解为具体的学习成果,便于教学设计和评估。
二、教学内容1. C语言基础回顾:数据类型、运算符、控制结构、函数等基本概念;2. 销售管理系统需求分析:介绍系统功能模块,如商品管理、销售记录、用户管理等;3. 数据结构设计:数组、结构体、链表等在销售管理系统中的应用;4. 文件操作:文件的打开、读取、写入和关闭,实现数据的持久化存储;5. 销售管理系统功能实现:分别实现商品信息管理、销售记录管理、数据查询等功能;- 商品信息管理:添加、修改、删除商品信息;- 销售记录管理:记录销售数据,实现销售统计;- 数据查询:根据需求查询商品信息和销售记录;6. 系统测试与优化:对销售管理系统进行功能测试、性能测试和优化;7. 项目总结与评价:总结项目实施过程中的经验和教训,进行自我评价和互相评价。
销售管理系统 c课程设计一、课程目标知识目标:1. 让学生理解销售管理系统的基本概念,掌握其功能模块和业务流程。
2. 使学生掌握数据库设计原则,能运用数据库技术进行销售数据的存储和管理。
3. 帮助学生掌握面向对象编程思想,运用编程语言实现销售管理系统的功能。
技能目标:1. 培养学生运用数据库技术进行数据分析和处理的能力,能独立完成销售数据表的创建和查询。
2. 提高学生运用编程语言进行销售管理系统功能开发的能力,能实现基本的增删改查功能。
3. 培养学生运用软件工程方法进行项目设计和团队协作的能力,能参与小型销售管理系统的设计与开发。
情感态度价值观目标:1. 培养学生对信息技术的兴趣和求知欲,激发他们主动探索新技术、新方法的热情。
2. 培养学生具备良好的职业道德,重视个人信息安全和数据保密,遵循法律法规。
3. 培养学生具备团队协作精神,学会沟通、交流,提高解决问题的能力。
本课程针对高年级学生,具有较强的实践性和综合性。
结合学生特点和教学要求,课程目标旨在使学生掌握销售管理系统相关理论知识,培养实际操作能力,同时注重培养学生的职业素养和团队协作精神,为将来从事信息技术工作打下坚实基础。
通过对课程目标的分解,教师可以更好地进行教学设计和评估,确保学生达到预期学习成果。
二、教学内容1. 销售管理系统的基本概念与功能模块:介绍销售管理系统的定义、作用及其在企业中的应用;分析销售管理系统的核心功能模块,如客户管理、销售订单管理、库存管理等。
2. 数据库设计原则与应用:讲解数据库设计的基本原则,如实体-关系模型、范式理论等;结合销售管理系统,展示如何运用数据库技术进行数据存储和管理。
3. 面向对象编程思想:介绍面向对象编程的基本概念,如类、对象、封装、继承、多态等;结合销售管理系统,分析如何运用面向对象编程思想进行系统设计与实现。
4. 销售管理系统功能实现:详细讲解如何运用编程语言(如Java、C#等)实现销售管理系统的核心功能,包括客户管理、销售订单管理、库存管理等模块的编码实现。
电子科技大学成都学院程序综合设计销售管理系统设计学生姓名冯垚学号1240840106同组人武侠红苗迅专业名称机械设计制造及其自动化班级12408401指导教师陈芳电子科技大学成都学院二○一三年十二月目录1.前言 (3)2.设计目的 (3)3.功能描述 (3)4.总体设计 (4)1、功能模块设计 (4)2、数据结构设计 (5)3、函数功能描述 (6)5.程序实现 (8)1、源程序(略) (8)2、运行结果 (13)6.小结 (16)1.前言C语言是今年来国内外得到迅速推广使用的一种高级语言。
C语言功能丰富,表达能力强,使用灵活方便,应用广,目标程序效率高,可移植性好,既具有高级语言的优点,又具有低级语言的语言特点,因此C语言对我们来说很重要,本程序是我们小组利用网络和书本等资源公共完成的一个销售管理系统,深刻了解中小型C语言程序设计。
2.设计目的(1)了解管理信息系统的开发流程,熟悉C语言的文件和结构数组的各种基本操作。
(2)掌握高级程序设计语言的知识。
(3)实践中逐步掌握程序设计的思想和方法,培养问题求解和语言的应用能力。
(4)本程序中涉及结构体、数组、文件等方面的知识。
通过本程序的训练,能对C语言的文件操作有一个更深刻的了解。
(5)要提高与程序设计和软件开发有关的各种综合能力。
(6)掌握利用数组存储结构实现电话簿管理的原理,为进一步开发出高质量的信息管理系统打下坚实的基础。
3.功能描述程序功能要求 :某公司有四个销售员(编号:1-4),负责销售五种产品(编号:1-5)。
每个销售员都将当天出售的每种产品各写一张便条交上来。
每张便条包含内容:1)销售员的代号,2)产品的代号,3)这种产品的当天的销售额。
每位销售员每天上缴1张便条。
试设计一个便条管理系统,使之能提供以下功能:1、系统以菜单方式工作2、便条信息录入功能(便条信息用文件保存)--输入3、收集到了上个月的所有便条后,读取销售情况1)计算每个人每种产品的销售额。
2)按销售额对销售员进行排序,输出排序结果(销售员代号)3)统计每种产品的总销售额,对这些产品按从高到底的顺序,输出排序结果(需输出产品的代号和销售额)(可选项)描述:本程序将用到list.txt文件内容作为数据源,其中单行内容代表一张纸条。
程序运行后首先将文件系统的原始数据读取并保存到程序的结构体数组当中,所以应提供文件输入的操作;由于纸条数据零散,所以要对原始数据进行分类操作并提供一个数组用于保存分类信息;在程序中要进行统计工作,所以要提供显示、排序等操作;另外应提供键盘式选择菜单实现功能选择。
4.总体设计功能模块设计可以将这个系统分为五大模块:查看没人每种产品的销售额、按销售额对销售员排序、对每种产品总销售额从高到低排序、输出统计报表和退出。
其中主要模块是前四个模块。
程序预数据结构设计:头文件和预定义#include<stdio.h>#include<conio,h>#include<stdlib.h>#include<string.h>#define M 155功能函数声明:void detail();//显示销售情况void foreach();//从文件读取数据兵分类整理void menu();//菜单void product();//对产品进行统计void readdata();//从文件读取数据void seller();//对销售员进行统计void total(); //输出报表void choice();//选择输出信息数据结构:原始数据有销售员代码、产品代号和销售额,所以定义一个全局结构体数组scrip用于保存原始数据。
然后定义。
然后定义全局变量n保存纸条数目,定义数组s用于保存分类后的信息。
struct ss{int sid; //销售员代号int pid; //产品代号int sn; //销售额}ss[M];int n; //纸条数目int s[4][5]={{0,0,0,0,0},{0,0,0,0,0},{0,0,0,0,0},{0,0,0,0,0}}; //用于保存员工和产品信息主函数:显示程序设计者相关信息和调用文件读取函数、数据初始化函数和主菜单函数。
void main() //入口函数即主函数{readdata(); //读取文件数据foreach(); //根据文件初始数据初始化便于操作的数组menu(); //显示主菜单}函数功能描述:每人每种产品销售额统计函数detail()//计算上个月每个人每种产品的销售额void detail() //显示销售情况{int i,j;for(i=0;i<4;i++) //遍历销售员{printf("\n\t\t%d号销售员销售情况:\n",i+1);for(j=0;j<5;j++) /*按销售员分类遍历所有产品并显示信息*/printf("\t\t%d号产品销售数量:%d\n",j+1,s[i][j]);}choice();}文件读取函数readdata()读出便条中的内容,并保存到文件结构体中。
void foreach()//从纸条读取数据并分类整理{int i;for(i=0;i<n;i++)//遍历所有纸条{switch(ss[i].pid)//按产品分大类,根据大类分销售员小类,累加个人各产品销售数量{case 1:switch(ss[i].sid){case 1:s[0][0]+=ss[i].sn;break;case 2:s[1][0]+=ss[i].sn;break;case 3:s[2][0]+=ss[i].sn;break;case 4:s[3][0]+=ss[i].sn;break;}break;case 2:switch(ss[i].sid){case 1:s[0][1]+=ss[i].sn;break;case 2:s[1][1]+=ss[i].sn;break;case 3:s[2][1]+=ss[i].sn;break;case 4:s[3][1]+=ss[i].sn;break;}break;case 3:switch(ss[i].sid){case 1:s[0][2]+=ss[i].sn;break;case 2:s[1][2]+=ss[i].sn;break;case 3:s[2][2]+=ss[i].sn;break;case 4:s[3][2]+=ss[i].sn;break;}break;case 4:switch(ss[i].sid){case 1:s[0][3]+=ss[i].sn;break;case 2:s[1][3]+=ss[i].sn;break;case 3:s[2][3]+=ss[i].sn;break;case 4:s[3][3]+=ss[i].sn;break;}break;case 5:switch(ss[i].sid){case 1:s[0][4]+=ss[i].sn;break;case 2:s[1][4]+=ss[i].sn;break;case 3:s[2][4]+=ss[i].sn;break;case 4:s[3][4]+=ss[i].sn;break;};break;}}}主菜单函数menu()显示系统功能菜单以供用户选择相关功能使用,根据用户选择分别可调用。
void menu(){int w,c;do{puts("\t\t********************菜单*********************\n\n");puts("\t\t 1.查看每人每种产品的销售额\n");puts("\t\t 2.按销售额对销售员排序(销售员代号)\n");puts("\t\t 3.对每种产品总销售额从高到低排序(产品代号和销售额)\n");puts("\t\t 4.输出统计报表\n");puts("\t\t 5.退出\n");puts("\n\n\t\t*********************************************\n");printf("请选择(1-5):[ ]\b\b");scanf("%d",&c);if(c<1||c>5) //错误输入则重新获取输如{w=1;getchar();}else w=0;}while(w==1);switch(c)//根据输入实现相应函数调用{case 1:detail();break;//每个销售员每种产品的销售额统j计case 2:seller();break;case 3:product();break;case 4:total();break;case 5:exit(0);}}统计报表输出函数total()统计每种产品的总销售额,对这些产品按从高到低的顺序输出排序结果(需输出产品代号和销售额)void total()//输出报表{int i,j;printf("\n\t销售员\t产品\t销量\n");for(i=0;i<4;i++)for(j=0;j<5;j++)printf("\t %d\t %d\t %d\n",i+1,j+1,s[i][j]);choice();}5.程序实现1、源程序#include<stdio.h>#include<conio.h>#include<stdlib.h>#include<string.h>#define M 155void detail();//显示销售情况void foreach();//从文件读取数据兵分类整理void menu();//菜单void product();//对产品进行统计void readdata();//从文件读取数据void total(); //输出报表void choice();//选择输出信息struct ss{int sid; //销售员代号int pid; //产品代号int sn; //销售额}ss[M];int n; //纸条数目int s[4][5]={{0,0,0,0,0},{0,0,0,0,0},{0,0,0,0,0},{0,0,0,0,0}}; //用于保存员工和产品信息void main() //入口函数即主函数{readdata(); //读取文件数据foreach(); //根据文件初始数据初始化便于操作的数组menu(); //显示主菜单}void readdata()//从文件读取数据{FILE *fp;if((fp=fopen("list.txt","r"))==NULL){printf("Can't open the file!\n");exit(0);}elsefor(n=0;!feof(fp);n++){fscanf(fp,"%d %d %d\n",&ss[n].sid,&ss[n].pid,&ss[n].sn);} //保存文件数据到结构体fclose(fp);}void foreach()//从纸条读取数据并分类整理{int i;for(i=0;i<n;i++)//遍历所有纸条{switch(ss[i].pid)//按产品分大类,根据大类分销售员小类,累加个人各产品销售数量{case 1:switch(ss[i].sid){case 1:s[0][0]+=ss[i].sn;break;case 2:s[1][0]+=ss[i].sn;break;case 3:s[2][0]+=ss[i].sn;break;case 4:s[3][0]+=ss[i].sn;break;}break;case 2:switch(ss[i].sid){case 1:s[0][1]+=ss[i].sn;break;case 2:s[1][1]+=ss[i].sn;break;case 3:s[2][1]+=ss[i].sn;break;case 4:s[3][1]+=ss[i].sn;break;}break;case 3:switch(ss[i].sid){case 1:s[0][2]+=ss[i].sn;break;case 2:s[1][2]+=ss[i].sn;break;case 3:s[2][2]+=ss[i].sn;break;case 4:s[3][2]+=ss[i].sn;break;}break;case 4:switch(ss[i].sid){case 1:s[0][3]+=ss[i].sn;break;case 2:s[1][3]+=ss[i].sn;break;case 3:s[2][3]+=ss[i].sn;break;case 4:s[3][3]+=ss[i].sn;break;}break;case 5:switch(ss[i].sid){case 1:s[0][4]+=ss[i].sn;break;case 2:s[1][4]+=ss[i].sn;break;case 3:s[2][4]+=ss[i].sn;break;case 4:s[3][4]+=ss[i].sn;break;};break;}}}void menu(){int w,c;do{puts("\t\t********************菜单*********************\n\n");puts("\t\t 1.查看每人每种产品的销售额\n");puts("\t\t 2.按销售额对销售员排序(销售员代号)\n");puts("\t\t 3.对每种产品总销售额从高到低排序(产品代号和销售额)\n");puts("\t\t 4.输出统计报表\n");puts("\t\t 5.退出\n");puts("\n\n\t\t*********************************************\n");printf("请选择(1-5):[ ]\b\b");scanf("%d",&c);if(c<1||c>5) //错误输入则重新获取输如{w=1;getchar();}else w=0;}while(w==1);switch(c)//根据输入实现相应函数调用{case 1:detail();break;//每个销售员每种产品的销售额统j计case 2:seller();break;case 3:product();break;case 4:total();break;case 5:exit(0);}}void detail()//显示销售情况{int i,j;for(i=0;i<4;i++)//遍历销售员{printf("\n\t\t%d号销售员销售情况:\n",i+1);for(j=0;j<5;j++)/*按销售员分类遍历所有产品并显示信息*/printf("\t\t%d号产品销售数量:%d\n",j+1,s[i][j]);}choice();}void seller(){int i,j,k;int sp[4]={0,0,0,0};for(i=0;i<4;i++)for(j=0;j<5;j++)sp[i]+=s[i][j];//计算每单个销售员所有产品销售情况for(i=0;i<4;i++)//比较四次,每次选出最大数{k=0;//用于标记单轮最大数for(j=0;j<4;j++)if(sp[k]<sp[j])k=j;//获取最大数标号printf("\t\t第%d名是%d号销售员!\n",i+1,k+1);sp[k]=-1;/*输出最大数和排名,将最大数标记为负*/}choice();}void product()//与seller()原理一样,用于对产品进行统计{int i,j,k;int p[5]={0,0,0,0,0};for(j=0;j<5;j++)for(i=0;i<4;i++)p[j]+=s[i][j];for(j=0;j<5;j++){k=0;for(i=0;i<5;i++)if(p[k]<p[i])k=i;printf("\t\t第%d名是%d号产品!\t销量为%d!\n",j+1,k+1,p[k]);p[k]=-1;}choice();}void total()//输出报表{int i,j;printf("\n\t销售员\t产品\t销量\n");for(i=0;i<4;i++)for(j=0;j<5;j++)printf("\t %d\t %d\t %d\n",i+1,j+1,s[i][j]);choice();}void choice()//用于输出信息功能选择{int c;printf("请选择接下来想做什么\t1>返回菜单\t2>退出系统[ ]\b\b");scanf("%d",&c);if(c==1)menu();elseexit(0);puts("\n");}2、运行结果(1)主界面(2)查看每人每种销售额运行结果当用户输入“1”并按Enter键后,即可进入数据。