销售管理系统(C语言程序设计)_第1页
销售管理系统(C语言程序设计)_第2页
销售管理系统(C语言程序设计)_第3页
销售管理系统(C语言程序设计)_第4页
销售管理系统(C语言程序设计)_第5页
已阅读5页,还剩9页未读 继续免费阅读

下载本文档

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

文档简介

1、C语言课程设计实习报告姓名:万燕江班号: 052091学号: 20091001564学院:工程学院2011 年 8 月 28 日销售管理系统一题目要求某公司有四个销售员(编号: 14),负责销售五种产品( 15)。每个销售员都要将当天出 售的每种产品各写一张便条交上来。每张便条包含内容:( 1) 销售员的代号( 2) 产品的代号( 3) 这种产品当天的销售额每位销售员每天可能上缴 05张便条。 假设收集到了上个月的所有便条, 编写一个处理系 统,读取上个月的销售情况(自己设定) ,进行如下处理。1 计算上个月每个人每种产品的销售额2 按销售额对销售员进行排序,输出排序结果(销售员代号)3 统计

2、每种产品的总销售额, 对这些产品按从高到低的顺序输出排序结果 (需输出产品的 代号和销售额)4 输出统计报表二提示建议采用结构数组和文件系统实现。 结构体成员包括销售员代号, 产品代号, 销售额。 排序算法参照冒泡发或选择排序法等。 输出统计报表形式按照题目给出的形式在屏幕上相 应位置输出内容即可。三设计思路根据题目要求先设置五个选项:0.结束程序1. 计算上个月每个人每种产品的销售额2. 按销售对销售员进行排序,输出排序结果3. 统计每种产品的总销售额,输出排序结果4. 输出统计报表具体步骤一次从第 1 项开始操作,在第一项运行时输入每个销售员的每种产品的销售额,然后进 行第二项采用冒泡法按

3、其中一种产品销售额对销售员进行排序并输出排序结果, 接着运行第 三项,按照每种产品的总销售额对产品的销售额总量进行排序, 此处采用选择排序比较简洁。 最后再用矩阵输出每个销售员每种产品的销售额。结束之后输入“0”结束程序。上级操作情况(截图)1、主菜单2、第一步,输入上个月的销售额(7 月)3、按销售额对销售员进行排序,输出排序结果(1)选择月份以及选择何种产品2)排序结果输出4、统计每种产品的总销售额,输出排序结果5、输出统计表6、结束操作小结:本次 C 语言实习主要运用了冒泡排序法和选择排序法,以及 结构体数组和文件系统。 自学完 C 语言课程至今已有很长一段时 间,难免对所学知识有所遗忘

4、。通过这次上级实习,让我对这些 知识有了进一步的了解和巩固!附:程序代码#include <stdio.h>#include <string.h>#include <conio.h> #include <stdlib.h>/* 定义宏常量便于程序的一#define Z 5#define R 4般化*/ /*R 表示销售员个数 */ typedefstruct /* 缩短结构体变量名 */intshangpinZ; /* 定义结构体便于信息的存储和读 写,辨别 */ /*R 是表示商品的种类 ,最后一个为该销售员商品总和 */data; void

5、menu() printf(" printf(" printf(" printf(" printf(" printf(" printf("*n");0.结束操作 n");1.计算上个月每个人每种产品的销售额n");2. 按销售额对销售员进行排序,输出排序结果n");3. 统计每种产品的总销售额 ,输出排序结果 n");4. 输出统计报表 n");*n");void data_read(data *x)/* 读入函数使程序简洁 */FILE *fp; cha

