




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、.序号:09红河学院工学院课程设计报告专业: 计算机科学与技术年级: 2013级学号:201301030110姓名:徐雁林 成绩:批改时间:红河学院 工学院编制说 明1、本报告供学生课程设计时使用。2、学生应认真阅读课程设计要求。3、课程设计报告里面的内容要手工填写,以备存档使用(源程序可打印)。4、课程设计的总评成绩根据课程的性质,按一定比例计入该门课程成绩。5、课程设计报告中的各模块填写的内容是评分的主要依据,如果不够书写,可以自行添加附页。6、按规定的时间提交报告给教师评定成绩,由任课教师交到工学院存档。课程设计目录课程名称:高级语言程序设计题目序号课程设计名称起止页码6销售管理系统2
2、设计任务题目名称销售管理系统班级13计科指导教师张建美地点工学楼成绩保存输入添加的联系资料是否保存开始返回菜单函数结束添加模块NY学年2014-2015开始日期2015-6-6结束日期2015-6-15一、问题分析(围绕设计题目,进行课程设计开始前的准备过程,在此以问题分析的形式展开,从设计的总体性上对所承担的设计题目的思考,分析,此模块内容请手工填写) 读取销售情况有3个,分别是每个人每种产品的销售额,按销售额对销售员进行排序和每种产品的总销售额三个函数:1).每个人每种产品的销售额: 首先,要定义每个人,每种产品,销售额数组如int i,j,sum0=0,sum1=0,sum2=0,sum
3、3=0,sum4=0,sum5=0; int c4,b14=0,b24=0,b34=0,b44=0,b54=0,用for循环来求每个人的总销售额:for(i=0;i<4;i+);用for循环来求每个人每种产品的总销售额:for(i=0;i<n;i+),for(j=0;j<4;j+);在用for循环每种产品的总销售额:for(i=0;i<4;i+),之后则在系统界面输入销售员代号,产品代号,产品代号用printf即可实现,用sum对每个销售员的销售额求和,用system("cls")来录入信息,然后输出头标(如销售员代号,产品代号,销售额等,用prin
4、tf实现),之后开始查询,用 for语句来。2).按销售额对销售员进行排序: 此部分要分两部分其一是,每位销售员销售额;其二是,按销售额对销售员排序。在求每个销售员销售额时也是要先定义销售员代号,产品代号,销售额。接着是则是用输入要查询的销售员的代号,用scanf("%d",&s)来记录输入销售员代号的信息,然后输出头标(如销售员代号,产品代号,销售额等,用printf实现),之后开始查询,查询信息首先需要一个for语句来,实现对已存入数据的所有查询for(i=0;i<n;i+),关键内容是查询销售员代号时用if(strcmp(name,)=0)
5、,找出与输入的销售员相同的储存信息,查找完成后则把该销售员的所有信息全部输出。上面是求每个销售员销售额,接着是要在上面的基础上排序。首先要定义两个数组如:int c4,m4,接着用for循环(for(i=0;i<4;i+);for(j=i+1;j<4;j+) )对销售员的销售额进行排序,再用if语句来求,最后是输出用printf("%dn",mi)实现。3).每种产品的总销售额: 也一样首先要定义数组,接着用ci=sum(t,n,i+1) 求每个人的总销售额,再用for循环,再用sum0+=ci对所有产品的销售额求总,用for循环对每个人每种产品的销售额求总销售
6、额,再用for循环实现每种产品的总销售额,然后输出头标(如销售员代号,产品代号,总销售额等,用printf实现)即可。2、 设计流程图(问题分析与算法设计,并画出流程图,此模块内容可以打印)如图为程序设计流程图输入记录读取文件保存到文件每位销售员的销售额每种产品的销售额按销售额对销售员排序显示便条清单退出管理3、 程序代码(源程序清单,要求给出必要的说明与注释,此模块内容请打印) #include "stdio.h"/*输入输出函数*/ #include "stdlib.h"/*通用应用程序函数*/ #include "string.h&quo
7、t;/*字符串函数*/ #include "ctype.h"/*字符操作函数*/ typedef struct /*定义结构体变量*/ int name4; int a1; int a2; int a3; int a4; int a5; RECODE; int me/*以下是函数原型*/ nu_select();/*声明函数*/ int enter(RECODE t);/*声明函数*/ void salor(RECODE t,int n);/*声明函数*/ int sum(RECODE t,int n,int m);/*声明函数*/ void list1(RECODE t,
8、int n);/*声明函数*/ void list2(RECODE t,int n);/*声明函数*/ void list3(RECODE t,int n);/*声明函数*/ void save(RECODE t,int n);/*声明函数*/ int load(RECODE t);/*声明函数*/ #include "pro.h"/*主函数开始*/void main()/*主函数*/ RECODE rec600; int length; system("cls"); /*清屏*/ for( ; ; ) /*无限循环*/ switch(menu_sele
9、ct() /*根据用户的选择判断该调用哪个功能函数*/ case 1:length=enter(rec); break; case 2:save(rec,length);break; case 3:length=load(rec);break; case 4:list1(rec,length);break; case 5:salor(rec,length);break; case 6:list2(rec,length);break; case 7:list3(rec,length);break;case 0:exit(0); int menu_select() /*菜单函数*/ int n;
10、printf(*MENU*nn"); printf(" 1 输入便条n");printf(" 2 保存到文件n"); printf(" 3 读取文件n");printf(" 4 显示便条清单n"); printf(" 5 每位销售员的销售额n"); printf(" 6 每种产品的销售额n"); printf(" 7 按销售额对销售员排序n"); printf(" 0 退出管理n"); printf("*END*nn
11、"); printf(" 请选择你的操作(0-7): n"); scanf("%d",&n); if(0<n && n<7) system("cls"); /*清屏*/ return n;/*清单输入*/int enter(RECODE t) int i,num; system("cls"); /*清屏*/ printf("请输入要写的便条条数:n"); scanf("%d",&num);/*输入所要写入的清单的条数*/
12、printf("name product1 product2 product3 product4 product5"); for(i=0;i<num;i+)/*将所输入的条数存入结构体数组中*/ printf("nn-n"); scanf("%d%d%d%d%d%d",&,&ti.a1,&ti.a2,&ti.a3,&ti.a4,&ti.a5); printf("n-nnn"); return i; /*保存文件*/void save(RECODE
13、t,int n) int i; FILE *fp;/*调用fopen函数*/ if(fp=fopen("record.txt","wb")=NULL)/*如果函数带回一个空指针值*/ printf("不能打开文件n");/*不能打开文件*/ exit(1); fprintf(fp,"%d",n); fprintf(fp,"rn"); for(i=0;i<n;i+) fprintf(fp,"%-10d%-7d%-7d%-7d%-7d-7d",,ti.a1,t
14、i.a2,ti.a3,ti.a4,ti.a5);/*将便条的信息输出到fp指向的文件上*/ fprintf(fp,"rn"); fclose(fp);/*关闭文件*/ printf("*保存成功*nn");/*显示保存成功*/ printf("press any key to continue.n"); getchar(); /*读取文件*/int load(RECODE t) int i,n; FILE *fp; if(fp=fopen("record.txt","r")=NULL)/*如果函
15、数带回一个空指针值*/ printf("不能打开文件n");/*不能打开文件*/ exit(1); fscanf(fp,"%d",&n); for(i=0;i<n;i+) fscanf(fp,"%d%d%d%d%d%d",&(),&(ti.a1),&(ti.a2), &(ti.a3),&(ti.a4),&(ti.a5);/*从fp指向的文件上读入便条信息*/ fclose(fp); printf("n 成功读取文件!n");/*成功读入信息
16、*/ printf("press any key to continue.nn"); getchar(); return n; /*显示清单*/void list1(RECODE t,int n) int i;FILE *fp; if(fp=fopen("record.txt","r")=NULL)/*如果函数带回一个空指针值*/ printf("不能打开文件n");/*不能打开文件*/ exit(1); fscanf(fp,"%d",&n); for(i=0;i<n;i+) fs
17、canf(fp,"%d%d%d%d%d%d",&(),&(ti.a1),&(ti.a2),&(ti.a3),&(ti.a4),&(ti.a5);/*从fp指向的文件上读入便条信息*/ fclose(fp); printf("*the lise of saling recode*nnn"); printf("name product1 product2 product3 product4 product5"); for(i=0;i<n;i+)/*将所输入的条数存入结构体
18、数组中*/ printf("nn-n"); printf(" %d %d %d %d %d %d",,ti.a1,ti.a2,ti.a3,ti.a4,ti.a5); printf("nn-n");printf("n press any key to continue.n"); getchar(); /*每位销售员销售额*/void salor(RECODE t,int n) int i,s; int b1=0,b2=0,b3=0,b4=0,b5=0; printf("请输入要查询的销售员的代
19、号(1-4): n"); scanf("%d",&s); /*输入所要查看的售货员的代号*/ for(i=0;i<n;i+) /*对每种产品的销售额求和*/ if(=s) b1+=ti.a1; b2+=ti.a2; b3+=ti.a3; b4+=ti.a4; b5+=ti.a5; printf("name product1 product2 product3 product4 product5n"); printf("-n"); printf("%-15d%-10d%-10d%-7d%-
20、7d%-7d",s,b1,b2,b3,b4,b5); printf("npress enter to continue.n"); getchar(); /*销售产品总和*/int sum(RECODE t,int n, int e) int i,sum=0; for(i=0;i<=n;i+)/*求销售产品的总和*/ if(e=) sum+=ti.a1; sum+=ti.a2; sum+=ti.a3; sum+=ti.a4; sum+=ti.a5; return sum; /*每种产品的销售额*/void list2(RECODE t,int n
21、) int i,j,sum0=0,sum1=0,sum2=0,sum3=0,sum4=0,sum5=0; int c4,b14=0,b24=0,b34=0,b44=0,b54=0; system("cls"); ; for(i=0;i<4;i+) ci=sum(t,n,i+1);/*求每个人的总销售额*/ for(i=0;i<4;i+) sum0+=ci;/*所有产品的销售额*/ for(i=0;i<n;i+)/*求每个人每种产品的总销售额*/ for(j=0;j<4;j+) if(j+1=) b1j+=ti.a1; b2j+=ti.a
22、2; b3j+=ti.a3; b4j+=ti.a4; b5j+=ti.a5; for(i=0;i<4;i+)/*每种产品的总销售额*/ sum1+=b1i; sum2+=b2i; sum3+=b3i; sum4+=b4i; sum5+=b5i; printf(" products numn"); printf(" code 1 2 3 4 5 sumnn"); for(i=0;i<4;i+) printf(" %-10d%-7d%-7d%-7d%-7d%-7d%-7dn",i+1,b1i,b2i,b3i,b4i,b5i,c
23、i); printf(" psum %-7d%-7d%-7d%-7d%-7d%-7d",sum1,sum2,sum3,sum4,sum5,sum0); printf("n press any key to continue.n"); getchar(); /*按销售额对销售员排序*/void list3(RECODE t,int n) int i,j,s; int c4,m4; /*定义两个数组*/ system("cls"); /*清屏*/ for(i=0;i<4;i+) mi=i+1; for(i=0;i<4;i+) ci=sum(t,n,mi); for(i=0;i<4;i+)/*按销售员的销售额进行排序*/ for(j=i+1;j<4;j+) if(ci<cj) s=mi; mi=mj; mj=s; s=ci; ci=cj; cj=s; printf("the sequce of salor'saling number
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 餐饮常识培训体系构建
- 口腔护理刷牙顺序规范
- 解除合伙协议协议书
- 足球发展框架协议书
- 食堂共管账户协议书
- 鲁南地质工程协议书
- 露天采矿承包协议书
- 购销合同变更协议书
- 防汛物质供货协议书
- 重庆股权转让协议书
- WS∕T 391-2024 CT检查操作规程
- JTG-T-F20-2015公路路面基层施工技术细则
- 低压电涌保护器(SPD) 第12部分:低压电源系统的电涌保护器选择和使用导则
- 《巴以冲突》课件
- (高清版)WST 442-2024 临床实验室生物安全指南
- ISO-1183密度不确定度报告
- 2023-2024学年上海市一年级下册期末数学调研试卷(含答案)
- 外科护理疑难病例个案
- 语文园地八 日积月累《大林寺桃花》(课件)2023-2024学年统编版语文三年级下册
- 如何搞好基层武装工作
- 铁路政治思想培训课件
评论
0/150
提交评论