版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
课程设计报告课程名称:高级语言程序设计课程设计姓名:班级学号:指导教师:完成日期:目录1课程设计目的与要求 32问题描述 33总体设计 34详细设计 35功能测试 36程序设计调试情况分析 47课程设计小结 4参考文献 4附录系统源程序 4
销售管理系统1课程设计目的与要求2问题描述(系统概要、基本功能要求,即需求分析)某公司有四个销售员(编号:1-4),负责销售五种产品(编号:1-5)。每个销售员都将当天出售的每种产品各写一张便条交上来。每张便条包含内容:销售员的代号,产品的代号,这种产品的当天的销售额;每位销售员每天可能上缴0-5张便条。完成以下功能:1)计算上个月每个人每种产品的销售额。2)按销售额对销售员进行排序,输出排序结果(销售员代号)3)统计每种产品的总销售额,对这些产品按从高到底的顺序,输出排序结果(需输出产品的代号和销售额)4)输出统计报表功能包括:1、设计一个的菜单将在实现的功能显示出来,并有选择提示2、建立便条数据,将数据存储到文件当中,通过调用文件实现数据调用3、能实现便条上的输入信息4、统计每个员工每种产品上个月的销售额5、按照产品总销售额从高到低的顺序输出员工编号6、输出销售报表3总体设计3.1功能分析(系统提供主界面,各种功能操作以独立的函数为基础)3.2系统使用的主要函数(列出函数首部+注释)intmenu_select();/*主菜单函数*/intenter();/*便条输入函数*/voidsalor(intn);/*某人某种产品上个月销售额统计函数*/intsum(DATAt[],intn,intm);/*求和函数*/voidlist1(intn);/*按销售额将销售员排序函数*/voidlist2(intn);/*报表输出函数*/3.3系统使用的主要数据结构typedefstruct{ intgonghao; inta1; inta2; inta3; inta4; inta5;}DATA;4详细设计4.1程序总体结构图层次图销售管理系统销售管理系统函数调用模块便条内容模块菜单显示模块退出函数调用模块便条内容模块菜单显示模块退出主控模块便条内容模块便条内容模块退出报表输出按销售额将销售员排序上个月每人每种产品的销售额退出报表输出按销售额将销售员排序上个月每人每种产品的销售额便条内容模块4.2程序流程图菜单部分流程图:开始开始退出=0?输入数字Yes退出=0?输入数字=5?=4?=3?=2?=1?No=5?=4?=3?=2?=1?NonononoYesyesyesyesyes每种产品的总销售额按销售额将销售员排序统计上个月每人每种产品的销售额销售报表输入便条上的内容每种产品的总销售额按销售额将销售员排序统计上个月每人每种产品的销售额销售报表输入便条上的内容5功能测试1、系统主界面2、输入信息界面3、统计数据界面6程序设计调试情况分析(程序设计及调试过程中碰到的问题及解决的方法)输入销售信息时,数据多而繁杂,难以通过简单的函数进行输入和存储,经过我们同组成员一番讨论,我们采用了结构型数组变量来进行数据的存储,实现了数据简单而且明了输入;定义的变量引用时打错变量名导致程序出错,经过程序调试找出错误语句并进行改正;7课程设计小结初次面对这个问题,感觉真的是茫然无奈,通过向老师同学的学习,最终还是做出了自己的成果,不能不说是一种成长。要想学好它要重在实践,要通过不断的上机操作才能更好地学习它,通过实践,我也发现我的好多不足之处对C,首先对C语言的一些标准库函数不太了解,还有对函数调用的正确使用不够熟悉,还有对C语言中经常出现的错误也不了解,通过实践,使我在这几个方面的认识有所提高。
参考文献《C程序设计教程与实验》附录系统源程序(源代码需有足够的注释)#include"stdio.h"/*输入输出函数*/#include"stdlib.h"/*通用应用程序函数*/typedefstruct/*定义结构体变量*/{ intgonghao;/*销售员代号*/ inta1;/*产品一代号*/ inta2;/*产品二代号*/ inta3;/*产品三代号*/ inta4;/*产品四代号*/ inta5;/*产品五代号*/}DATA;intmenu_select();/*声明函数*/intenter();/*声明函数*/voidsalor(intn);/*声明函数*/intsum(DATAt[100],intn,inte);/*声明函数*/voidlist1(intn);/*声明函数*/voidlist2();/*声明函数*/main()/*主函数*/{ intlength; for(;;)/*无限循环*/ {switch(menu_select())/*根据用户的选择判断该调用哪个功能函数*/ {case1:length=enter();break; case2:salor(length);break; case3:list1(length);break; case4:list2();break; case0:exit(0); } }}intmenu_select()/*菜单函数*/{ intn; printf("菜单\n\n"); printf("设计人:王金麒贾天宜马宸班级:bx1109\n"); printf("1输入便条上的内容\n"); printf("2统计上个月每种产品每人销售的数量\n"); printf("3按销售额将销售员排序\n"); printf("4销售报表\n"); printf("0退出\n"); printf("end\n\n"); printf("请输入(0-4)"); scanf("%d",&n); returnn;}intenter()/*清单输入*/{ inti,num; FILE*fp; DATAt[100]; printf("请输入要写的便条条数:\n"); scanf("%d",&num); printf("gonghaoproduct1product2product3product4product5"); for(i=0;i<num;i++) { printf("\n\n\n"); scanf("%d%d%d%d%d%d",&t[i].gonghao,&t[i].a1,&t[i].a2,&t[i].a3,&t[i].a4,&t[i].a5); } if((fp=fopen("record.dat","ab+"))==NULL) { printf("不能打开文件\n"); exit(1); } for(i=0;i<num;i++) { fprintf(fp,"%d\t%d\t%d\t%d\t%d\t%d\t",t[i].gonghao,t[i].a1,t[i].a2,t[i].a3,t[i].a4,t[i].a5); fprintf(fp,"\r\n"); } fclose(fp); printf("\n\n\n\n"); returni;}voidsalor(intn)/*每位销售员销售额*/{ inti=0,s; intb1=0,b2=0,b3=0,b4=0,b5=0; intk=0; DATAt[100]; FILE*fp; if((fp=fopen("record.dat","rb+"))==NULL) { printf("不能打开文件\n"); exit(1); } rewind(fp); while(fscanf(fp,"%d\t%d\t%d\t%d\t%d\t%d",&(t[k].gonghao),&(t[k].a1),&(t[k].a2),&(t[k].a3),&(t[k].a4),&(t[k].a5))>0) k++; fclose(fp);printf("请输入要查询售货员的代号(1-4):");scanf("%d",&s);for(i=0;i<k;i++) if(t[i].gonghao==s) {b1+=t[i].a1; b2+=t[i].a2; b3+=t[i].a3; b4+=t[i].a4; b5+=t[i].a5;}; printf("gonghaoproduct1product2product3product4product5\n"); printf("\n"); printf("%d\t%d\t%d\t%d\t%d\t%d\t",s,b1,b2,b3,b4,b5);}voidlist1(intn)/*显示清单*/{ inti,j,s; intm[10],c[10]; intk=0; DATAt[100]; FILE*fp; if((fp=fopen("record.dat","rb+"))==NULL) { printf("不能打开文件\n"); exit(1); } rewind(fp); while(fscanf(fp,"%d\t%d\t%d\t%d\t%d\t%d",&(t[k].gonghao),&(t[k].a1),&(t[k].a2),&(t[k].a3),&(t[k].a4),&(t[k].a5))>0)/*从fp指向的文件上读入便条信息*/ k++; fclose(fp); for(i=0;i<4;i++)/*将所输入的条数存入结构体数组中*/ m[i]=i+1; for(i=0;i<4;i++) c[i]=sum(t,k,m[i]); for(i=0;i<4;i++) for(j=i+1;j<4;j++) if(c[i]<c[j]) { s=m[i]; m[i]=m[j]; m[j]=s; s=c[i]; c[i]=c[j]; c[j]=s; } printf("按销售额从高到低将销售员代号排序\n"); for(i=0;i<4;i++) printf("%d\n",m[i]);}voidlist2()/*每种产品的销售额*/{ inti=0,j,sum0=0,sum1=0,sum2=0,sum3=0,sum4=0,sum5=0; intc[4],b1[4]={0},b2[4]={0},b3[4]={0},b4[4]={0},b5[4]={0}; intk=0; DATAt[100]; FILE*fp; if((fp=fopen("record.dat","rb+"))==NULL) { printf("不能打开文件\n"); exit(1); } rewind(fp); while(fscanf(fp,"%d\t%d\t%d\t%d\t%d\t%d",&(t[k].gonghao),&(t[k].a1),&(t[k].a2),&(t[k].a3),&(t[k].a4),&(t[k].a5))>0) k++; for(i=0;i<4;i++) c[i]=sum(t,k,i+1);/*求每个人的总销售额*/ for(i=0;i<4;i++) sum0+=c[i];/*所有产品的销售额*/ for(i=0;i<k;i++)/*求每个人每种产品的总销售额*/ for(j=0;j<4;j++) { if(j+1==t[i].gonghao) {b1[j]+=t[i].a1; b2[j]+=t[i].a2; b3[j]+=t[i].a3; b4[j]+
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2024年度环境监测系统采购与安装合同
- 2024年建筑工程混凝土材料供应合同
- 2024年度广告媒体采购服务合同
- 农业干旱课件教学课件
- 2024年度智能交通系统集成合同
- 2024屋顶停车设施设计与施工合同
- 2024电视媒体广告合同
- 2024年度自然人汽车租赁合同
- 2024年建筑工程施工质量检测协议
- 2024年度大型设备搬迁安全合同
- 《我是班级的主人翁》的主题班会
- 酒店安全设施及安全制度
- 近代化的早期探索与民族危机的加剧 单元作业设计
- 租赁机械设备施工方案
- 屋面融雪系统施工方案
- 二年级家长会语文老师课件
- 结构加固改造之整体结构加固教学课件
- 教堂安全风险分级管控体系方案全套资料(2019-2020新标准完整版)
- 历史(心得)之在历史教学中培养学生生态环境意识
- 有机磷农药中毒课件-整理
- 轮对故障发生的原因和危害分析及其防范措施
评论
0/150
提交评论