C语言课程设计销售管理系统.docx

上传人:b****9 文档编号:24961339 上传时间:2023-06-03 格式:DOCX 页数:19 大小:77.70KB
下载 相关 举报
C语言课程设计销售管理系统.docx_第1页
第1页 / 共19页
C语言课程设计销售管理系统.docx_第2页
第2页 / 共19页
C语言课程设计销售管理系统.docx_第3页
第3页 / 共19页
C语言课程设计销售管理系统.docx_第4页
第4页 / 共19页
C语言课程设计销售管理系统.docx_第5页
第5页 / 共19页
点击查看更多>>
下载资源
资源描述

C语言课程设计销售管理系统.docx

《C语言课程设计销售管理系统.docx》由会员分享,可在线阅读,更多相关《C语言课程设计销售管理系统.docx(19页珍藏版)》请在冰豆网上搜索。

C语言课程设计销售管理系统.docx

C语言课程设计销售管理系统

C)计算机高级语言课程设计(

姓名:

学号:

院(系):

专业:

指导教师:

职称

月2010年09

题目:

销售管理系统

月年09时间:

2010【问题描述】。

每个销售),负责销售五种产品(编号:

1~5某公司有四个销售员(编号:

1~4)销售1)员都将当天出售的每种产品各写一张便条交上来。

每张便条包含内容:

(3)这种产品当天的销售额员的代号

(2)产品的代号(编写一张便条。

假设收集到了上个月的所有便条,每位销售员每天可能上缴0~5个处理系统,读取上个月的销售情况(自己设定)。

【基本要求】计算上个月每人每种产品的销售额。

(1)按销售额对销售员进行排序,输出排序结果(销售员代号))(2

统计每种产品的总销售额,对这些产品按从高到低的顺序输出排序结果(3)(需输出产品的代号和销售额)输出统计报表4)(

、需求分析1根据题目的要求采用结构体数组和文件系统实现,结构体成员包括销售员代

号,产品代号,销售额。

排序算法采用选择排序算法。

输出统计报表形式按照题目给出的形式在屏幕上相应位置输出内容。

、设计2)设计思想(11)定义如下:

structgoods

{intp_num;

intnum;

intg_num;

}s[max];

structpersons

{intnum[7];

}p[6],w;

intn=max;/

2)文件结构

总共有如下文件:

stdio.h就是指“standardinput&output:

意思就是说标准输入输出头文件!

所以了,用到标准输入输出函数时,就要调用这个头文件!

conio.h不是C标准库中的头文件。

conio是ConsoleInput/Output(控制台输入输出)的简写,其中定义了通过控制台进行数据输入和数据输出的函数,主要是一些用户通过按键盘产生的对应操作。

3)计算每个人每种产品的销售额,每种产品的销售额,每个人的销售额

intarg()

{

intk,a,j;

for(k=1;k<=5;k++)

{p[0].num[k]=k;

for(a=1;a<=6;a++)

p[k].num[a]=0;

}

for(k=1;k<=4;k++)

p[k].num[0]=k;

for(k=1;k<=4;k++)

for(a=1;a<=5;a++)

for(j=0;j

if(s[j].p_num==k&&s[j].g_num==a)

p[k].num[a]+=s[j].num;/*每个人每种产品的销售额*/

for(a=1;a<=5;a++)

for(k=1;k<=4;k++)

p[5].num[a]=p[5].num[a]+p[k].num[a];/*每种产品的销售额*/

for(k=1;k<=5;k++)

for(a=1;a<=5;a++)

p[k].num[6]+=p[k].num[a];/*每个人的销售额*/

}

4)统计每个人每种产品的销售额

intoutput1()

{inti,k;

printf(**************Theconditionofeveryone'sg_monlast

month:

**********\n\n);

printf(g_num\np_num\t);

for(k=1;k<=5;k++)

printf(%d\t,p[0].num[k]);

printf(\

\n);

for(i=1;i<=4;i++)

{

for(k=0;k<=5;k++)

printf(%d\t,p[i].num[k]);

printf(\

\n);

}

mulu();

}

5)按销售额对销售员进行排序,输出排序结果(销售员代号)

intoutput2()

{

inti,k,j;

for(i=1;i<4;++i)

{

k=i;

for(j=i+1;j<=4;j++)

if(p[k].num[6]

k=j;

if(k!

=i)

{w=p[i];

p[i]=p[k];

p[k]=w;

}

}

printf(\

\n\n\n\n\n*********Orderofpeoplebygoods'

sum**********\n\n);

printf(p_num\tsum_mon\n);

for(i=1;i<=4;i++)

printf(%d\t\t%d\n,p[i].num[0],p[i].num[6]);

mulu();

}

6)统计每种产品的总销售额,对这些产品按从高到底的顺序,输出排序结果

