C语言课程设计-销售管理系统.doc_第1页
C语言课程设计-销售管理系统.doc_第2页
已阅读5页,还剩7页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

计算机高级语言课程设计(c)姓名: 学号:院(系): 专业: 指导教师: 职称 2010年09月题目:销售管理系统时间:2010年09月【问题描述】某公司有四个销售员(编号:14),负责销售五种产品(编号:15)。每个销售员都将当天出售的每种产品各写一张便条交上来。每张便条包含内容:(1)销售员的代号(2)产品的代号(3)这种产品当天的销售额每位销售员每天可能上缴05张便条。假设收集到了上个月的所有便条,编写一个处理系统,读取上个月的销售情况(自己设定)。【基本要求】(1) 计算上个月每人每种产品的销售额。(2) 按销售额对销售员进行排序,输出排序结果(销售员代号)(3) 统计每种产品的总销售额,对这些产品按从高到低的顺序输出排序结果(需输出产品的代号和销售额)(4) 输出统计报表1、需求分析 根据题目的要求采用结构体数组和文件系统实现,结构体成员包括销售员代号,产品代号,销售额。排序算法采用选择排序算法。输出统计报表形式按照题目给出的形式在屏幕上相应位置输出内容。2、设计(1)设计思想1)定义如下:struct goodsint p_num; int num; int g_num; smax;struct personsint num7;p6,w;int n=max;/2)文件结构总共有如下文件: :stdio.h就是指“standard input&output 意思就是说标准输入输出头文件! 所以了,用到标准输入输出函数时,就要调用这个头文件! :conio.h不是c标准库中的头文件。 conio是console input/output(控制台输入输出)的简写,其中定义了通过控制台进行数据输入和数据输出的函数,主要是一些用户通过按键盘产生的对应操作。3)计算每个人每种产品的销售额,每种产品的销售额,每个人的销售额int arg()int k,a,j;for(k=1;k=5;k+) p0.numk=k; for(a=1;a=6;a+) pk.numa=0; for(k=1;k=4;k+) pk.num0=k; for(k=1;k=4;k+) for(a=1;a=5;a+) for(j=0;jn;j+) if(sj.p_num=k & sj.g_num=a) pk.numa+=sj.num; /*每个人每种产品的销售额*/ for(a=1;a=5;a+) for(k=1;k=4;k+) p5.numa=p5.numa+pk.numa; /*每种产品的销售额*/ for(k=1;k=5;k+) for(a=1;a=5;a+) pk.num6+=pk.numa; /*每个人的销售额*/4)统计每个人每种产品的销售额int output1() int i,k; printf(*the condition of everyones g_mon last month:*nn);printf(g_num np_numt);for(k=1;k=5;k+) printf(%dt,p0.numk); printf(nn); for(i=1;i=4;i+) for(k=0;k=5;k+) printf(%dt,pi.numk); printf(nn);mulu();5)按销售额对销售员进行排序,输出排序结果(销售员代号)int output2() int i,k,j; for(i=1;i4;+i) k=i; for(j=i+1;j=4;j+) if(pk.num6pj.num6) k=j; if(k!=i) w=pi; pi=pk; pk=w; printf(nnnnnn*order of people by goods sum*nn); printf(p_num tsum_mon n); for(i=1;i=4;i+) printf( %dtt %dn,pi.num0,pi.num6);mulu();6)统计每种产品的总销售额,对这些产品按从高到底的顺序,输出排序结果int output3() int k,i,r,t; for(k=1;k5;k+) r=k; for(t=k+1;t=5;t+) if(p5.numrp5.numt) r=t; if(r!=k) for(i=0;i=5;i+) pi.num6=pi.numk; pi.numk=pi.numr; pi.numr=pi.num6; printf(nnnnn*order of each good by total sum*nn); printf( g_num sum_monn); for(k=1;k=5;k+) printf( %dtt%d n,p0.numk,p5.numk); mulu(); 7)输出统计报表int output4() int i,k; int flage=0; printf(ntt*report forms of goods*nnn);printf( g_num np_numt1t2t3t4t5tsumnn); for(i=1;i=4;i+) for(k=0;k=6;k+) printf(%dt,pi.numk); printf(nn); printf(totalt); for(k=1;k=6;k+) printf(%dt,p5.numk);8)保存文件int save() file *fp; int i,k; if(fp=fopen(date.txt,w)=null) printf(ncan not open the file,please press any key to escape!); exit(1); fprintf(fp, g_num rnp_numt1t2t3t4t5tsumrn); for(i=1;i=4;i+) for(k=0;k=6;k+) fprintf(fp,%dt,pi.numk); fprintf(fp,rn); fprintf(fp,total ); for(k=1;k=6;k+) fprintf(fp,%dt,p5.numk);fclose(fp);3)程序流程图开始 输入&n.p.numsn.p.num!=(0) n y输入&sn.g.num &sn.numbreak每个人每种产品的销售额每个人的销售额每种产品销售额统计每个人每种产品销售额output1()统计每种产品的总销售额,对这些产品按从高到底的顺序排序output2()按销售额对销售员进行排序output3() 输出统计报表output4()flage=0 y n保存文件save()结束(2)总体设计#include#include /*控制台输入输出*/#define max 620struct goodsint p_num; int num; int g_num; smax;struct personsint num7;p6,w;/*主函数*/int n=max;/*全局变量*/main() int input(), output1(),output2(),output3(),output4(); int arg(),mulu();int save(); printf( nnn ttt *the project*nnn); printf(please input the informations :(over to 0)nn p_num(14) g_num(15) g_monn); printf(n); for(n=0;nmax;n+) scanf(%d,&sn.p_num); if(sn.p_num!=(0)scanf(%d%d,&sn.g_num,&sn.num), printf(n); else break; mulu(); /*目录*/ int mulu() int choice; arg(); do printf( nn ttt *the project*nn); printf(1.计算上个月每个人每种产品的销售额n); printf(2.按销售额对销售员进行排序,输出排序结果 n); printf(3.统计每种产品的总销售额,对这这些产品按从高到低的顺序输出排序结果n); printf(4.输出统计表nn); printf(0.退出 nn); printf(please choose (0-4):); scanf(%d,&choice); switch(choice) case 1: output1(); break; case 2: output2(); break; case 3: output3(); break; case 4: output4(); break; case 0: exit(0); break; while(choice!=0);return 1;int arg()int k,a,j;for(k=1;k=5;k+) p0.numk=k; for(a=1;a=6;a+) pk.numa=0; for(k=1;k=4;k+) pk.num0=k; for(k=1;k=4;k+) for(a=1;a=5;a+) for(j=0;jn;j+) if(sj.p_num=k & sj.g_num=a) pk.numa+=sj.num; /*每个人每种产品的销售额*/ for(a=1;a=5;a+) for(k=1;k=4;k+) p5.numa=p5.numa+pk.numa; /*每种产品的销售额*/ for(k=1;k=5;k+) for(a=1;a=5;a+) pk.num6+=pk.numa; /*每个人的销售额*/ return 1;int output1() int i,k; printf(*the condition of everyones g_mon last month:*nn);printf(g_num np_numt);for(k=1;k=5;k+) printf(%dt,p0.numk); printf(nn); for(i=1;i=4;i+) for(k=0;k=5;k+) printf(%dt,pi.numk); printf(nn);mulu();return 1;/*按销售额对销售员进行排序,输出排序结果(销售员代号)*/int output2() int i,k,j; for(i=1;i4;+i) k=i; for(j=i+1;j=4;j+) if(pk.num6pj.num6) k=j; if(k!=i) w=pi; pi=pk; pk=w; printf(nnnnnn*order of people by goods sum*nn); printf(p_num tsum_mon n); for(i=1;i=4;i+) printf( %dtt %dn,pi.num0,pi.num6);mulu();return 1;/*统计每种产品的总销售额,对这些产品按从高到底的顺序,输出排序结果 */ int output3() int k,i,r,t; for(k=1;k5;k+) r=k; for(t=k+1;t=5;t+) if(p5.numrp5.numt) r=t; if(r!=k) for(i=0;i=5;i+) pi.num6=pi.numk; pi.numk=pi.numr; pi.numr=pi.num6; printf(nnnnn*order of each good by total sum*nn); printf( g_num sum_monn); for(k=1;k=5;k+) printf( %dtt%d n,p0.numk,p5.numk); mulu();return 1; /* 输出统计报表*/int output4() int i,k; int flage=0; printf(ntt*report forms of goods*nnn);printf( g_num np_numt1t2t3t4t5tsumnn); for(i=1;i=4;i+) for(k=0;k=6;k+) printf(%dt,pi.numk); printf(nn); printf(totalt); for(k=1;k=6;k+) printf(%dt,p5.numk);if(flage=0) /*保证只存一次,到(date.txt)*/ save(); flage=1; printf(nnthe information has been saved successfully!-(file:date.txt);mulu(); return 1;/*保存文件*/int save() file *fp; int i,k; if(fp=fopen(date.txt,w)=null) printf(ncan not open the file,please press any key to escape!); exit(1); fprintf(fp, g_num rnp_numt1t2t3t4t5tsumrn); for(i=1;i=4;i+) for(k=0;k=6;k+) fprintf(fp,%dt,pi.numk); fprintf(fp,rn); fprintf(fp,total ); for(k=1;k=6;k+) fprintf(fp,%dt,p5.numk);fclose(fp);r

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论