6、r fname10;int i;printf(" 您想查询哪个月 ?n");printf(" 请输入月份 :"); /* 输入文件名 ,这样可以进行各个月份信息读入 */scanf("%s",fname);strcat(fname,".txt");/* 连接文件属性 */ if(fp=fopen(fname,"rb")=NULL)printf("can not open the filen");exit(0);for(i=0;i<R;i+)if(fread(x+i,si

7、zeof(data),1,fp)!=1)printf(" 读入信息出错! n");void data_count(data *x)的销售额 */FILE *fp;/* 打开文件 */* 读出信息 */* 计算上个月每个人每种产品char fname10;intj,t;/* 用于控制循环 */inti,k,s;/* 用于定义职工序号,产品序号,产品数量 */system("cls"); /* 清频命令 */printf(" 您想计算哪个月 ?n");printf(" 请输入月份 :");/* 输入文件名 ,这样可以进

8、行各个月份信息写入 */scanf("%s",fname);/* 打开文件 */strcat(fname,".txt");if(fp=fopen(fname,"wb")=NULL)printf("can not open the filen");exit(0);for(j=0;j<R;j+) /* 对商品数量清零 */ for(t=0;t<Z;t+)(x+j)->shangpint=0;printf("please put the information about the 职工编号 ,

9、产品编号 ,销售数量 n"); /* 写入信 息*/for(j=0;j+)scanf("%d%d%d",&i,&k,&s);if(i=0) /* 输入职工为 0 时结束信息输入 */ break;else if(i>R|i<0|k>Z|k<0)printf("the information error!n");/* 避免输入信息出错 */continue;else(x+i-1)->shangpink-1=(x+i-1)->shangpink-1+s; /* 统计各个人的各种产品的数量

10、,-1 为了 和数组中的序号相匹配 */for(j=0;j<R;j+)if(fwrite(x+j),sizeof(data),1,fp)!=1) /* 把信息写入文件中便有以后调用 */ printf("write error!n");fclose(fp); /* 关闭文件避免信息遗漏 */void range_sxy(data *x) /* 按销售额对销售员进行排序, 输 出排序结果 */FILE *fp; char fname10;inti,k,j,t,bianhaoR,z;system("cls");printf(" 你要哪个月的

11、?n");printf(" 请输入月份 :");/* 输入文件名 ,这样可以进行各个月份信息读入 */scanf("%s",fname);strcat(fname,".txt");if(fp=fopen(fname,"rb")=NULL) /* 打开文件 */printf("can not open the filen");exit(0);for(i=0;i<R;i+) /* 读出信息 */ if(fread(x+i,sizeof(data),1,fp)!=1)/* 读入信息提示

12、 */* 用于存储职工编号 */printf(" 读入信息出错! ");for(i=0;i<R;)bianhaoi=i+;printf(" 请输入按何种产品排序 n");scanf("%d",&k);k=k-1;应*/for(i=0;i<R;i+)法排序 */t=i;for(j=i+1;j<R;j+)/* 便于与结构体中的数组值对/* 按 K 种产品对销售员排序 ,选择if(x+bianhaot)->shangpink<(x+bianhaoj)->shangpink)/*调用职工各自对应的结

13、构体内的产品数量 */t=j;if(t!=i)z=bianhaoi;bianhaoi=bianhaot;bianhaot=z;printf(" 按%d 产品对销售员排序为for(i=0;i<R;i+)printf("%5d",bianhaoi+1);getch();fclose(fp);void range_shangpin(data *x) 出排序结果 */:n",k+1);/* 统计每种产品的总销售额 ,输FILE *fp; char fname10;inti,j,sumZ=0,bianhaoZ,z,t,k;system("cls&q

14、uot;);printf(" 您想计算哪个月的 ?n");printf(" 请输入月份 :");/* 输入文件名 ,这样可以进行各个月份信息读入 */scanf("%s",fname); strcat(fname,".txt");if(fp=fopen(fname,"rb")=NULL) /* 打开文件 */printf("can not open the filen"); exit(0);for(i=0;i<R;i+) if(fread(x+i,sizeof(data

15、),1,fp)!=1) printf(" 读入信息出错! ");for(i=0;i<Z;i+) for(j=0;j<R;j+) sumi=sumi+(x+j)->shangpini;for(i=0;i<Z;) bianhaoi=i+;for(i=0;i<Z;i+) printf("%3d",bianhaoi);for(i=0;i<Z;i+) 法排序 */t=i;for(j=i+1;j<Z;j+) 便于输出 */if(sumt<sumj)t=j;if(t!=i)k=sumi; sumi=sumt;sumt=k

16、; z=bianhaoi;bianhaoi=bianhaot; bianhaot=z;printf(" 输出产品排序 n"); printf(" 产品编号数量 n");for(i=0;i<Z;i+) printf("%-10d%-10dn",bianhaoi+1,sumi); getch();fclose(fp);/* 读出信息 */* 对各种商品求和 */* 用于存储商品编号 */* 对产品从高到低排序 ,选择/* 产品变化时,产品编号也随之变化,void data_out(data *x) /* 输出统计报表 */ FILE

17、 *fp;char fname10;inti,j,sumZ+1=0; system("cls");printf(" 您想计算哪个月 ?n");printf(" 请输入月份 :");/* 输入文件名 ,这样可以进行各个月份信息读入 */scanf("%s",fname);strcat(fname,".txt");/* 打开文件 */* 读出信息 */* 对各种商品求和 */* 求商品总和 */* 按要求输出统计表 */if(fp=fopen(fname,"rb")=NULL)p

18、rintf("can not open the filen");exit(0);for(i=0;i<R;i+)if(fread(x+i,sizeof(data),1,fp)!=1)printf(" 读入信息出错! ");for(i=0;i<Z;i+)for(j=0;j<R;j+)sumi=sumi+(x+j)->shangpini;for(i=0;i<Z;i+)sumZ=sumZ+sumi;printf(" 输出统计报表如下 :n");printf(" 产品代号销售之和销售员代号 n");for(i=0;i<R;i+)for(j=0;j<Z;j+) printf("%-10d%-10d%-10dn",j+1,(x+i)->shangpinj,i+1); printf( "*n");for(i=0;i<Z

温馨提示

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

评论

0/150

提交评论