C语言课程设计销售管理系统.docx

上传人:b****4 文档编号:737313 上传时间:2022-10-12 格式:DOCX 页数:23 大小:530KB
下载 相关 举报
C语言课程设计销售管理系统.docx_第1页
第1页 / 共23页
C语言课程设计销售管理系统.docx_第2页
第2页 / 共23页
C语言课程设计销售管理系统.docx_第3页
第3页 / 共23页
C语言课程设计销售管理系统.docx_第4页
第4页 / 共23页
C语言课程设计销售管理系统.docx_第5页
第5页 / 共23页
点击查看更多>>
下载资源
资源描述

C语言课程设计销售管理系统.docx

《C语言课程设计销售管理系统.docx》由会员分享,可在线阅读,更多相关《C语言课程设计销售管理系统.docx(23页珍藏版)》请在冰豆网上搜索。

C语言课程设计销售管理系统.docx

C语言课程设计销售管理系统

目录

C语言课程设计成绩评定表……………………………...01

C语言课程设计任务书…………………………………...02

需求分析及程序基本框架………………………………..03

程序设计说明书………………………………………….05

源代码清单………………………………………………...13

课程设计总结…..………………………………………….21

┊┊

C语言课程设计成绩评定表

班级

电自专121

学号

18

姓名

项目组

03

项目组长

朱勇进

项目组组员

本人工作简介:

首先根据题目要求,确定程序的主题结构。

在根据组员的能力分配具体任务。

我主要编写了头文件,显示销售清单,保存文件,每位销售额的多少和总销售累加。

最后工作就是,整理组员写的代码错误,修改运行程序出现的错误,使程序能够顺利运行。

组长评语:

自我认为已经差不多做到了组长应尽的能力。

当遇到困难时,和组员共同商量。

在商量之后还是不能解决问题时,积极的请教老师的帮忙,在老师热心的帮助下顺利的完成了此程序的设计。

在这次的程序设计中,也知道了组员合作的重要性。

成绩评定标准

A

B

C

D

E

理论基础

很好

比较好

一般

不好

报告完成情况

很好

比较好

一般

不好

纪律表现

很好

比较好

一般

不好

程序创意

很好

比较好

一般

不好

所选模块完成情况

很好

一般

较差

不好

所选算法难易程度

复杂

比较复杂

一般

简单

很简单

程序可操作性

很好

一般

较差

不好

答辩表现

很好

一般

较差

不好

最后成绩

优秀

A>=5

B<=3

C<=0

D=0

E=0

良好

A>=3

B<=4

C<=1

D=0

E=0

中等

A>=1

B>=2

C>=4

D<=1

E=0

及格

A=0

B=0

C<=4

D>=4

不及格

A=0

B=0

C=0

D<=4

E>=4

负责指导教师:

(签名)

指导教师:

(签名)

C语言课程设计任务书

一、设计目的

通过本次课程设计使学生进一步加深对C语言课程内容的理解,初步掌握一般应用程序的开发方法和步骤,进一步了解与掌握C语言的编程方法和技巧,提高学生用C语言解决实际问题的能力。

二、设计要求

1、认真查阅参考书、资料2、遵守课程设计时间安排

3、按时上机,认真调试程序4、认真完成课程设计报告

三、课设报告装订内容及顺序

1、课程设计封皮2、目录

3、课程设计成绩评定表4、课程设计任务书

5、程序基本框架图6、程序设计说明书

7、源代码清单8、课设总结与心得

四、设计题目

销售管理系统

五、时间安排(一周:

从6月17日到6月21日)

1、查阅资料及程序设计(1天)2、程序编制及调试(3天)

3、成绩评定(0.5天)3、打印报告(0.5天)

六、参考文献

1、《C语言程序设计》李淑华/李贞编大连理工大学出版社

2、《C语言程序设计》孙连科/姚大鹏编辽海出版社

3、《C++时尚编程百例》网冠科技编.机械工业出版社