intoutput3()

{

intk,i,r,t;

for(k=1;k<5;k++)

{

r=k;

for(t=k+1;t<=5;t++)

if(p[5].num[r]

if(r!

=k)

for(i=0;i<=5;i++)

{p[i].num[6]=p[i].num[k];

p[i].num[k]=p[i].num[r];

p[i].num[r]=p[i].num[6];

}

}

printf(\

\n\n\n\n*****Orderofeachgoodbytotalsum*****\n\n);

printf(g_numsum_mon\n);

for(k=1;k<=5;k++)

printf(%d\t\t%d\n,p[0].num[k],p[5].num[k]);

mulu();

}

7)输出统计报表

intoutput4()

{inti,k;

intflage=0;

printf(\

\t\t****Reportformsofgoods****\n\n\n);

printf(g_num\np_num\t1\t2\t3\t4\t5\tsum\n\n);

for(i=1;i<=4;i++)

{for(k=0;k<=6;k++)

printf(%d\t,p[i].num[k]);

printf(\

\n);

}

printf(otal\t);

for(k=1;k<=6;k++)

printf(%d\t,p[5].num[k]);

8)保存文件

intsave()

{

FILE*fp;

inti,k;

if((fp=fopen(date.txt,w))==NULL)

{

printf(\

Cannotopenthefile,pleasepressanykeytoescape!

);

exit

(1);

}

fprintf(fp,g_num

\r\np_num\t1\t2\t3\t4\t5\tsum\r\n);

for(i=1;i<=4;i++)

{for(k=0;k<=6;k++)

fprintf(fp,%d\t,p[i].num[k]);

fprintf(fp,\

\n);

}

fprintf(fp,otal);

for(k=1;k<=6;k++)

fprintf(fp,%d\t,p[5].num[k]);

fclose(fp);

3)程序流程图开始

输入&[n].p.num

S[n].p.num!

=(0)

NY

输入每个人的销售额统计每种产品的总销售额,底的顺序排序

&s[n].g.num每种产品销售额

&s[n].num

break

每个人每种产品的销售额

统计每个人每种产品销售额Output1()对这些产品按从高到

output2()

按销售额对销售员进行排序output3()

保存文件

输出统计报表Y

output4()

Flage==0

N

save()

结束

(2)总体设计

#include

#include/*控制台输入输出*/

#definemax620

structgoods

{intp_num;

intnum;

intg_num;

}s[max];

structpersons

{intnum[7];

}p[6],w;

/*主函数*/

intn=max;/*全局变量*/

main()

