c语言销售管理系统(共22页).doc
《c语言销售管理系统(共22页).doc》由会员分享,可在线阅读,更多相关《c语言销售管理系统(共22页).doc(22页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、精选优质文档-倾情为你奉上 课程设计说明书学 院、系:专 业:学 生 姓 名:学 号:设 计 题 目:销售管理系统 起 迄 日 期:指 导 教 师:日期: 2017年5月12日1 设计目的1.了解管理信息系统的开发流程,熟悉C语言的文件和结构数组的各种基本操作。2.握高级程序设计语言的知识。 3.践中逐步掌握程序设计的思想和方法,培养问题求解和语言的应用能力。4.程序中涉及结构体、数组、文件等方面的知识。通过本程序的训练,能对C语言 的文件操作有一个更深刻的了解。5.提高与程序设计和软件开发有关的各种综合能力。 6.通过本课程设计,培养上机动手能力,巩固C语言程序设计课程学习的内容,掌握工程软
2、件设计的基本方法,强化上机动手能力,闯过编程关;7.为后续各门计算机课程的学习打下坚实基础;8.学会用c语言程序设计来设计销售管理系统设计。2 任务概述 某公司有四个销售员(编号:1-4),负责销售五种产品(编号:1-5)。每个销售员都将当天出售的每种产品各写一张便条交上来。每张便条包含内容:1)销售员的代号,2)产品的代号,3)这种产品的当天的销售额。每位销售员每天上缴1张便条。试设计一个便条管理系统,使之能提供以下功能:1、系统以菜单方式工作2、便条信息录入功能(便条信息用文件保存)输入3、收集到了上个月的所有便条后,读取销售情况1)计算每个人每种产品的销售额。2)按销售额对销售员进行排序
3、,输出排序结果(销售员代号) 3)统计每种产品的总销售额,对这些产品按从高到底的顺序,输出排序结果 4)输出统计报表3 模块划分 主菜单及头文件设计 编辑系统菜单运行 输入信息 保存信息,参数为结构体数组和记录数 读入取函数,参数为结构体数组 清单输出 主要功能的实现4 主要函数说明及其N-S图 主菜单及头文件设计:我们按照老师所给的示例我们首先编译了一个头文件,在头文件里,编译了主函数需要用到的一些函数,如#include stdio.h等,因为需要录入便条的所有信息,所有用一个数据结构来实现信息的储存方式,用数组方式,把每条信息都编译成一个数组,如销售员代号用name4记录。头文件还包括了
4、定义常数记录数typedef struct,主函数原型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);/*声明函数*/
5、 int load(RECODE t);/*声明函数*/这些的都是主函数需要用到的数据,因此放入头文件当中,在主程序开始之前直接引用#include pro.h。2.编辑系统菜单运行:题目要求我们系统以菜单方式工作,所以我们现要定义一个系统的结构体数组RECODE rec600,用for (;)循环让菜单实现无限循环,让switch(menu_select()调用主菜单函数,返回值整数作开关语句的条件,之后分别定义菜单的信息,如:case 1:length=enter(rec);就是输入信息的定义编辑,当然最后需要用到break来实现返回。菜单定义完成之后,开始编译菜单的输出,这部分,用了pr
6、intf就把需要显示的菜单显示出来,然后由用户选择菜单的选项,因为菜单只有07的选项,为了防止用户输入选项超值,所以用do while语句来控制,(c7)限定了用户输入的数据只有07才有效,超值则返回开始菜单,重新选择(return)。3.输入信息:输入信息一般都是使用scanf来实现,但在用户输入之前需要解决一个问题,程序必须限制用户的输入序数(记录条数),所以在输入数据之前,必须先限定序数,方法则是用一个for循环来实现,有用户输入一个数字,成为循环的上限,而用户输入的便条信息则在此限定下,不能超出,当超出时则返回到开始菜单。用户输入的便条信息分别存入对应的数组当中,如便条条数则存入ti.
7、num当中。4.保存信息,参数为结构体数组和记录数:用户输入的信息需要保存时,用save选项进行保存。保存的时候,实现应该建立一个指向文件的指针,从而固定保存文件时的位置,之后用if语句来判断打开文件是否正常,if(fp=fopen(record.txt,wb)=NULL),如果没打开(打开不正常),则程序执行退出;当判断文件打开正常时,系统显示“保存文件”(用printf(n保存文件n)来完成),保存信息是用到的fprintf函数,将制定记录数输入文件fprintf(fp,%d,n),因为源文件中采用了换行,保存文件是系统默认不会进行保存,所有必须加如换行符号保存,防止文件丢失,保证文件以用
8、户输入的信息一致,保存换行符号依然采用fprintf函数来实现,具体源文件为fprintf(fp,rn);当确立了保存的可以性之后,系统开始录入需要保存的信息,用for循环语句,不断把用户输入的信息保存,因为之前在编写输入,输出程序时,都用到了一定的格式,保证信息的一一对应,所以在保存文件时,也需要确定和输入是相同的格式,这里依然使用fprintf函数来进行保存,如fprintf(fp,%-10d%-7d%-7d%-7d%-7d-7d,ti.name,ti.a1,ti.a2,ti.a3,ti.a4,ti.a5)就是把销售员代号,产品代号,销售额按照间隔7个字符格式进行保存,在保存格式确立后,需
9、要把换行符号再次写入文件,程序结束后fclose结束保存,并用printf输出“文件保存成功”,让用户知道已经保存文件。5. 读入取函数,参数为结构体数组:前面已经做了文件的保存,当保存文件成功后,系统会以record.txt文件保存在与程序同级的文件夹下,而读入函数,就是为了让用户再次打开运行程序时,可以直接读取之前已经输入并保存过的信息,和储存信息一样,读入函数也采用了参数为结构体数组,同样应该确定文件指向指针FILE *fp,读入函数之前,应该确定是否有已经保存的文件,用保存文件一样,用if语句来进行判断if(fp=fopen(record.txt,rb)=NULL),如果判断失败,系统
10、不能读入文件,则会显示“不能打开文件”,用printf(不能打开文件n)来实现,同时系统要结束读入文件的执行,用exit(1)实现;如果判断成功,则系统会自动读入用户已经保存的数据(fscanf(fp,%d,&n)读入记录数),用for循环把已经保存的数据一一对应的读入到正在执行的程序中,这里需要注意的是,读取的数据格式应该同保存时的一致,如储存时的格式是fprintf(fp,%-10d%-7d%-7d%-7d%-7d-7d,ti.name,ti.a1,ti.a2,ti.a3,ti.a4,ti.a5),则读入的时的格式就为fscanf(fp,%d%d%d%d%d%d,&(ti.name),&(
11、ti.a1),&(ti.a2),&(ti.a3),&(ti.a4),&(ti.a5),读取成功后关闭文件fclose(fp),并显示“成功地从文件读入数据!”(用printf实现)。6.清单输出: 读取销售情况有3个,分别是每个人每种产品的销售额,按销售额对销售员进行排序和每种产品的总销售额三个函数:1).每个人每种产品的销售额: 首先,要定义每个人,每种产品,销售额数组如int i,j,sum0=0,sum1=0,sum2=0,sum3=0,sum4=0,sum5=0; int c4,b14=0,b24=0,b34=0,b44=0,b54=0,用for循环来求每个人的总销售额:for(i=0
12、;i4;i+);用for循环来求每个人每种产品的总销售额:for(i=0;in;i+),for(j=0;j4;j+);在用for循环每种产品的总销售额:for(i=0;i4;i+),之后则在系统界面输入销售员代号,产品代号,产品代号用printf即可实现,用sum对每个销售员的销售额求和,用system(cls)来录入信息,然后输出头标(如销售员代号,产品代号,销售额等,用printf实现),之后开始查询,用 for语句来。2).按销售额对销售员进行排序: 此部分要分两部分其一是,每位销售员销售额;其二是,按销售额对销售员排序。在求每个销售员销售额时也是要先定义销售员代号,产品代号,销售额。接
13、着是则是用输入要查询的销售员的代号,用scanf(%d,&s)来记录输入销售员代号的信息,然后输出头标(如销售员代号,产品代号,销售额等,用printf实现),之后开始查询,查询信息首先需要一个for语句来,实现对已存入数据的所有查询for(i=0;in;i+),关键内容是查询销售员代号时用if(strcmp(name,ti.name)=0),找出与输入的销售员相同的储存信息,查找完成后则把该销售员的所有信息全部输出。上面是求每个销售员销售额,接着是要在上面的基础上排序。首先要定义两个数组如:int c4,m4,接着用for循环(for(i=0;i4;i+);for(j=i+1;j4;j+)
14、)对销售员的销售额进行排序,再用if语句来求,最后是输出用printf(%dn,mi)实现。3).每种产品的总销售额: 也一样首先要定义数组,接着用ci=sum(t,n,i+1) 求每个人的总销售额,再用for循环,再用sum0+=ci对所有产品的销售额求总,用for循环对每个人每种产品的销售额求总销售额,再用for循环实现每种产品的总销售额,然后输出头标(如销售员代号,产品代号,总销售额等,用printf实现)即可。5 程序运行数据及其结果1. 进入主菜单:2. 选择“1”,输入便条:3.输入条数,如:输入2天的便条,8条:4.选择“2”,保存到文件:5.选择“3”,读取文件:6.选择“4”
15、,显示清单:7. 选择“5”,每位销售员的销售额:8.输入查询员工代号,如:查询的员工号为3:8. 选择“6”, 每种产品的销售额: 9. 选择“7”, 按销售额对销售员排序:10. 选择“0”,退出管理: 11. 保存的文件:保存的文件为TXT格式,其保存的文件为:6 课程设计心得 经过上机实践学习,使我对c语言有了更进一步的认识和了解,C语言是计算机程序设计的重要理论基础,在我们以后的学习和工作中都有着十分重要的地位。要学好这种语言,仅仅学习课本上的知识是不够的,还要经常自己动手,有较强的实践能力。只有多动手,经常编写程序,才能发现我们学习上的漏洞和自己的不足,并在实践中解决这些问题,不断
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 语言 销售 管理 系统 22
限制150内