4、《TURBOC实用大全》徐金梧等编.机械工业出版社

需求分析及程序基本框架

需求分析:

题目:

销售管理系统

某公司有四个销售员(编号:

1-4),负责销售五种产品(编号:

1-5)。

每个销售员都将当天出售的每种产品各写一张便条交上来。

每张便条包含内容:

销售员的代号

产品的代号

这种产品的当天的销售额

每位销售员每天可能上缴0-5张便条。

假设,收集到了上个月的所有便条,编写一个处理系统,读取上个月的销售情况(自己设定),进行如下处理。

1)计算上个月每个人每种产品的销售额。

2)按销售额对销售员进行排序,输出排序结果(销售员代号)

3)统计每种产品的总销售额,对这些产品按从高到底的顺序,输出排序结果(需输出产品的代号和销售额)(可选项)

4)输出统计报表

程序基本框架:

数据结构图(如下)

程序设计流程图(如下)

程序设计说明书

一、程序运用的语句:

switch语句,for语句,if语句,break语句,循环的嵌套

二、程序构思:

头文件:

每个程序一开始都需要一大堆的定义及声明。

考虑到程序的简洁和美观,我考虑到利用头文件来实现这个功能。

一个销售管理系统应该包含销售信息的输入、输出、统计、个人销售额的筛选、总销售额的统计、信息保存以及退出系统这些功能。

所以我们想设计这样一个程序,可以通过此程序将销售员信息和销售产品的情况存储在程序中,然后我们根据屏幕提示信息选择功能:

输入所要选择的数字,在根据提示,进行数据输入和信息处理,就可以找到相应的信息。

另外,我们又设定了文件保存功能,方便信息的保存,以便日后的查询调用。

三、程序功能简介:

1.头文件设计:

(组长:

朱勇进完成)

我们首先编译了一个头文件,在头文件里,编译了主函数需要用到的一些函数,如#include"stdio.h"等,因为需要录入便条的所有信息,所有用一个数据结构来实现信息的储存方式,用数组方式,把每条信息都编译成一个数组,如销售员代号用name[4]记录。

头文件还包括了定义常数记录数typedefstruct,主函数原型:

intmenu_select();/*声明函数*/

intenter(RECODEt[]);/*声明函数*/

voidsalor(RECODEt[],intn);/*声明函数*/

intsum(RECODEt[],intn,intm);/*声明函数*/

voidlist1(RECODEt[],intn);/*声明函数*/

voidlist2(RECODEt[],intn);/*声明函数*/

voidlist3(RECODEt[],intn);/*声明函数*/

voidsave(RECODEt[],intn);/*声明函数*/

intload(RECODEt[]);/*声明函数*/

这些的都是主函数需要用到的数据,因此放入头文件当中,在主程序开始之前直接引用#include"pro.h"。

2.编辑系统菜单运行:

(组员:

刘志强完成)

题目要求我们系统以菜单方式工作,所以我们现要定义一个系统的结构体数组RECODErec[600],用for(;;)循环让菜单实现无限循环,让switch(menu_select())调用主菜单函数,返回值整数作开关语句的条件,之后分别定义菜单的信息,如:

case1:

length=enter(rec);

就是输入信息的定义编辑,当然最后需要用到break来实现返回。

菜单定义完成之后,开始编译菜单的输出,这部分,用了printf就把需要显示的菜单显示出来,然后由用户选择菜单的选项,因为菜单只有0~7的选项,为了防止用户输入选项超值,所以用dowhile语句来控制,(c<0||c>7)限定了用户输入的数据只有0~7才有效,超值则返回开始菜单,重新选择(return)。

3.输入信息:

(组员:

李飞完成)

输入信息一般都是使用scanf来实现,但在用户输入之前需要解决一个问题,程序必须限制用户的输入序数(记录条数),所以在输入数据之前,必须先限定序数,方法则是用一个for循环来实现,有用户输入一个数字,成为循环的上限,而用户输入的便条信息则在此限定下,不能超出,当超出时则返回到开始菜单。

