C语言课程设计 2

发布 2022-10-01 14:13:28 阅读 5695

姓名: 苏婉君。

专业。班号。

学号: 20111003851

指导老师。目录。

c语言课程设计-销售管理系统 3

销售管理系统的设计目的 4

总体设计 5

详细设计 7

一、课题的功能模块的划分。 7

1.主菜单及头文件设计: 7

2.编辑系统菜单运行: 8

3.输入信息: 9

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

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

6.清单输出: 11

二、主要功能的实现 13

程序调试与测试 20

执行结果 20

总结 28题目:销售管理系统。

某公司有四个销售员(编号:1-4),负责销售五种产品(编号:1-5)。每个销售员都将当天**的每种产品各写一张便条交上来。每张便条包含内容:

1)销售员的代号

2)产品的代号

3)这种产品的当天的销售额

每位销售员每天可能上缴0-5张便条。假设,收集到了上个月的所有便条,编写一个处理系统,读取上个月的销售情况(自己设定),进行如下处理。

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

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

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

4)输出统计报表。

1、通过本课程设计,培养上机动手能力,使学生巩固《c语言程序设计》课程学习的内容,掌握工程软件设计的基本方法,强化上机动手能力,闯过编程关;

2、为后续各门计算机课程的学习打下坚实基础;

3、学会用c语言程序设计来设计销售管理系统设计。

数据结构图如下:

如图为程序设计流程图;

我们按照老师所给的示例我们首先编译了一个头文件,在头文件里,编译了主函数需要用到的一些函数,如#include ""等,因为需要录入便条的所有信息,所有用一个数据结构来实现信息的储存方式,用数组方式,把每条信息都编译成一个数组,如销售员代号用name[4]记录。头文件还包括了定义常数记录数typedef struct,主函数原型。

int menu_select();声明函数*/

int enter(recode t)声明函数*/

void salor(recode t,int n);/声明函数*/

int sum(recode t,int n,int m);/声明函数*/

void list1(recode t,int n);/声明函数*/

void list2(recode t,int n);/声明函数*/

void list3(recode t,int n);/声明函数*/

void s**e(recode t,int n);/声明函数*/

int load(recode t)声明函数*/

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

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

case 1:

length=enter(rec);

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

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

用户输入的信息需要保存时,用s**e选项进行保存。保存的时候,实现应该建立一个指向文件的指针,从而固定保存文件时的位置,之后用if语句来判断打开文件是否正常,if((fp=fopen(""wb"))null),如果没打开(打开不正常),则程序执行退出;当判断文件打开正常时,系统显示“保存文件”(用printf("保存文件")来完成),保存信息是用到的fprintf函数,将制定记录数输入文件fprintf(fp,"%d",n),因为源文件中采用了换行,保存文件是系统默认不会进行保存,所有必须加如换行符号保存,防止文件丢失,保证文件以用户输入的信息一致,保存换行符号依然采用fprintf函数来实现,具体源文件为fprintf(fp,"");当确立了保存的可以性之后,系统开始录入需要保存的信息,用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输出“文件保存成功”,让用户知道已经保存文件。

前面已经做了文件的保存,当保存文件成功后,系统会以文件保存在与程序同级的文件夹下,而读入函数,就是为了让用户再次打开运行程序时,可以直接读取之前已经输入并保存过的信息,和储存信息一样,读入函数也采用了参数为结构体数组,同样应该确定文件指向指针file *fp,读入函数之前,应该确定是否有已经保存的文件,用保存文件一样,用if语句来进行判断if((fp=fopen(""rb"))null),如果判断失败,系统不能读入文件,则会显示“不能打开文件”,用printf("不能打开文件")来实现,同时系统要结束读入文件的执行,用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).每个人每种产品的销售额(由周锐完成): 首先,要定义每个人,每种产品,销售额数组如 int i,j,sum0=0,sum1=0,sum2=0,sum3=0,sum4=0,sum5=0; int c[4],b1[4]=,b2[4]=,b3[4]=,b4[4]=,b5[4]=,用for循环来求每个人的总销售额:

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

2).按销售额对销售员进行排序(由赵弘完成): 此部分要分两部分其一是,每位销售员销售额;其二是,按销售额对销售员排序。

在求每个销售员销售额时也是要先定义销售员代号,产品代号,销售额。接着是则是用输入要查询的销售员的代号,用scanf("%d",&s)来记录输入销售员代号的信息,然后输出头标(如销售员代号,产品代号,销售额等,用printf实现),之后开始查询,查询信息首先需要一个for语句来,实现对已存入数据的所有查询for(i=0;i

上面是求每个销售员销售额,接着是要在上面的基础上排序。首先要定义两个数组如:int c[4],m[4],接着用for循环(for(i=0;i<4;i++)for(j=i+1;j<4;j++)对销售员的销售额进行排序,再用if语句来求,最后是输出用printf("%d",m[i])实现。

3).每种产品的总销售额(由李鸿完成): 也一样首先要定义数组,接着用c[i]=sum(t,n,i+1) 求每个人的总销售额,再用for循环,再用sum0+=c[i]对所有产品的销售额求总,用for循环对每个人每种产品的销售额求总销售额,再用for循环实现每种产品的总销售额,然后输出头标(如销售员代号,产品代号,总销售额等,用printf实现)即可。

C语言课程设计 2

第二章循环程序结构设计。1 有一分数序列 2 1,3 2,5 3,8 5,13 8,21 13.求出这个数列的前20项之和。分析 数据组织形式 数据结构 首先申明两个变量i,n.为了控制n 20。算法。输入变量t,x,y,s,sun.根据算式的结构形式给变量赋值,然后由循环变量的计算方法输入循环量进...

C语言课程设计 2

第二章循环程序结构设计。1 已知公鸡每只5元,母鸡每只3元,小鸡1元买3只。要求用100元钱正好买100只鸡,问公鸡 母鸡 小鸡各多少只?分析 1 数据组织形式 数据结构 要求求出公鸡 母鸡 小鸡的个数。可以利用for语句循环来求出。2 算法。先定义公鸡 母鸡 小鸡数为a b c,再根据。for a...

C语言课程设计报告 2

设计题目 学生成绩管理系统。系 院经济管理学院。学年学期 2010 2011 学年第 1 学期2010年 1 月 3 日。c语言课程设计任务书。摘要 本系统使用visual c 语言编写制作一个对学生成绩信息的管理系统,对于信息管理的具体分类,例如 学生信息,成绩信息进行管理,信息查询进行方便查询。...