《2022年C语言销售管理完整.docx》由会员分享,可在线阅读,更多相关《2022年C语言销售管理完整.docx(28页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、精品学习资源1设计内容1、程序设计(包括框图设计、源程序编辑、编译、调试)2、对问题有完整的分析过程,要求把分析设计过程写入报告3、编写设计报告本程序设计的主要内容:1. 1 销售治理系统该系统是一个销售治理系统,即对某公司有四个销售员(编号:1-4 ),负责销售五种产品(编号: 1-5 )进行合理管制;每个销售员都将当天出售的每种产品各写一张便条交上来;每张便条包含内容:1) 销售员的代号2) 产品的代号3) 这种产品的当天的销售额每位销售员每天可能上缴 0-5 张便条;假设,收集到了上个月的全部便条,编写一个处理系统,读取上个月的销售情形(自己设定),进行如下处理;1) 运算上个月每个人每
2、种产品的销售额;2) 按销售额对销售员进行排序,输出排序结果(销售员代号)3) 统计每种产品的总销售额,对这些产品按从高到底的次序,输出排序结果(需输出产品的代号和销售额)4) 输出统计报表2. 设计目的与要求2.1 设计目的1. 进一步把握运用 C进行程序设计的才能;3. 进一步懂得和运用面对过程程序设计的思想和方法;3. 初步把握开发一个小型有用系统的基本方法;4. 学会调试一个较长程序的基本方法;5. 学会利用互联网查找相关的学问并学习;2.2 要求含设计中用到的相关技术的说明或讲解介绍和正文两大部份;欢迎下载精品学习资源正文包括以下 7 个内容: 1需求分析以无歧义的陈述说明程序设计的
3、任务,强调的是程序要做什么?并明确规定:(1) 输入的形式和输入值的范畴;(2) 输出的形式;(3) 程序所能达到的功能;(4) 测试数据:包括正确的输入及其输出结果和含有错误的输入及其输出结果;2. 概要设计说明本程序中用到的全部抽象数据类型的定义、主程序的流程以及各程序模块之间的层次 调用关系;3. 详细设计实现概要设计中定义的全部类,对每个操作只需要写出伪码算法;可接受流程图等进行描述,画出函数和过程的调用关系图;4. 调试分析内容包括:a调试过程中遇到的问题是如何解决的以及对设计与实现的回忆争辩和分析; b改进设想;c体会和体会等;5. 用户使用说明说明如何使用你编写的程序,详细列出每
4、一步的操作步骤;6. 测试结果列出你的测试结果,包括输入和输出;这里的测试数据应当完整和严格,最好多于需求分析中所列;7、课程设计总结;8、源程序(主要函数代码,并附说明);9. 参考文献列出参考的相关资料和书籍;10. 加封面(接受统一格式)之后装订;3. 设计原理欢迎下载精品学习资源该软件系本人经过两周时间完成, 其中每一步都有较为详细的提示. 当用户进入这个程序时 , 系统会显现一个主菜单,有七个功能,进商品销售治理系统;输入商品信息;删除与更换信息;确认购买并输入购买信息;系统信息统计系统;储存全部信息写入文件,读取一份已存在的信息,退出系统;本程序是通过对文件的读写来实现的,主要运用
5、了循环、数组结构,对数据的输入、修改、删除的连续进行,进入系统后,能够依据提示进行输入、修改、删除以及查询等功能;在输入信息的时候,可以依据提示进行重复输入多个信息,修改、删 除、查询也可以重复使用,这些就是运用的循环结构;在输入、修改、删除、查询信息、信息写入文件、读取信息、退出系统时该系统会用( 1 退出系统 2连续)提示你;留意:在使用过程中,查询商品时只能先输入商品的代号;输入的各项数据不能超过其本身设定的最大的位数;4. 详细设计开头编译运行有有/错无MAIN调用 MENUK=0K 0EXIT连接调用各个功能函数( K= ?)4.1 系统的总体流程图欢迎下载精品学习资源执行错误输入正
6、确图 4.1系统流程图4.2 各功能函数流程图图 4.2 main 函数流程图图 4.3insert函数流程图图 4.4 renew函数流程图图 4.5 seek函数流程图4.6 save函数流程图欢迎下载精品学习资源5. 1 程序运行图 4.7statistics函数流程图5运行结果与分析欢迎下载精品学习资源(1). 第一次使用这个软件的时;图 5.1 系统对话框欢迎下载精品学习资源(2). 输入销售员销售信息图 5.2 “商品输入信息”窗口( 3). 进入系统输入销售员代号查询销售员的销售信息;图 5.3 查询窗口( 4). 进入系统按“ 4”就可以更换销售员的销售信息;欢迎下载精品学习资
7、源5 2 程序分析图 5.4 显示修改循环输入窗口欢迎下载精品学习资源1. 程序要写正确,不然不能读出;2. 信息代码也要输入正确,依据程序要求输入,不然正确输出信息;3. 循环与否点击您是否连续进行信息录入(y/n )即可;6总结这次课程设计虽然只有短短的两周时间,但此过程中我得到的收成却没有时间的界限;在这期间,我有刚开头对于设计的茫然,也有设计过程中面对不熟识的学问的焦急,更有面对程序运行出错时的惆怅,同时仍有当自己把设计的思路一点点想清 楚,把程序代码上显现的错误一个个改正确,把程序成功运行出来的那份难以表述的欢快!成功的背后有过一丝丝彷徨,但拨开乌云的天空通常看到的是美丽的彩虹!对于
8、我精神上的收成的确不少,学习上也受益匪浅;通过这次“销售治理系统”课题的设计,通过这个阶段的实践,使我对C 语言进行了深化的学习;同时设计的过程中,为了实现预期的功能,我利用了图书馆内相关的资料进行参考,也使我懂得一些初次学习过程中不太熟识的学问;在实践中,我利用图书馆和网络,查找了相关的信息;也明确在以后的学习过程中,我应当多利用这些有效的途径来充实自己的学问点,学习得更深化,“善假于物”也是一种有效的学习方法;在程序调试的过程中,遇到了好几个自己没能准时解决的问题,我选择的是请教老师和同学,在你们的指导下,我成功调试出程序;学习的过程除了需要自己要独立摸索问题之外,仍应当要有与他人的互动;
9、我想这也就是集体的聪慧,团结的力欢迎下载精品学习资源量!在此过程中,我也发觉了许多自己的不足;在我刚开头设计的时候,头脑里没有一点清晰的思路,这就与平常自己看得少,练得少有关系;所以我觉得学习任何一门语言仍是需要多看书,多编写程序,特别是当自己突然有一丝灵感的时候,最好记录下来,甚至把它想出来,想明白;实践的过程中,要明确自己写这些程序是为了达到什么目的,实践后,要考虑这样编写是不是最好的,仍能不能做其它方法来做,在编写这个程序中遇到了什么样的错误,为什么会遇到,以后应当怎样防止;这样的学 习,就会更深化,学习得更好!致谢在此我要向对我们的实践进行指导的熊茜老师,仍有在程序调试过程中请教的同学
10、进行感谢,感谢你们给我们供应的帮忙,使我的设计得以成功的实现各项功能;再次向您们致以最真诚的感谢!参考文献1 谭浩强等 .C 语言程序设计教程 . 北京:高等训练出版社, 19972 谭浩强.C 程序设计 . 第 2 版. 北京:清华高校出版社, 19993 郭浩志.C 语言程序设计 . 北京. 北京邮电高校出版社, 20054 C 陷阱与缺陷 . 北京: 人民邮电出版社 ,20215 谭浩强、张基温 . C 语言程序设计教程 . 北京:高等训练出版社, 20066 C 程序设计经典教程 . 北京: 清华高校出版社 ,2006程序清单#include #include #include #in
11、clude #define null 0 struct sellerint num ;char sex ;欢迎下载精品学习资源char name8 ;int apple; int grape; int banana; int pear;int watermellon;int sum ;sell4;struct fruiteint num ;int p_num10;int f_num;int sum ;f5;int n;char f_name10;void insert;void renew;void seek; void change;void statistics;void save ;vo
12、id ask1 ;void ask2 ;void load ;void menuprintfn*欢迎进入销售治理系统*nn;欢迎下载精品学习资源printf t ttt1:数据插入 nn;printf t ttt2:数据更新 nn;printf t ttt3:数据查询 nn;printf t ttt4:数据更换 nn;printf tttt5:数据统计 nn;printf tttt6:数据储存 nn;printf tttt7:退出系统 nn;printf*;printfn请输入你要执行的任务 : ;void mainchar t;int i=0,k=0;systemcolor 2e;menu;
13、fori=1;i5 ;i+selli.num=i; ;sell0.sex=M;strcpysell0.name,张华 ;sell1.sex=F;strcpysell1.name,向文 ;sell2.sex=F;strcpysell2.name,王丽 ;sell3.sex=M;/初始化strcpysell3.name,李刚 ;f0.num=001 ;欢迎下载精品学习资源f1.num=002 ;f2.num=003 ;f3.num=004 ;f4.num=005 ;fori=0;i4 ;i+selli.apple=0;selli.grape=0;selli.banana=0;selli.pear=
14、0;selli.watermellon=0;selli.sum=0;fori=0;i5 ;i+fi.f_num=0;fi.sum=0; whilet.=7scanf%c,&t;switchtcase1:insert;break ;case2:renew;ask2 ;break ;case3:seek;break ;case4:change;break ;case5:statistics;ask1 ;break ;case6:save;break ;case7:exit0;default:printf请输入任务范畴内的数 : ;欢迎下载精品学习资源t=getchar;getch;void ins
15、ertint i=0,j=0,k=0,l=0;putcharn;printf你是要手动插入仍是从文件读入 nn 1手动2读入nn您选择: ;scanf%d,&i;ifi=1printf请输入你要插入的天数: ;scanf%d,&n;printf第 1 号的销售额 n ;forj=0;j4 ;j+forl=0;l5 ;l+ fl.f_num=0;fork=0;k5;k+printf请输入 00%d号水果的一星期销售额:n,k+1;fori=0;in ;i+ 据输入/数scanf%d,&fk.p_numi;fk.f_num=fk.p_numi+fk.f_num;欢迎下载精品学习资源sellj.ap
16、ple=f0.f_num;sellj.grape=f1.f_num;sellj.banana=f2.f_num;sellj.pear=f3.f_num;sellj.watermellon=f4.f_numprintf第%d号的销售额 ,j+2;printfbbbbbbbbbbbbb输入完毕,任意键确定;getch;systemcolor 2e;systemcls;menu ;putcharn;ifi=2load ;void renew/数据更新int t;int i=0,j=0,k=0;printf您是否为第一次更新 .1是2否n ;欢迎下载精品学习资源ift=2scanf%d,&t;欢迎下载
17、精品学习资源fori=0;i5 ;i+fi.sum=0;forj=0;j4 ;j+欢迎下载精品学习资源f0.sum=sellj.apple+f0.sum;forj=0;j4 ;j+ f1.sum=sellj.grape+f1.sum;forj=0;j4 ;j+f2.sum=sellj.banana+f2.sum;forj=0;j4 ;j+ f3.sum=sellj.pear+f3.sum;forj=0;j4 ;j+ f4.sum=sellj.watermellon+f4.sum;fori=0;i4 ;i+selli.sum=selli.apple+selli.grape+selli.banan
18、a+selli.pear+selli.watermellon;void seek/数据查询int t,s,c,e,d;systemcls;printfnn*欢迎进行信息查询*nn;doprintf您要查询的是单个产品仍是销售额排序nn* 1单个产品* 2整体排序 n ;scanf%d,&t;ift=1printfnn*您是要对下面哪个进行查询 *:nn*欢迎下载精品学习资源1 销售员n*2产品 n您选择: ;scanf%d,&t;ift=1doprintfn*请输入该销售员的编号 * n您选择: ;scanf%d,&s;switchscase 1:printfnt%s销售总额为 %dn,sel
19、l0.name,sell0.sum;break ;case 2:printfnt%s销售总额为 %dn,sell1.name,sell1.sum;break ;case 3:printfnt%s销售总额为%dn,sell2.name,sell2.sum;break ;case 4:printfnt%s销售总额为%dn,sell3.name,sell3.sum;break ;default:printf请输入正确的编号 n ;printfnn数字 1 返回上一层,任意键连续查询销售员信息.n;scanf%d,&c;ifc=1s=0 ;whiles.=0;ift=2doprintfn*请输入你要查
20、询的产品代号 *: ;欢迎下载精品学习资源printfn* apple1n;printf* grape2n;printf* banana3n;printf* pear4n;printf* watermellon5n;scanf%d,&s;switchscase 1:printfapple销售总额为 %dn,f0.sum;break ;case 2:printfgrape销售总额为 %dn,f1.sum;break ;case 3:printfbanana销售总额为 %dn,f2.sum;break ;case 4:printf pear销售总额为 %dn,f3.sum;break ;case
21、5:printfwatermellon销售总额为%dn,f4.sum;break ;default:printf请输入正确的编号 n ;printfnn*欢迎回到信息查询主页*nn;printfn返回上一层输入 1连续查询任意键 .nn;scanf%d,&c;ifc=1s=0 ;whiles.=0;ift=2doprintf*请输入您要查询的对象 *n;欢迎下载精品学习资源printf*对销售员排序查询请输入1n*对产品排序查询输入2n ;scanf%d,&e;ife=1printf编号为%-10d%-10d%-10d%- 10dn,sell0.num,sell1.num,sell2.num,
22、sell3.num;printf名字为 %-10s%-10s%-10s% - 10sn,sell0.name,sell1.name,sell2.name,sell3.name;printf%-10d%-10d%-10d%- 10dnnn,sell0.sum,sell1.sum,sell2.sum,sell3.sum;ife=2printf编号为 00%-10d 00%-10d 00%-10d 00%-10d 00%- 10dn,f0.num,f1.num,f2.num,f3.num,f4.num;printf%-10d%-10d%-10d%-10d%- 10dnn,f0.sum,f1.sum,
23、f2.sum,f3.sum,f4.sum;printf返回上一层请输入 1任意键连续 n ;scanf%d,&d;whiled.=1;printf返回上一层请输入 1任意键连续 n ;scanf%d,&d;whiled.=1;systemcls;menu;putcharn;欢迎下载精品学习资源void change /数据更换int s,c;char t;doprintf请输入你要更换的销售员编号及产品编号n ;printf*scanf%d,&s;销售员编号:n;t=getchar;printf*产品编号:n;printf* apple1n;printf* grapeprintf* banan
24、a2n3n;printf* pearprintf* watermellon4n5n;scanf%c,&t;switchs/搜寻数据case 1:switchtcase 1:printf你要更换的人为 %s, 原始数据为 %dt 更换为:,sell0.name,sell0.apple;scanf%d,&sell0.apple;break ;case 2:printf你要更换的人为 %s, 原始数据为 %dt 更换为:,sell0.name,sell0.grape;scanf%d,&sell0.grape;break ;case 3:printf你要更换的人为 %s, 原始数据为 %dt 更换为:
25、,sell0.name,sell0.banana;scanf%d,&sell0.banana;break ;欢迎下载精品学习资源case 4:printf你要更换的人为 %s, 原始数据为 %dt 更换为:,sell0.name,sell0.pear;scanf%d,&sell0.pear;break ;case 5:printf你要更换的人为 %s, 原始数据为 %dt 更换为:,sell0.name,sell0.watermellon;scanf%d,&sell0.watermellon;break ;default:printf请输入正确的产品编号 n;break ;case 2:swi
26、tchtcase 1:printf你要更换的人为 %s, 原始数据为 %dt 更换为:,sell1.name,sell1.apple;scanf%d,&sell0.apple;break ;case 2:printf你要更换的人为 %s, 原始数据为 %dt 更换为:,sell1.name,sell1.grape;scanf%d,&sell0.grape;break ;case 3:printf你要更换的人为 %s, 原始数据为 %dt 更换为:,sell1.name,sell1.banana;scanf%d,&sell0.banana;break ;case 4:printf你要更换的人为
27、%s, 原始数据为 %dt 更换为:,sell1.name,sell1.pear;scanf%d,&sell0.pear;break ;case 5:printf你要更换的人为 %s, 原始数据为 %dt 更换为:,sell1.name,sell1.watermellon;scanf%d,&sell0.watermellon;break ;default:printf请输入正确的产品编号 g;break ;case 3:switchtcase 1:printf你要更换的人为 %s, 原始数据为 %dt 更换为:,sell2.name,sell2.apple;欢迎下载精品学习资源scanf%d,
28、&sell0.apple;break ;case 2:printf你要更换的人为 %s, 原始数据为 %dt 更换为:,sell2.name,sell2.grape;scanf%d,&sell0.grape;break ;case 3:printf你要更换的人为 %s, 原始数据为 %dt 更换为:,sell2.name,sell2.banana;scanf%d,&sell0.banana;break ;case 4:printf你要更换的人为 %s, 原始数据为 %dt 更换为:,sell2.name,sell2.pear;scanf%d,&sell0.pear;break ;case 5:
29、printf你要更换的人为 %s, 原始数据为 %dt 更换为:,sell2.name,sell2.watermellonscanf%d,&sell0.watermellon;break ;default:printf请输入正确的产品编号;break ;case 4:switchtcase 1:printf你要更换的人为 %s, 原始数据为 %dt 更换为:,sell3.name,sell3.apple;scanf%d,&sell0.apple;break ;case 2:printf你要更换的人为 %s, 原始数据为 %dt 更换为:,sell3.name,sell3.grape;scanf
30、%d,&sell0.grape;break ;case 3:printf你要更换的人为 %s, 原始数据为 %dt 更换为:,sell3.name,sell3.banana;scanf%d,&sell0.banana;break ;case 4:printf你要更换的人为 %s, 原始数据为 %dt 更换为:,sell3.name,sell3.pear;scanf%d,&sell0.pear;break ;case 5:printf你要更换的人为 %s, 原始数据为 %dt 更换为:,sell3.name,sell3.watermellon;欢迎下载精品学习资源scanf%d,&sell0.w
31、atermellon;break ;default:printf请输入正确的产品编号 ;break ;case 5:exit0;default :printf请输入正确的销售员编号 n ;printf数据的更换已转变整体数据,是否马上进行更新及统计:nn1 :是 2 :稍后: ;scanf%d,&c;ifc=1renew ;statistics;printfnn数据已更新并统计 nn;elseprintf数据未更新 n ;printf返回上一层输入 1连续输入输入任意整数 n ;scanf%d,&c;ifc=1s=0 ;whiles.=0;systemcls;menu ;putcharn;vo
32、id saveFILE *in;int i;printfn由于系统只能从 mage.txt中读取数据,您自己创建的文件可能无法读欢迎下载精品学习资源取,是否连续 n ;printfn1连续操作2接受系统文件 n 您选择: ;scanf%d,&i;ifi=1printf请输入你所要储存的文件名 n ;scanf%s,f_name;printf您已创建一文件,并且存盘 .; else strcpyf_name,mage.txt;printf您已将数据存到系统开创的文件mage.txt中,请查看 n ; ifin=fopenf_name,w=nullprintf不能打开文件 ;exit0;fprin
33、tfin,性别名字产品代号销售之和 n;fprintfin,销售员代号12345n ;/储存至文件fori=0;i4 ;i+fprintfin,%-10d%-10c%-10s%-10d%-10d%-10d%-10d%-selli.apple,selli.grape,selli.banana,selli.pear,selli.watermellon ;fprintfin,%-10d%-10d%-10d%-10d%- 10d,f0.sum,f1.sum,f2.sum,f3.sum,f4.sum;fclosein;putcharn;printfn输入任意键确定 n ;欢迎下载精品学习资源getch
34、; menu;putcharn;void statistics/统计 排序int i,j,temp;fori=0;i4 ;i+ forj=0;j3-j;j+ifsellj.sumsellj+1.sumtemp=sellj+1.sum;sellj+1.sum=sellj.sum;sellj.sum=temp;fori=0;i5 ;i+ forj=0;j4-j;j+iffj.sumfj+1.sumtemp=fj+1.sum;fj+1.sum=fj.sum;fj.sum=temp;void ask1int c;printfn统计完毕 .任意键确定 n ;欢迎下载精品学习资源getch;systemc
35、ls;menu ;putcharn;void ask2int c;printfnn数据已更新 .nn任意键确定 n ;getch ;systemcolor 2e;systemcls;menu;putcharn;void loadFILE *fp;int i;iffp=fopenmage.txt,rb=0printfcannot open the file pelase check.nn;exit0;fscanffp,性别名字产品代号销售之和 n ;fscanffp,销售员代号12345n ;fori=0;i4 ;i+fscanffp,%10d%10c%10s%10d%10d%10d%10d%10d,&selli.num+1,&selli.sex,&s欢迎下载精品学习资源&selli.apple,&selli.grape,&selli.banana,&selli.pear,&selli.waterm ellon;fscanffp,%10d%10d%10d%10d%10d,&f0.sum,&f1.sum,&f2.sum,&f3.sum,&f4.sum ;fclosefp;printfnn读入成功任意键确定 , 任意键可连续进行操作 .;getch ;systemcls;menu;
限制150内