用户输入的便条信息分别存入对应的数组当中,如便条条数则存入t[i].num当中。

4.保存信息,参数为结构体数组和记录数:

(组员张恩斌完成)

用户输入的信息需要保存时,用save选项进行保存。

保存的时候,实现应该建立一个指向文件的指针,从而固定保存文件时的位置,之后用if语句来判断打开文件是否正常,if((fp=fopen("record.txt","wb"))==NULL),如果没打开(打开不正常),则程序执行退出;当判断文件打开正常时,系统显示“保存文件”(用printf("\n保存文件\n")来完成),保存信息是用到的fprintf函数,将制定记录数输入文件fprintf(fp,"%d",n),因为源文件中采用了换行,保存文件是系统默认不会进行保存,所有必须加如换行符号保存,防止文件丢失,保证文件以用户输入的信息一致,保存换行符号依然采用fprintf函数来实现,具体源文件为fprintf(fp,"\r\n");当确立了保存的可以性之后,系统开始录入需要保存的信息,用for循环语句,不断把用户输入的信息保存,因为之前在编写输入,输出程序时,都用到了一定的格式,保证信息的一一对应,所以在保存文件时,也需要确定和输入是相同的格式,这里依然使用fprintf函数来进行保存,如fprintf(fp,"%-10d%-7d%-7d%-7d%-7d-7d",t[i].name,t[i].a1,t[i].a2,t[i].a3,t[i].a4,t[i].a5)就是把销售员代号,产品代号,销售额按照间隔7个字符格式进行保存,在保存格式确立后,需要把换行符号再次写入文件,程序结束后fclose结束保存,并用printf输出“文件保存成功”,让用户知道已经保存文件。

5.读入取函数,参数为结构体数组:

(组长:

朱勇进完成)

前面已经做了文件的保存,当保存文件成功后,系统会以record.txt文件保存在与程序同级的文件夹下,而读入函数,就是为了让用户再次打开运行程序时,可以直接读取之前已经输入并保存过的信息,和储存信息一样,读入函数也采用了参数为结构体数组,同样应该确定文件指向指针FILE*fp,读入函数之前,应该确定是否有已经保存的文件,用保存文件一样,用if语句来进行判断if((fp=fopen("record.txt","rb"))==NULL),如果判断失败,系统不能读入文件,则会显示“不能打开文件”,用printf("不能打开文件\n")来实现,同时系统要结束读入文件的执行,用exit

(1)实现;如果判断成功,则系统会自动读入用户已经保存的数据(fscanf(fp,"%d",&n)读入记录数),用for循环把已经保存的数据一一对应的读入到正在执行的程序中,这里需要注意的是,读取的数据格式应该同保存时的一至,组成的格式与读取格式保持一致的原则我们编写了该方式fprintf(fp,"%-10d%-7d%-7d%-7d%-7d-7d",t[i].name,t[i].a1,t[i].a2,t[i].a3,t[i].a4,t[i].a5),则读入的时的格式就为fscanf(fp,"%d%d%d%d%d%d",&(t[i].name),&(t[i].a1),&(t[i].a2),&(t[i].a3),&(t[i].a4),&(t[i].a5)),读取成功后关闭文件fclose(fp),并显示“成功地从文件读入数据!

!

!

”(用printf实现)。

6.清单输出:

(组长:

朱勇进完成)读取销售情况有3个,分别是每个人每种产品的销售额,按销售额对销售员进行排序和每种产品的总销售额三个函数:

1).每个人每种产品的销售额:

首先,要定义每个人,每种产品,销售额数组如inti,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},用for循环来求每个人的总销售额:

for(i=0;i<4;i++);用for循环来求每个人每种产品的总销售额:

for(i=0;i

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > PPT模板 > 国外设计风格

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1