{

intinput(),output1(),output2(),output3(),output4();

intarg(),mulu();

intsave();

printf(\n\n\n\t\t\t*******THEPROJECT********\n\n\n);

printf(Pleaseinputtheinformations:

(overto0)\n\np_num(1~4)g_num(1~5)

g_mon\n);

printf(\

);

for(n=0;n

{scanf(%d,&s[n].p_num);

if(s[n].p_num!

=(0))scanf(%d%d,&s[n].g_num,&s[n].num),

printf(\

);

elsebreak;

}

mulu();

}

/*目录*/

intmulu()

{intchoice;

arg();

do

{

*******THEPROJECT********\n\n);printf(\n\n\t\t\t

\n);printf(.计算上个月每个人每种产品的销售额

\n);输出排序结果,按销售额对销售员进行排序printf(.

printf(.统计每种产品的总销售额,对这这些产品按从高到低的顺序输出排序结果\n);

printf(.输出统计表\n\n);

printf(退出\n\n);

printf(PleaseChoose(0-4):

);

scanf(%d,&choice);

switch(choice)

{

case1:

output1();break;

case2:

output2();break;

case3:

output3();break;

case4:

output4();break;

case0:

exit(0);break;

}

}while(choice!

=0);return1;

}

intarg()

{

intk,a,j;

for(k=1;k<=5;k++)

{p[0].num[k]=k;

for(a=1;a<=6;a++)

p[k].num[a]=0;

}

for(k=1;k<=4;k++)

p[k].num[0]=k;

for(k=1;k<=4;k++)

for(a=1;a<=5;a++)

for(j=0;j

if(s[j].p_num==k&&s[j].g_num==a)

p[k].num[a]+=s[j].num;/*每个人每种产品的销售额*/

for(a=1;a<=5;a++)

for(k=1;k<=4;k++)

p[5].num[a]=p[5].num[a]+p[k].num[a];/*每种产品的销售额*/

for(k=1;k<=5;k++)

for(a=1;a<=5;a++)

p[k].num[6]+=p[k].num[a];/*每个人的销售额*/

return1;

}

intoutput1()

{inti,k;

printf(**************Theconditionofeveryone'sg_monlast

month:

**********\n\n);

printf(g_num\np_num\t);

for(k=1;k<=5;k++)

printf(%d\t,p[0].num[k]);

printf(\

\n);

for(i=1;i<=4;i++)

{

for(k=0;k<=5;k++)

printf(%d\t,p[i].num[k]);

printf(\

\n);

}

mulu();return1;

}

/*按销售额对销售员进行排序,输出排序结果(销售员代号)*/

intoutput2()

{

inti,k,j;

for(i=1;i<4;++i)

{

k=i;

for(j=i+1;j<=4;j++)

if(p[k].num[6]

k=j;

if(k!

=i)

{w=p[i];

p[i]=p[k];

p[k]=w;

}

}

printf(\

\n\n\n\n\n*********Orderofpeoplebygoods'sum**********\n\n);

printf(p_num\tsum_mon\n);

for(i=1;i<=4;i++)

printf(%d\t\t%d\n,p[i].num[0],p[i].num[6]);

mulu();return1;

}

/*统计每种产品的总销售额,对这些产品按从高到底的顺序,输出排序结果*/

intoutput3()

{

intk,i,r,t;

for(k=1;k<5;k++)

{

r=k;

for(t=k+1;t<=5;t++)

if(p[5].num[r]

if(r!

=k)

for(i=0;i<=5;i++)

{p[i].num[6]=p[i].num[k];

p[i].num[k]=p[i].num[r];

p[i].num[r]=p[i].num[6];

}

}

printf(\

\n\n\n\n*****Orderofeachgoodbytotalsum*****\n\n);

printf(g_numsum_mon\n);

for(k=1;k<=5;k++)

printf(%d\t\t%d\n,p[0].num[k],p[5].num[k]);

mulu();return1;

}

/*输出统计报表*/

intoutput4()

{inti,k;

intflage=0;

printf(\

\t\t****Reportformsofgoods****\n\n\n);

printf(g_num\np_num\t1\t2\t3\t4\t5\tsum\n\n);

for(i=1;i<=4;i++)

{for(k=0;k<=6;k++)

printf(%d\t,p[i].num[k]);

printf(\

\n);

}

printf(otal\t);

for(k=1;k<=6;k++)

printf(%d\t,p[5].num[k]);

if(flage==0)/*保证只存一次,到(date.txt)*/

{save();

flage=1;

printf(\

\nTheinformationhasbeensavedsuccessfully!

-(File:

date.txt));

}

mulu();return1;

}

/*保存文件*/

intsave()

{

FILE*fp;

inti,k;

if((fp=fopen(date.txt,w))==NULL)

{

printf(\

Cannotopenthefile,pleasepressanykeytoescape!

);

exit

(1);

}

fprintf(fp,g_num\r\np_num\t1\t2\t3\t4\t5\tsum\r\n);

for(i=1;i<=4;i++)

{for(k=0;k<=6;k++)

fprintf(fp,%d\t,p[i].num[k]);

fprintf(fp,\

\n);

}

fprintf(fp,otal);

for(k=1;k<=6;k++)

fprintf(fp,%d\t,p[5].num[k]);

fclose(fp);return1;

}3、附图

4、总结

本次C语言课程设计对我来说是一个挑战。

因为虽然之前对C语言进行过一定的学习,但开始接触的无非是变量,函数,条件语句。

循环语句等基本概念,要真正能进行编程应用,需要在在深入理解这些概念的基础上应用,不要只简单地学习语法,结构,而要吃透针对这些语法结构的应用例子,做到触类旁通。

此次C语言课程设计历时七天,虽说不上一波三折,但过程绝不轻松。

对C语言进行学习已经是上上个学期的事情了,如今在过了快半年多之后再进行课程设计,难免前面的知识会遗忘,这对课程设计的开展无疑是一个阻碍。

刚开始根本觉得无从下手,前面两天基本什么都没做,一心一意看了两天书,感觉才好一点,那些基础的知识觉得又回来了,这才开始进行设计。

都说万事开头难,虽然头是开了,但后面的工作远没有想象中的简单和顺利。

因为从来没有接触过这方面的东西,做起来肯定会有一点吃力,很多次都没有勇气继续下去了,自己都对自己没有信心了,一个模块要编好长时间,而且运行起来还是错误百出,急也急死人,幸好在同学和朋友的鼓励之下坚持了下来,好多地方不清楚的,就问一下学计算机的朋友,然后回去自己再进行思考,揣摩,尽量把它消化吸收,变成自己的东西,因为既然付出了时间和努力,就要学到一些东西,不虚度光阴才好。

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 法律文书 > 起诉状

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1