




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
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. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年公务员网络培训考试题库及答案(五)
- 6《陶罐和铁罐》(教学设计)2023-2024学年部编版语文三年级下册
- 三农产品安全监测手册
- 三农村电商物流仓储管理方案
- 2023七年级数学下册 第4章 相交线与平行线4.1 平面上两条直线的位置关系4.1.1 相交与平行教学实录 (新版)湘教版
- 7 z c s 第一课时(教学设计)-2024-2025学年统编版语文一年级上册
- 安保服务采购项目合同书
- 2 走月亮 教学设计-2024-2025学年语文四年级上册
- 某研发中心工程施工组织设计
- 2024年五年级数学下册 二 校园艺术节-分数的意义和性质 信息窗2 分数与除法第1课时教学实录 青岛版六三制
- 门诊导医正确分诊
- 经典导读与欣赏-知到答案、智慧树答案
- DB32T3610.3-2019道路运输车辆主动安全智能防控系统技术规范第3部分:通讯协议
- 信息资源建设-习题集(含答案)
- 20CS03-1一体化预制泵站选用与安装一
- 建筑施工环境保护培训
- 2024年湖南铁道职业技术学院单招职业技能测试题库及答案解析
- 2024年合肥职业技术学院单招职业适应性测试题库及答案解析
- 2024年西安医学高等专科学校单招职业技能测试题库及答案解析
- 2024年事业单位考试云南省昭通市A类《职业能力倾向测验》深度预测试题含解析
- 火灾自动报警系统检查表
评论
0/150
提交评论