下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、C语言课程设计题目指导教师学生姓名学号专业教学单位目录111.111.212 13 14 2 4.1 24.245 5:51 设计内容与设计要求1.1 系统功能简介系统有简单的菜单界面,用户可以通过输入简单的选项来完成相应的工作。选定一种产品,按销售额的顺序对销售员进行排序,输出排序结果。统计每种产品的总销售额, 输出排序结果。输出统计报表。1.2 系统运行环境Vc+6.0 下运 行, 硬 件基 本无要求 ,现 在的 计算 机系 统基 本都可以运行该系统。2 功能划分,模块详细说明系统的功能是通过子函数调用的方式来完成的,下面对程序中用到的函数及其功能做一下说明。void menu() :显示
2、主菜单界面。void data_count(data *x):以写方式打开文件,对商品信息清零,读入职工编号、产品编号、销售量等信息,对相同职工的相同产品的销售量求和后写入文件。void range_sxy(data*x) :以读方式打开文件,读入信息,输入按何种产品排序后对存储职工编号的数组进行排序,最后输出新序的职工编号信息。void range_shangpin(data *x):从文件读入信息,对每项产品的销售量求和,按每项产品的总销售量排序。void data_out(data *x):打开文件,读入信息,求所有产品的销售量的和,输出统计表。void main():主函数,调用以上函
3、数,完成相应功能。3 程序流程图程序整体流程图如图 3-1 所示:1开始菜单计算产品销按销售额对统计每种产品输出统计退出售额销售员排序的总销售额,报表排序结束图 3-1整体流程图4 系统的运行及说明4.1 系统的运行系统初始运行时,会显示如图 4-1 所示的菜单界面,用户可以根据提示,进行相应的选择,来完成系统提供的各种功能。图 4-1输入界面2当 选择 1 时 ,系统 调用函 数 void data_count(data *x),完成相应的功能。运行界面如图4-2 所示,系统会要求用户输入月份,然后要求输入这个月份中是哪个职工销售的哪项产品的数量的具体信息,我们的系统假设有四个职工,职工编号
4、从1 至 4,一共有 5 项产品,产品编号从1 至 5。职工和产品的数目都可以更改,只要修改一下程序中的宏定义语句即可。图 4-2计算产品销售额界面当选 择 2 时, 系统 调 用 void range_sxy(data*x) ,完成相应部分的功能。运行界面如图4-3 所示,系统会要求用户输入月份,然后排序的产品编号,最后给出此项产品的按照销售量的大小进行的销售员的编号的排序情况。图 4-3按销售额对销售员排序的界面3当 选择 3 时 ,系统 调 用 void range_shangpin(data *x),完成对每项商品的总销售量排序的功能,运行界面如图4-4 所示:图 4-4产品总销售额排
5、序界面当 选择 4 时 ,系 统调 用 void data_out(data *x), 完成 输 出统 计表的功能,统计内容如图 4-5 所示:图 4-5统计报表界面4.2 运行说明4首次打开系统必须输入一部分员工信息,如果没有员工信息文件,除了输入功能以外,其它的功能将自动禁止, 按任意键退出程序 。输入时,按照提示陆续输入每个员工的单个信息,输入完毕,选择“0”,程序将自动回到菜单选择界面。其它的功能模块都在执行程序时有相应的提示,非常容易操作。5 总 结通过这次实习,让我们初步有了编写系统的能力,我们对很多的函数有了新的认识,也学会了运用多种函数,也明白了编写软件的基本过程,和基本方法。
6、编写软件的过程中我们又学到了曾经自己不知道的函数或是自己不会的函数的用法。这次课程设计课总的来说让我受益匪浅。在软件的设计过程中遇到了很多的困难。在软件一次一次的调试失败下,曾经想过要放弃。我最后还是让自己坚持了下来,毫不畏惧困难,在同学的帮助与讲解下我总算是顺利的完成了软件的设计。在程序的编写过程中我们发现有很多的知识漏洞和缺陷,需要进一步努力学习来完善自己。在 这几 天的 编写 过 程中 我们 对 c 语言 有了 更进 一步 的认 识 和了解。此次编程过程的经验和知识肯定能促进我以后的学习。此次课程设计不仅给了我们很多很好的经验,也让我们体会到了失败时的焦急和难受,也体会到了成功时的兴奋与
7、喜悦。附件: 源程序清单#include #include #include #include #define Z 5#define R 4/*定义宏常量便于程序的一般化*/ /*R表示销售员个数 */typedef struct/*缩短结构体变量名 */5intshangpinZ;/*定义结构体便于信息的存储和读写,辨别 */ /*z是表示商品的种类 , 最后一个为该销售员商品总和*/data;void menu() printf(*n);printf(0.结束操作 n);printf(1.计算上个月每个人每种产品的销售额 n);printf(2.按销售额对销售员进行排序,输出排序结果 n)
8、;printf(3.统计每种产品的总销售额 , 输出排序结果 n);printf(4.输出统计报表 n);printf(*n);void data_count(data *x)/*计算上个月每个人每种产品的销售额*/FILE *fp;char fname10;int j,t;/*用于控制循环 */int i,k,s;/*用于定义职工序号,产品序号,产品数量*/system(cls);printf(您想计算哪个月 ?n);printf(请输入月份 :);/*输入文件名 , 这样可以进行各个月份信息写入*/scanf(%s,fname);strcat(fname,.txt);if(fp=fopen
9、(fname,wb)=NULL)/*打开文件 */printf(can not open the filen);6exit(0);for(j=0;jR;j+)/*对商品数量清零 */for(t=0;tshangpint=0;printf(please put the information about the职工编号 , 产品编号 , 销售数量 n);/*写入信息 */for(j=0;j+)scanf(%d%d%d,&i,&k,&s);if(i=0)/*输入职工为 0时结束信息输入 */break;if(iR|iZ|kshangpink-1=(x+i-1)-shangpink-1+s;/*统计
10、各个人的各种产品的数量 ,-1 为了和数组中的序号相匹配*/for(j=0;jR;j+)if(fwrite(x+j),sizeof(data),1,fp)!=1)/*把信息写入文件中便有以后调用 */printf(write error!n);fclose(fp);/*关闭文件避免信息遗漏 */void range_sxy(data *x)/*按销售额对销售员进行排序,输出排序结果*/7FILE *fp;char fname10;int i,k,j,t,bianhaoR=0,z;system(cls);printf(你要哪个月的 ?n);printf(请输入月份 :);/*输入文件名 , 这样
11、可以进行各个月份信息读入*/scanf(%s,fname);strcat(fname,.txt);if(fp=fopen(fname,rb)=NULL)/*打开文件 */printf(can not open the filen);exit(0);for(i=0;iR;i+)/*读出信息 */if(fread(x+i,sizeof(data),1,fp)!=1)printf(读入信息出错! );/*读入信息提示 */for(i=0;iR;)/*用于存储职工编号 */bianhaoi=i+;printf(请输入按何种产品排序 n);scanf(%d,&k);k=k-1;/*便于与结构体中的数组值
12、对应*/for(i=0;iR;i+)/*按 K种产品对销售员排序 , 选择法排序 */t=i;for(j=i+1;jshangpinkshangpink)/*调用职工各自对应的结构体内的产品数量*/t=j;if(t!=i)8z=bianhaoi;bianhaoi=bianhaot;bianhaot=z;printf(按%d产品对销售员排序为 :n,k+1);for(i=0;iR;i+)printf(%5d,bianhaoi+1);getch();fclose(fp);void range_shangpin(data*x)/*统计每种产品的总销售额, 输出排序结果 */FILE *fp;char
13、 fname10;int i,j,sumZ=0,bianhaoZ=0,z,t,k;system(cls);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;iR;i+)/*读出信息 */if(fread(x+i,sizeof(data),1,fp)!=1)9printf(读入信息出错!
14、);for(i=0;iZ;i+)/*对各种商品求和 */for(j=0;jshangpini;for(i=0;iZ;)/*用于存储商品编号 */bianhaoi=i+;for(i=0;iZ;i+)printf(%3d,bianhaoi);for(i=0;iZ;i+)/*对产品从高到低排序 , 选择法排序 */t=i;for(j=i+1;jZ;j+)/*产品变化时,产品编号也随之变化,便于输出*/if(sumtsumj)t=j;if(t!=i)k=sumi;sumi=sumt;sumt=k;z=bianhaoi;bianhaoi=bianhaot;bianhaot=z;printf(输出产品排序
15、 n);printf(产品编号数量 n);for(i=0;iZ;i+)printf(%-10d%-10dn,bianhaoi+1,sumi);getch();10fclose(fp);void data_out(data *x)/*输出统计报表 */FILE *fp;char fname10;int i,j,sumZ+1=0;system(cls);printf(您想计算哪个月 ?n);printf(请输入月份 :);/*输入文件名 , 这样可以进行各个月份信息读入*/scanf(%s,fname);strcat(fname,.txt);if(fp=fopen(fname,rb)=NULL)/
16、*打开文件 */printf(can not open the filen);exit(0);for(i=0;iR;i+)/*读出信息 */if(fread(x+i,sizeof(data),1,fp)!=1)printf(读入信息出错! );for(i=0;iZ;i+)/*对各种商品求和 */for(j=0;jshangpini;for(i=0;iZ;i+)/*求商品总和 */sumZ=sumZ+sumi;printf(输出统计报表如下 :n);/*按要求输出统计表 */printf(产品代号销售之和销售员代号 n);for(i=0;iR;i+)for(j=0;jshangpinj,i+1);printf(*n);for(i=0;iZ;i+)if(i=0)printf(%d产品之和 %-10d总和 %-10dn,i+1,sumi,sumZ);elseprintf(%d产品之和 %-10dn,i+1,sumi);getch();void main()int i,choice;data sxyR;/*R表示职工的个数,前面的宏常量*/for(i=0;i+)system(cls);/*清频命令 */menu();/*菜单函数提示用户怎样选择*/printf(你想做什么 ?n);printf(请选择 :);/*输入要进行的操作 */scanf(%d,&
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 眉山小区保洁合同范本
- 物品尾货收购合同范本
- 牛奶批发回购合同范本
- 第26课 教育文化事业的发展教学设计-2025-2026学年初中历史中国历史 第三册统编版(五四学制)
- 牧场合作协议合同范本
- 美甲店铺分租合同范本
- 初中数学北师大版(2024)八年级上册1 认识二元一次方程组教案设计
- 激光切割加工合同范本
- 融资银保合作合同范本
- 租房合同税费补充协议
- 2025森蓝环保(上海)有限公司招聘2人考试笔试备考试题及答案解析
- 2025年科技部技术合同示范文本(技术支持服务)
- 山东省烟台市芝罘区2025-2026学年九年级上学期期中考试语文试题(无答案)
- 大数据平台项目实施规范实施方案
- 砥砺前行精准施策聚力提升-在高二年级期中考试质量分析会上的讲话
- 铝合金深槽阴角施工方案
- 2025年初级银行从业资格之初级公司信贷高分通关题库A4可打印版
- 2025年北京市综合评标专家库专家考试历年参考题库含答案详解(5套)
- 水罐清洗施工方案
- GB/T 17642-2025土工合成材料非织造布复合土工膜
- ISO 37001-2025 反贿赂管理体系要求及使用指南(中文版-雷泽佳译-2025)
评论
0/150
提交评论