![C语言销售管理系统设计(内含完整代码与附件)_第1页](http://file3.renrendoc.com/fileroot_temp3/2022-1/24/fda18aad-835b-481a-bd3b-f9175472b07b/fda18aad-835b-481a-bd3b-f9175472b07b1.gif)
![C语言销售管理系统设计(内含完整代码与附件)_第2页](http://file3.renrendoc.com/fileroot_temp3/2022-1/24/fda18aad-835b-481a-bd3b-f9175472b07b/fda18aad-835b-481a-bd3b-f9175472b07b2.gif)
![C语言销售管理系统设计(内含完整代码与附件)_第3页](http://file3.renrendoc.com/fileroot_temp3/2022-1/24/fda18aad-835b-481a-bd3b-f9175472b07b/fda18aad-835b-481a-bd3b-f9175472b07b3.gif)
![C语言销售管理系统设计(内含完整代码与附件)_第4页](http://file3.renrendoc.com/fileroot_temp3/2022-1/24/fda18aad-835b-481a-bd3b-f9175472b07b/fda18aad-835b-481a-bd3b-f9175472b07b4.gif)
![C语言销售管理系统设计(内含完整代码与附件)_第5页](http://file3.renrendoc.com/fileroot_temp3/2022-1/24/fda18aad-835b-481a-bd3b-f9175472b07b/fda18aad-835b-481a-bd3b-f9175472b07b5.gif)
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、用户下载须知程序语言:C、C+、C#(红色字体表示本课设使用的程序设计语言)图形功能选项:Win32控制台程序(黑框、文本界面)、Win32程序、MFCWinForm、DirectXIO(红色字体表示本课设的程序图形类别,默认为非图形界面Win32控制台程序)数据结构:基础类型、数组、链表、双向链表、搜索树(非平衡二叉树)、平衡二叉树、链表与平衡二叉树相结合、堆栈、队列、串、图(红色字体表示本课设使用的数据结构)C+率言项:STL库(红色字体表示使用C+的STL库)编译环境:Windows764位旗舰版(Linux及其他环境请谨慎下载)集成开发环境:VisualC+6.0、DEVC+CodeB
2、locks、VisualStudio2015(需进行修改)均可通过编译。(若无法通过编译运行,则会用浅蓝色字体表示)分多头文件编译:否(所有代码基本都包含在一个文件内,如需试验头文件功能,请自行参考相关文献)内容说明:1、课设题目及预览内容将在第二页开始展示。2、代码行数:304行3、目录所示内容,本文基本涵盖,如无内容,会在本页进行说明。4、附录绝对包含用户使用手册及程序完整源代码和详细注释。5、如需下载其他头文件(例如DirectX需另行配置),本文会在此进行说明。6、未经平台、本人及相关法律法规允许,请勿用于其它商业行为,否则后果自负。7、本文撰写内容仅供学习参考,另外,由于本人水平有限
3、,编写之处难免存在错误和维漏,恳请各位老师或同学批评指正。销售管理系统设计某公司有四个销售员(编号:1-4),负责销售五种产品(编号:A-E)o每个销售员都将当天生售的每种产品各写一张便条交上来。每张便条包含内容:1)销售员的代号,2)产品的代号,3)这种产品当天的销售额。每位销售员每天上缴1张便条。系统基本功能:1、系统以菜单方式工作2、便条信息录入功能(便条信息用文件保存)3、收集到了上个月的所有便条后,读取销售情况1)计算每个人每种产品的销售额。2)按销售额对销售员进行排序,输由排序结果(销售员代号)3)统计每种产品的总销售额,对这些产品按从高到底的顺序,输由排序结果(需输生产品的代号和
4、销售额)4、销售员信息查询功能要求:使用二进制文件方式存储数据根据分析结果,销售管理系统可分为录入、读取、查询、退由、计算每个人每种产品的销售额、按销售额对销售员进行排序和统计每种产品的总销售额等模块。系统总体结构如图1所示。销售管理系统录入读取退由计算每个人每种按销售额对销售统计每种产品的返回产品的销售额员进行排序总销售额图1系统总体结构框图本系统采用数组存储数据,根据分析,系统设计了三个结构体:note存储便条的基本信息,noAndSum存储销售员代号和销售总额的信息,productAndSum存储产品代号和销售额的信息。便条基本信息包括销售员代号、五种品的销售额等信息。具体结构如下:ty
5、pedefstructnote/f便条intno;/销售4代号IfloatsalesVolume5;/AE产品代号的销售额Note;typedefstructnoAndSum/记录销售员代号和总销售小,用以进行排序intno;floatsalesVolume;NoAndSum;typedefstructproductAndSum/产品代号和销售额charch;floatsalesVolume;ProductAndSum;为了实现系统的各项功能,本设计中自定义相关的各个函数,各函数的原型如下:voidShowUI();显示主菜单界面voidShowSubmenu();/显示次级菜单界面intIs
6、Number(chars);/判断一个字符串是不是数字/读取数据/计算功能查询销售员信息/排序功能统计每种产品的类型金额voidInput();/录入功能voidRead(Notenote,int*n);voidCalculation(Notenote,intn);voidFind(Notenote口,int*n);/voidSort(Notenote,intn);voidSort2(Notenote,intn);/3.3主函数主函数main()函数通过多分支结构switch实现功能的选择,调用不同函数实现不同功能,包括录入、读取、查询、退由、计算每个人每种产品的销售额、按销售额对销售员进行排
7、序和统计每种产品的总销售额等模块等功能。系统主界面如图2,主函数流程图如图3所示。(如Ejm'HQpTMo叫曲母FidUn倜用Input()倜用Find(Note录入信息note口,int*n)查询信息计算每个人每种产按销售额对销售员品的销售额进行排序调用Sort(Note调用Calculation(Notenote,intn)计算录入查询统计每种产品的总销售额调用Sort2(Notenote口,intn)排序note,intn)排序3.4.录入功能3.5读取功能从二进制文本读取数据功能3.6善询向第"又g脩八?:中信:油又件名前入靖兽员ARcoEIt*vt-7,7<l
8、Tt?'nC*W&*£RAflxnAMMnHJllflhlf«xlJriWJc尸岷#-ITTrri匚L-Ti1.1xt2MLJ0.2%3.7X每个人每胪的策醐B0tI%眦幽HL2lfi.88tWwIqg.0p.k-=一一Ent38.IMMMM艮"2s.BeeM0息视B.HWMWE9iH.miMMUISB«fMM3.8,礁雁筋法雄濡胪鹏1计算室个人穹料产品幻梢管软,tAHn74 s XH 支*n». 品 声 -n- 百ttOHFlMn AHAnxH du 口七 En2 1 2工4 <c® 员员 住艮cMian3.9
9、Pi>nrc*i计11每个人每种产品缶箱Kt,T抑MKIx专W员进行Mt也叵L:ki.,A_ft-frB-cI*-L-rtTfrrruarAAnxMnRAn4ATP£w_4>>ATPLac=egiiJKangngi瞥叫4软件调试分析在编程当中也遇到了一些问题:1)空文件读入乱码问题。空文件读入乱码但系统不报错,给数据的处理造成阻碍。为了保证数据的读入正确,在文件尾增加了一个字符#'作为结束标志2)实现循环操作功能问题。利用链表处理数据,容易忽视由于指针的移动造成的访问由错问题。在实现数据添加、删除等功能时,增加了指针复位处理。经验总结需多次调试,否则不易发现
10、。3)无文件条件下的数据读取的问题以及查询排序的实现。该错误是空指针对数据读取造成的程序终止性错误。附录用户使用手册1、根据界面提示操作即可。2、请勿输入非数字以外的字符。程序源代码#inclu<stdio.h>dede<stdlib.h>#inclu<conio.h>de<ctype.h>#include<string.h>#inclu<Windows.h>or inputde#include#include/*runthisprogramusingtheconsolepauseroraddyourowngetch,sy
11、stem("pause")loop*/typedefstructnote/便条intno;/销售员代号floatsalesVolume5;AE产品代号的销售额Note;typedefctintnoAndSum记录销售员代号和总销售额,用以进行排序struno;floatsalesVolume;NoAndSum;typedefstructproductAndSum/产品代号和销售额charch;salesVolumefloat;ProductAndSum;voidShowUI();/显示主菜单界面voidShowSubmenu();/显示次级菜单界面int IsNumber(
12、 void Input(); void Read( Note void Calculation( void Find( void Sort( void Sort2(char/判断一个字符串是不是数s);字/录入功能 note* /口, int n);/读取数据note 口,Note intn);/计算功能note* /Note 口, noteint n);/查询销售员信息/Note 口, Note note 口,int n); in t n);/排序功能/统计每种产品的类型/金额intmain(void)charselect='0'charselect1='0'
13、Notenote31;intn=0;/记录读入的数据个数doShowUI();select=getch();switch(select)break;case'1':Input();case'2':Read(note,&n);if(0>=n)break;doShowSubmenu();select1=getch();switch(select1)'1:Calculation(note,nbreakcase');;'2:Sort(note,nbreakcase');'3:Sort2(note,breakcase&
14、#39;n);while('0'!=select1);break;case'3':Find(note,&n);break;while('0'!=select);return0;voidShowUI()system("cls");printf(printf(printf(printf(printf(printf(清屏函数"nntt*n-1tt*tt*tt*tt*-"nntt*n");入*n");取*n");询*n");出*n"););voidShowS
15、ubmenu()system("cls");/清屏函数printf"nntt*(printf(printf(printf(printf(printf(*n"1tt*2 tt*3 tt*0tt*"nntt计算每个人每种产品的销售额按销售额对销售员进行排统计每种产品的总销售额返回*n"*n");*n");*n");*n");););intIsNumber(chars)insign=1t;/标记是否为数字inn=0;t记录有几个小数点ini=0t;for(i=0;'0'!=si;i+)
16、if(!isdigit(si)&&'.!=si)sign=0;break;elseif('.'=si&&(+n)>=2)sign=0;break;returnsign;voidInput()FILE*fp=NULL;charch='0'/是否继续录入chars100;Notenote;inti=0;prin tf( gets( s);”请输入要录入信息的文/件名:读入存储信息的文件名");do/ab+打开或新建一个二进制文件,可以读,但只允许在文件末尾追写if(fp=fopen(s,"ab+&qu
17、ot;)=NULL)printf("文件打开失败。n");getch();return;doprintf(”请输入销售员的代号(14):");gets(s);note.no=atoi(s);if(note.no<1|note.no>4)doprintf("销售员代号输入错误,请重新输入:");gets(s);note.no=atoi(s);while(note.no<1|note.no>4);for(i=0;i<5;i+)printf("请输入%c产品销售额:",'A'+i);g
18、ets(s);note.salesVolumei=atof(s);if(!IsNumber(s)printf(输入:",'A'+i);gets(s);note.salesVolumei=atof(s);while(!IsNumber(s);"%c产品销售额输入错误,请重新fprintf(fp,"%d%f%f%f%f%frn",note.no,note.salesVolume0,note.salesVolume1,note.salesVolume2,note.salesVolume3,note.salesVolume4);printf(&q
19、uot;按Y继续录入,其他按键退由。nn");ch=getch();while('Y'=ch|'y'=ch);fclose(f关闭文件P);voidRead(Notei*n)note口,ntFILE*fp=NULL;*n=0;prin tf( gets( s);chars100;/重置”请输入要读取信息的文");件名:/读入存储信息的文件名/ab+打开或新建一个二进制文件,可以读,但只允许在文件末尾追写if(fp=fopen(s,"rb")=NULL)printf("文件打开失败。n");getch()
20、;return;fseek(fp,0,SEEK_SET);/文件指针定位到开头dofscanf(fp,"%d%f%f%f%f%frn",&(note*n.no),&(note*n.salesVolume0),&(note*n.salesVolume1),&(note*n.salesVolume2),&(note*n.salesVolume3),&(note*n.salesVolume4);(*n)+;while(!feof(fp);fseek(fp,0,if(ftell<=0)*n=0;SEEK_END);fclose(
21、fp);n)/记录五种产品的销售额for (i=1;i<5;i+)/遍历所有销售员的代号voidNotenote,Calculation(intinti=0,j=0,k=0;floatsalesVolume5=0.0;for(j=0;j<5;j+)/初始化salesVolumej=0.0;for(j=0;j<n;j+)if(i=notej.no)for(k=0;k<5;k+)salesVolumek+=(notej.salesVolumek);printf("销售员d:n",i);for(j=0;j<5;j+)printf("t%c产
22、品销售额:%fn",'A'+j,salesVolumej);getch();voidFind(Notenote,int*n)intno=0;查询代号inti=0,j=0;chars100;Read(note,n);/先读入数据printf("请输入销售员的代号(14)进行查询:");gets(s);no=atoi(s);if(no<1|no>4)doprintf("销售员代号输入错误,请重新输入:");gets(s);no=atoi(s);while(no<1|no>4);for(i=0;i<*n;
23、i+)if(no=notei.no)printf("销售员d:n",no);for(j=0;j<5;j+)printf("t%c产品销售额:%fn",'A'+j,notei.salesVolumej);getch();voidSort(Notenoten),intNoAndSumnoandsum4;NoAndSumt;inti=0,j=0,k=0;for(i=0;i<4;i+)/初始化noandsumi.no=i+1;noandsumi.salesVolume=0.0;for(i=0;i<4;i+)for(j=0;j<n;j+)if(noandsumi.no=notej.no)for(k=0;k<5;k+)notej.salesVolumek);(noandsumi.salesVolume)+=(for(i=0;i<4;i+)/冒泡排序for(j=i+1;j<4;j+)if(noandsumi.salesVolume<noandsumj.salesVolume)t.no=noandsumi.no;t.salesVolume=noandsumi.salesVolume;noandsumi.no=noandsumj.no;noandsumi.s
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年的合同延续与权利转让协议样本
- 2025年企业租赁新能源汽车合作合同
- 2025年企业市场营销策划委托协议书样本
- 2025年合作伙伴店铺联合经营协议
- 2025年共发展合作协议示例
- 2025年居民小区消防系统设计申请与施工协议
- 2025年先进技术许可合同规范模板
- 2025年全球贸易增长与多边合作协议
- 2025年协作一致行动人协议样本
- 2025年大型卡车租赁服务合同
- 《万以内数的认识》大单元整体设计
- 中医护理质量敏感指标的构建
- 聚焦幼儿作品分析的游戏观察与评价
- 创伤性脑疝查房
- 农村常见传染病预防知识讲座
- XX医院网络及设备巡检记录表
- 开龙IT2021使用手册
- 《赵匡胤:北宋的开国皇帝》
- 蒸压加气混凝土砌块干燥收缩检测记录11969-2020
- 2023-2024学年第二学期人教版英语五年级教学计划(含进度表)
- 负债质量管理办法
评论
0/150
提交评论