c语言课程设计(销售管理系统)【完整版】

合集下载

C语言课程设计《商品销售管理系统》

C语言课程设计《商品销售管理系统》

商品销售管理系统目录一、需求分析 (2)二、概要设计 (2)三、详细设计 (4)四、调试分析 (14)五、用户手册 (14)六、测试数据 (15)七、附录 (18)—1—一、需求分析商品销售管理程序商品信息:商品编号、商品名称、商品类别(普通电视机、DVD、带DVD 的电视机,带DVD的电视机的售价为普通电视机和DVD单价之和的80%)、商品进货价格、商品销售价格、商品数量、供应商名称等。

记录每一次销售商品的数量和价格,并提供对已售出商品的价格、数量进行统计、排序功能,但允许用户退商品。

(要求:1.源文件采用多文件的工程结构2.数据存储采用文件形式3.标准的C 输入输出4.功能完善,适当的注释,5.关于文件的内容需要自学)二、概要设计(一)按系统分析的功能要求将系统划分为以下几个主要功能模块:1、文件管理文件打开、关闭:对于刚输入或进行操作后的商品信息,在建立新的商品库存量后,可以把其保存在一个文件中,并对该文件可进行打开和关闭操作。

2、进出货管理(1)商品进货: 输入数据后商品信息能自动更新进行添加(2)商品销售: 输入数据后商品信息能自动更新进行减少3、商品数据管理(1)增加/删除商品: 添加或删除某条商品的信息(2)修改商品信息: 对某条商品的信息进行修改4、浏览商品信息管理(1)查询商品信息:可分别按商品编号、名称、类别或需要进货商品查询(2)排序商品信息: 可按商品编号、名称、类别分别排排序(3)浏览商品信息:可浏览输入、查询或排序后的数据。

(二)本程序结构(1)结构体设计struct goods{ long int num;char name[20];char sort[20];long int count;long int price;}goods[200];(2)各功能函数设计:void input() /*功能1:输入商品信息*/—2—void sequence() /*功能2:排序商品信息*/void purchase() /*功能3:进货商品信息*/void sell() /*功能4:销售商品信息*/void edit() /*功能5:添加或删除商品信息*/void correct() /*功能6:修改商品信息*/void search() /*功能7:查询商品信息*/void scan() /*功能8:浏览商品信息*/void reserve() /*功能9:保存文件*/void quit() /*退出系统*/(3)主函数设计:void main (){void input();void sequence();void purchase();void sell();void edit();void correct();void search();void scan();void reserve();lp: for(i=0;i<1;i++)scanf("%d",&k);system("cls");switch(k) /*用switch语句实现功能选择*/system("cls"); /*清屏*/goto lp; /*返回主界面*/}三、详细设计(1)各功能函数:void input() /*功能1:输入商品信息*/{printf("\n 请输入需要建立新库存的商品种类数量:");scanf("%d",&n);system("cls");printf("\n …………………………………………………………………………………………………\n");for(i=0;i<n;i++) /*用循环实现输入n个商品*/{printf("\n\t*请输入商品的编号:");scanf("%ld",&goods[i].num);printf("\n\t 请输入商品的名称:");—3—scanf("%s",goods[i].name);printf("\n\t 请输入商品的种类:");scanf("%s",goods[i].sort);printf("\n\t 请输入商品的数量:");scanf("%d",&goods[i].count);printf("\n\t 请输入商品的单价:");scanf("%d",&goods[i].price);printf("\n …………………………………………………………………………………………………\n");}printf("\tPlease press any key to continue:");getch();return; /*返回主界面*/}void sequence() /*功能2:排序商品信息*/{long temp;char p1[30],p2[30];for(k=0;k<n-1;k++) /*(1): 按编号排序*/for(i=0;i<n-k-1;i++) /*用起泡法排序*/if(goods[i].num>goods[i+1].num) /*按编号由小到大排序*/{temp=goods[i].num;goods[i].num=goods[i+1].num;goods[i+1].num=temp;strcpy(p1,goods[i].name);strcpy(goods[i].name,goods[i+1].name);strcpy(goods[i+1].name,p1);strcpy(p2,goods[i].sort);strcpy(goods[i].sort,goods[i+1].sort);strcpy(goods[i+1].sort,p2);}printf("--------------------------------------------------------------------------------\n");printf("\n\t\t按商品编号排序后的商品信息\n\n");printf("\t商品编号商品名称商品类别商品数量商品单价\n"); /*输出排序后商品信息*/for(i=0;i<n;i++){printf("\t %5ld %5s %5s %5ld %5ld\n",go ods[i].num,goods[i].name,goods[i].sort,goods[i].count,goods[i].price) ;}for(k=0;k<n-1;k++) /*(2): 按商品名称排序*/for(i=0;i<n-k-1;i++)if(strcmp(goods[i].name,goods[i+1].name)>0){strcpy(p1,goods[i].name);strcpy(goods[i].name,goods[i+1].name);strcpy(goods[i+1].name,p1);temp=goods[i].num;goods[i].num=goods[i+1].num;goods[i+1].num=temp;strcpy(p2,goods[i].sort);strcpy(goods[i].sort,goods[i+1].sort);strcpy(goods[i+1].sort,p2);}printf("--------------------------------------------------------------------------------\n");printf("\n\t\t按商品名称排序后的商品信息\n");printf("\n\t商品名称商品编号商品类别商品数量商品单价\n"); /*输出排序后商品信息*/for(i=0;i<n;i++){printf("\t %5s %5ld %5s %5ld %5ld\n",goods[ i].name,goods[i].num,goods[i].sort,goods[i].count,goods[i].price);}for(k=0;k<n-1;k++) /*(3): 按商品类别排序*/for(i=0;i<n-k-1;i++) /*用起泡法排序*/if(strcmp(goods[i].sort,goods[i+1].sort)>0){strcpy(p2,goods[i].sort);strcpy(goods[i].sort,goods[i+1].sort);strcpy(goods[i+1].sort,p2);temp=goods[i].num;goods[i].num=goods[i+1].num;goods[i+1].num=temp;strcpy(p1,goods[i].name);strcpy(goods[i].name,goods[i+1].name);strcpy(goods[i+1].name,p1);}printf("--------------------------------------------------------------------------------");printf("\n\t\t按商品类别排序后的商品信息\n\n");printf("\t商品类别商品编号商品名称商品数量商品单价\n"); /*输出排序后商品信息*/for(i=0;i<n;i++){printf("\t %5s %5ld %5s %5ld %5ld\n",goods[i].sort,goods[i].num,goods[i].name,goods[i].count,goods[i].price);}printf("--------------------------------------------------------------------------------");printf("please press any key to continue:");getch();return; /*返回主界面*/}void purchase() /*功能3:进货商品信息*/ {long temp; /*定义临时变量表示刚进货的商品编号*/int j;printf("\n\t\5请输入刚进货的商品编号:");scanf("%ld",&temp);printf("\n\t\5请输入刚进货的商品数量:");scanf("%d",&j);printf("\n\n\n\tpress any key to contiue:");getch();system("cls");printf("\n\t输出进货后的商品信息:");for(i=0;i<n;i++) /*循环,寻找与进货相同的商品信息*/if(temp==goods[i].num)goods[i].count=goods[i].count+j; /*自动更改商品数量*/printf("\n\t商品编号商品名商品类别商品数量商品价格");for(i=0;i<n;i++) /*循环,输出进货后的商品信息*/{printf("\n\t %4ld %4s %4s %ld %4ld",goods[i].num,goods[i].name,goods[i].sort,goods[i].count,goods[i].price);}printf("\n\n\t\tPress any key to enter menu:");getch(); /*返回功能选择界面*/return;}—6—void sell() /*功能4:销售商品信息*/{long temp; /*定义临时变量temp表示刚销售的商品编号*/int j;printf("\n\t\5请输入刚销售的商品编号:");scanf("%ld",&temp);printf("\n\t\5请输入刚销售的商品数量:");scanf("%d",&j);for(i=0;i<n;i++) /*循环,找到刚销售的商品信息*/{if(temp==goods[i].num){for(;j>goods[i].count;) /*如果销售额大于库存量,则出现错误提示*/{printf("\n\t售出数量大于商品原有数量,出现错误,请重新输入:");scanf("%d",&j);}goods[i].count=goods[i].count-j; /*完成自动更改商品数量的功能*/}}printf("\n\tpress any key to contiue:");getch();system("cls"); /*清屏*/printf("\n\n *销售后商品信息:");printf("\n\t商品类别商品编号商品名称商品数量商品单价\n");for(i=0;i<n;i++) /*循环,输出销售后商品信息*/{printf("\t %4s %4ld %4s %4ld %4ld\n",goods[i].sort,goods[i].num,goods[i].name,goods[i].count,goods[i].price);}printf("\n\tPress any key to enter menu:");getch();return; /*返回功能选择界面*/}void edit() /*功能5:添加或删除商品信息*/ {void add(); /*声明子函数*/void dele();—7—printf("\n\t请选择:1.添加商品信息; 2.删除商品信息;");printf("\t*请输入 1或2 继续:");scanf("%d",&k);switch(k) /*用switch语句实现功能选择*/{case 1: add();break;case 2: dele();break;}getch();return; /*返回主菜单*/}void add() /*添加商品信息*/{ /*定义子函数*/printf("\t*请输入所添加商品的商品编号:");scanf("%ld",&goods[n].num);printf("\n\t请输入所添加商品的名称:");scanf("%s",goods[n].name);printf("\n\t请输入所添加商品的类别:");scanf("%s",goods[n].sort);printf("\n\t请输入所添加商品的数量:");scanf("%d",&goods[n].count);printf("\n\t请输入所添加商品的价格:");scanf("%d",&goods[n].price);n=n+1;printf("\n");}void dele() /*删除商品信息*/{ /*定义子函数*/int temp; /*定义局部变量*/int j;for(i=0;i<n;i++){printf("\n\t商品编号商品名商品类别商品数量商品价格");printf("\n\t %5ld %5s %5s %5ld %5ld",good s[i].num,goods[i].name,goods[i].sort,goods[i].count,goods[i].price);printf("\n");}printf("\n");printf("\n*请输入要删除的商品编号:");scanf("%ld",&temp);printf("\n\n");—8—for(i=0;i<n;i++){if(temp==goods[i].num){for(j=i;j<n;j++){goods[j].num=goods[j+1].num;strcpy(goods[j].name,goods[j+1].name);strcpy(goods[j].sort,goods[j+1].sort);goods[j].count=goods[j+1].count;goods[j].price=goods[j+1].price;}n=n-1; /*商品总库存量减少*/}}for(i=0;i<n;i++){printf("\n\t商品编号商品名商品类别商品数量商品价格"); /*输出删除后的商品信息*/printf("\n\t %5ld %5s %5s %5ld %5ld",goods[i].num,goods[i].name,goods[i].sort,goods[i].count,goods[i].price);printf("\n");}printf("Please press any key to continue:");getch();return; /*返回主界面*/}void correct() /*功能6:修改商品信息*/ {long temp; /*定义局部变量*/printf("\n\t请输入要修改的商品的编号:");scanf("%ld",&temp); /*输入新的商品信息*/printf("\n");for(i=0;i<n;i++) /*保存新的商品信息*/{if(temp==goods[i].num){printf("\t请输入一个新的的商品编号:");scanf("%ld",&goods[i].num);printf("\n\t请输入新的商品的名称:");scanf("%s",goods[i].name);printf("\n\t请输入新的商品的类别:");—9—scanf("%s",goods[i].sort);printf("\n\t请输入新的商品的数量:");scanf("%d",&goods[i].count);printf("\n\t请输入新的商品价格:");scanf("%d",&goods[i].price);printf("\n");}}for(i=0;i<n;i++){printf("\n\t新的商品名称商品编号商品类别商品数量商品单价\n");printf("\t %4s %4ld %4s %4ld %4ld",goods[i].name,goods[i].num,goods[i].sort,goods[i].count,goods[ i].price);printf("\n");}printf("Please press any key to continue:"); /*返回功能选择界面*/ getch();return; /*返回主菜单*/}void search() /*功能7:查询商品信息*/{int k; /*定义局部变量*/long temp1;char temp2[30],temp3[20];printf("\n\t\5按商品编号查询,请按1\t\t\t\5按商品名查询,请按2\n\t\5按商品类别查询,请按3\t\t\t\5查需要进货的商品,请按4\n");printf("\n\n\n\t\t\t请输入数字确定查询方式:");scanf("%d",&k);printf("\n");printf("Press any key to continue:");getch();system("cls");switch(k) /*实现查询方式的选择*/{case 1:{ printf("\n\n\n\n\n\t\t请输入要查询的商品的编号:"); /*按商品编号查询*/scanf("%ld",&temp1);system("cls"); /*清屏*/for(i=0;i<n;i++){—10—if(temp1==goods[i].num){printf("\n");printf("\n\t商品编号商品名商品类别商品数量商品价格");printf("\n\t %5ld %5s %5s %5ld %5ld",goods[i] .num,goods[i].name,goods[i].sort,goods[i].count,goods[i].price);}}}break; /*跳出switch语句*/case 2:{ printf("\n\n\n\n\n\t\t请输入要查询的商品名:"); /*按商品名查询数据*/scanf("%s",temp2);system("cls");for(i=0;i<n;i++){if(strcmp(temp2,goods[i].name)==0){printf("\n");printf("\n\t商品编号商品名商品类别商品数量商品价格");printf("\n\t %5ld %5s %5s %5ld %5ld",goods[i] .num,goods[i].name,goods[i].sort,goods[i].count,goods[i].price);}}}break; /*跳出switch语句*/case 3:{ printf("\n\n\n\n\n\t\t请输入要查询的商品类别:"); /*按商品类别查询数据*/scanf("%s",temp3);system("cls");for(i=0;i<n;i++){if(strcmp(temp3,goods[i].sort)==0){printf("\n");printf("\n\t商品编号商品名商品类别商品数量商品价格");printf("\n\t %5ld %5s %5s %5ld %5ld",goods[i].num,goods[i].name,goods[i].sort,goods[i].count,goods[i] — 11 —.price);}}}break; /*跳出switch语句*/case 4:{ int a=50;for(i=0;i<n;i++) /*查询需要进货的商品名*/{if(goods[i].count<a)printf("\n\t\t\4需要进货的商品名:%s 现有库存量:%ld\n",goods[i].name,goods[i].count);}}break; /*跳出switch语句*/}printf("\n\n\t\tPress any key to enter menu:");getch();return; /*返回主界面*/}void scan() /*功能8:浏览商品信息*/ {printf("\n\t浏览输入的商品信息,请按1\n\n\t浏览查询的商品信息,请按2\n\n\t浏览排序后商品信息,请按3\n");printf("请选择:");scanf("%d",&k);switch(k){case 1:{ printf("\t\t\t浏览输入的商品信息\n");printf("\t商品编号商品名商品类别商品数量商品价格\n");/*输出浏览商品信息*/for(i=0;i<n;i++){printf("\t%5ld %5s %5s %5ld %ld",goods[i].num,goods[i].name,goods[i].sort,goods[i].count,goods[i].price);printf("\n");}printf("Press any key to enter menu:");getch();return;} break; /*跳出switch语句*/case 2:{ printf("\t\t\t浏览查询的商品信息\n");—12—printf("\t商品编号商品名商品类别商品数量商品价格\n");/*输出浏览商品信息*/for(i=0;i<n;i++){printf("\t%5ld %5s %5s %5ld %ld",goods[i] .num,goods[i].name,goods[i].sort,goods[i].count,goods[i].price);printf("\n");}printf("\nPress any key to enter menu:");getch();return;} break; /*跳出switch语句*/case 3:{ printf("\t\t\t浏览按商品编号排序的商品信息\n");printf("\t商品编号商品名商品类别商品数量商品价格\n");/*输出浏览商品信息*/for(i=0;i<n;i++){printf("\t%5ld %5s %5s %5ld %ld",goods[i].num ,goods[i].name,goods[i].sort,goods[i].count,goods[i].price);printf("\n");}printf("\nPress any key to enter menu:");getch();return; /*返回主界面*/} break; /*跳出switch语句*/}}void reserve() /*功能9:保存文件*/{FILE *fp;char file[15]; /*用来存放文件保存路径以及文件名*/system("cls"); /*清屏*/printf("\n\t*请输入文件路径及文件名:");scanf("%s",file);fp=fopen("file","w+"); /*创建并打开一个文件,并得到该文件的地址*/fprintf(fp,"商品编号\t商品名 \t商品类别\t商品数量\t商品价格\n"); printf("商品编号\t商品名 \t 商品类别\t 商品数量\t 商品价格\n");for(i=0;i<n;i++)—13—{fprintf(fp,"%ld\t\t%s\t\t%s\t\t%d\t\t%d\n",goods[i].num,goods[i].name ,goods[i].sort,goods[i].count,goods[i].price);printf("%ld\t\t%s\t\t%s\t\t%d\t\t%d\n",goods[i].num,goods[i].name,goo ds[i].sort,goods[i].count,goods[i].price);}fclose(fp); /*关闭文件*/printf("文件已经保存!\n");getch();system("cls"); /*清屏*/}void quit() /*退出系统*/{exit(0);}四、调试手册(1)、sp.c(225) : warning C4013: 'add' undefined; assuming extern returning int add()函数声明错误。

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

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

c语言销售管理系统课程设计一、课程目标知识目标:1. 学生能理解C语言在开发销售管理系统中的应用,掌握基本的程序结构、语法和常用库函数。

2. 学生能掌握使用C语言进行数据存储、读取、计算和展示的方法,并能应用于销售管理系统的设计与实现。

3. 学生能理解销售管理系统的业务流程,掌握相关算法和数据处理方法。

技能目标:1. 学生能运用所学知识,独立设计并编写简单的销售管理系统模块,如商品信息管理、销售记录管理等。

2. 学生能通过调试和优化程序,提高销售管理系统的稳定性和效率。

3. 学生能运用所学知识解决实际问题,具备一定的编程实践能力。

情感态度价值观目标:1. 学生在学习过程中,培养对编程的兴趣和热情,形成积极向上的学习态度。

2. 学生通过团队协作,培养沟通、协作和解决问题的能力,增强团队意识。

3. 学生能够认识到编程在现实生活中的应用价值,激发对计算机技术发展的关注和探索。

课程性质:本课程为实践性较强的课程,旨在让学生通过动手实践,掌握C语言在销售管理系统中的应用。

学生特点:学生具备一定的C语言基础,对编程有一定了解,但实际操作经验不足。

教学要求:注重理论与实践相结合,强调动手实践,培养学生解决实际问题的能力。

在教学过程中,关注学生的个体差异,因材施教,提高学生的编程水平和综合素质。

二、教学内容1. 销售管理系统概述:介绍销售管理系统的基本概念、功能模块及其在实际应用中的重要性。

- 教材章节:第一章 引言2. C语言基础回顾:回顾C语言的基本语法、数据类型、运算符、控制结构等,为后续编程实践打下基础。

- 教材章节:第二章 C语言基础3. 数据存储与读取:学习文件操作、内存分配等知识,掌握数据在销售管理系统中的存储和读取方法。

- 教材章节:第三章 文件操作、第四章 内存管理4. 销售管理系统功能模块设计:- 商品信息管理:学习结构体、数组等知识,实现商品信息的添加、修改、查询和删除功能。

- 教材章节:第五章 结构体与数组- 销售记录管理:学习链表、排序等知识,实现销售记录的录入、查询、统计和排序功能。

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

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

c语言课程设计销售管理系统一、教学目标本章节的教学目标旨在让学生掌握C语言编程基础,能够运用C语言设计销售管理系统。

具体目标如下:1.知识目标:学生需要掌握C语言的基本语法、数据类型、运算符、控制结构、函数等基础知识,了解结构体和文件操作等相关概念。

2.技能目标:学生能够运用C语言进行程序设计,具备编写和调试C语言程序的能力。

学生能够运用结构体设计销售管理系统的相关数据结构,并使用文件操作实现数据的持久化存储。

3.情感态度价值观目标:学生能够体验到编程的乐趣,培养对计算机科学的兴趣。

通过完成销售管理系统的项目,培养学生的创新能力和团队合作意识。

二、教学内容本章节的教学内容主要包括C语言的基本语法、数据类型、运算符、控制结构、函数等基础知识,以及结构体和文件操作等相关概念。

具体安排如下:1.C语言基本语法和数据类型:介绍C语言的基本语法规则,包括变量声明、数据类型、运算符等。

2.控制结构:讲解条件语句和循环语句的用法,包括if语句、switch语句、for循环、while循环等。

3.函数:介绍函数的定义和调用,包括主函数、参数传递、返回值等。

4.结构体:讲解结构体的定义和使用,包括结构体的声明、成员访问、结构体数组等。

5.文件操作:介绍文件操作的基本方法,包括文件的打开、读写、关闭等。

6.销售管理系统的实现:引导学生运用所学知识设计和实现一个简单的销售管理系统,包括数据结构的设计、功能的实现和文件的操作。

三、教学方法本章节的教学方法采用讲授法、案例分析法和实验法相结合的方式。

具体安排如下:1.讲授法:教师通过讲解C语言的基本语法、数据类型、运算符、控制结构、函数等基础知识,引导学生理解和掌握相关概念。

2.案例分析法:教师通过分析典型的销售管理系统的案例,引导学生运用所学知识进行系统设计和功能实现。

3.实验法:教师引导学生进行实验,让学生亲自动手编写和调试C语言程序,培养学生的编程能力和解决问题的能力。

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

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

c语言销售管理系统课程设计一、教学目标本课程的目标是让学生掌握C语言销售管理系统的基本概念、设计方法和实现技巧。

通过本课程的学习,学生应能够:1.理解销售管理系统的业务流程和需求分析。

2.掌握C语言的基本语法和数据结构。

3.学会使用C语言进行程序设计和调试。

4.能够独立完成销售管理系统的模块设计和实现。

5.培养学生的团队协作能力和问题解决能力。

二、教学内容本课程的教学内容主要包括以下几个部分:1.销售管理系统的需求分析:介绍销售管理系统的业务流程,让学生了解销售管理系统的基本功能和需求。

2.C语言基础:讲解C语言的基本语法、数据类型、运算符、控制结构等,为学生进行程序设计打下基础。

3.数据结构:介绍常用的数据结构,如数组、链表、栈和队列等,让学生学会如何选择合适的数据结构来解决实际问题。

4.销售管理系统的模块设计:引导学生运用C语言和数据结构知识,分模块设计销售管理系统。

5.程序调试与优化:讲解程序调试的方法和技巧,让学生能够独立发现和解决问题。

三、教学方法为了提高教学效果,本课程将采用多种教学方法相结合的方式进行教学:1.讲授法:讲解基本概念、原理和方法,让学生掌握销售管理系统的设计思路。

2.案例分析法:分析实际案例,让学生了解销售管理系统的应用场景。

3.实验法:让学生动手实践,培养实际编程能力和问题解决能力。

4.讨论法:学生进行小组讨论,促进学生之间的交流与合作。

四、教学资源为了支持教学内容和教学方法的实施,我们将准备以下教学资源:1.教材:《C语言程序设计》等相关教材,为学生提供理论基础。

2.参考书:提供一些销售管理系统的经典案例和源代码,供学生参考学习。

3.多媒体资料:制作课件、教学视频等,丰富教学手段,提高学生的学习兴趣。

4.实验设备:提供计算机、编程环境等,让学生能够进行实际编程和调试。

五、教学评估本课程的评估方式将包括以下几个方面:1.平时表现:评估学生在课堂上的参与程度、提问和回答问题的表现等,占总评的20%。

C语言销售管理系统设计(内含完整代码及附件)

C语言销售管理系统设计(内含完整代码及附件)

用户下载须知程序语言:C、C++、C#(红色字体表示本课设使用的程序设计语言)图形功能选项:Win32控制台程序(黑框、文本界面)、Win32程序、MFC、WinForm、DirectX10(红色字体表示本课设的程序图形类别,默认为非图形界面Win32控制台程序)数据结构:基础类型、数组、链表、双向链表、搜索树(非平衡二叉树)、平衡二叉树、链表与平衡二叉树相结合、堆栈、队列、串、图(红色字体表示本课设使用的数据结构)C++语言项:STL库(红色字体表示使用C++的STL库)编译环境:Windows 7 64位旗舰版(Linux及其他环境请谨慎下载)集成开发环境:Visual C++ 6.0、DEVC++、CodeBlocks、Visual Studio 2015(需进行修改)均可通过编译。

(若无法通过编译运行,则会用浅蓝色字体表示)分多头文件编译:否(所有代码基本都包含在一个文件内,如需试验头文件功能,请自行参考相关文献)内容说明:1、课设题目及预览内容将在第二页开始展示。

2、代码行数:304行3、目录所示内容,本文基本涵盖,如无内容,会在本页进行说明。

4、附录绝对包含用户使用手册及程序完整源代码和详细注释。

5、如需下载其他头文件(例如DirectX需另行配置),本文会在此进行说明。

6、未经平台、本人及相关法律法规允许,请勿用于其它商业行为,否则后果自负。

7、本文撰写内容仅供学习参考,另外,由于本人水平有限,编写之处难免存在错误和纰漏,恳请各位老师或同学批评指正。

销售管理系统设计某公司有四个销售员(编号:1-4),负责销售五种产品(编号:A-E)。

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

每张便条包含内容:1)销售员的代号,2)产品的代号,3)这种产品当天的销售额。

每位销售员每天上缴1张便条。

系统基本功能:1、系统以菜单方式工作2、便条信息录入功能(便条信息用文件保存)3、收集到了上个月的所有便条后,读取销售情况1)计算每个人每种产品的销售额。

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

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

销售管理系统c语言课程设计一、课程目标知识目标:1. 理解C语言在销售管理系统中的应用场景和优势;2. 掌握C语言基本语法和数据结构,如数组、结构体、文件操作等;3. 学会使用C语言实现销售管理系统的基本功能,如商品信息管理、销售记录管理、数据查询等。

技能目标:1. 培养学生运用C语言解决实际问题的能力;2. 提高学生分析需求、设计系统、编写代码、调试程序的能力;3. 培养学生团队协作、沟通表达和解决问题的能力。

情感态度价值观目标:1. 培养学生对编程和计算机科学的兴趣,激发学生的创新意识;2. 增强学生的自信心,培养学生面对困难勇于挑战的精神;3. 引导学生关注社会热点问题,理解销售管理系统在现实生活中的应用,培养学生的社会责任感。

课程性质:本课程为实践性较强的课程,以项目为导向,结合实际应用场景,培养学生的编程能力和解决实际问题的能力。

学生特点:学生已经具备C语言基础知识和一定的编程能力,对实际项目有一定的了解,但可能缺乏项目实战经验。

教学要求:注重理论与实践相结合,以项目为主线,引导学生主动探究,培养其编程思维和实际操作能力。

将课程目标分解为具体的学习成果,便于教学设计和评估。

二、教学内容1. C语言基础回顾:数据类型、运算符、控制结构、函数等基本概念;2. 销售管理系统需求分析:介绍系统功能模块,如商品管理、销售记录、用户管理等;3. 数据结构设计:数组、结构体、链表等在销售管理系统中的应用;4. 文件操作:文件的打开、读取、写入和关闭,实现数据的持久化存储;5. 销售管理系统功能实现:分别实现商品信息管理、销售记录管理、数据查询等功能;- 商品信息管理:添加、修改、删除商品信息;- 销售记录管理:记录销售数据,实现销售统计;- 数据查询:根据需求查询商品信息和销售记录;6. 系统测试与优化:对销售管理系统进行功能测试、性能测试和优化;7. 项目总结与评价:总结项目实施过程中的经验和教训,进行自我评价和互相评价。

销售管理系统c课程设计

销售管理系统c课程设计

销售管理系统 c课程设计一、课程目标知识目标:1. 让学生理解销售管理系统的基本概念,掌握其功能模块和业务流程。

2. 使学生掌握数据库设计原则,能运用数据库技术进行销售数据的存储和管理。

3. 帮助学生掌握面向对象编程思想,运用编程语言实现销售管理系统的功能。

技能目标:1. 培养学生运用数据库技术进行数据分析和处理的能力,能独立完成销售数据表的创建和查询。

2. 提高学生运用编程语言进行销售管理系统功能开发的能力,能实现基本的增删改查功能。

3. 培养学生运用软件工程方法进行项目设计和团队协作的能力,能参与小型销售管理系统的设计与开发。

情感态度价值观目标:1. 培养学生对信息技术的兴趣和求知欲,激发他们主动探索新技术、新方法的热情。

2. 培养学生具备良好的职业道德,重视个人信息安全和数据保密,遵循法律法规。

3. 培养学生具备团队协作精神,学会沟通、交流,提高解决问题的能力。

本课程针对高年级学生,具有较强的实践性和综合性。

结合学生特点和教学要求,课程目标旨在使学生掌握销售管理系统相关理论知识,培养实际操作能力,同时注重培养学生的职业素养和团队协作精神,为将来从事信息技术工作打下坚实基础。

通过对课程目标的分解,教师可以更好地进行教学设计和评估,确保学生达到预期学习成果。

二、教学内容1. 销售管理系统的基本概念与功能模块:介绍销售管理系统的定义、作用及其在企业中的应用;分析销售管理系统的核心功能模块,如客户管理、销售订单管理、库存管理等。

2. 数据库设计原则与应用:讲解数据库设计的基本原则,如实体-关系模型、范式理论等;结合销售管理系统,展示如何运用数据库技术进行数据存储和管理。

3. 面向对象编程思想:介绍面向对象编程的基本概念,如类、对象、封装、继承、多态等;结合销售管理系统,分析如何运用面向对象编程思想进行系统设计与实现。

4. 销售管理系统功能实现:详细讲解如何运用编程语言(如Java、C#等)实现销售管理系统的核心功能,包括客户管理、销售订单管理、库存管理等模块的编码实现。

c课程设计销售管理系统

c课程设计销售管理系统

c 课程设计销售管理系统一、教学目标本课程旨在让学生了解和掌握销售管理系统的基本概念、架构和操作流程,培养学生运用销售管理知识解决实际问题的能力。

具体目标如下:1.知识目标:(1)理解销售管理系统的定义、功能和分类。

(2)掌握销售管理系统的架构和关键技术。

(3)了解销售管理系统的应用场景和行业案例。

2.技能目标:(1)能够运用销售管理系统进行销售数据分析和决策。

(2)具备销售管理系统的搭建、配置和维护能力。

(3)能够根据实际需求,设计和优化销售管理业务流程。

3.情感态度价值观目标:(1)培养学生对销售管理工作的认识,提高其对销售管理职业的尊重。

(2)培养学生团队合作精神,增强其团队协作能力。

(3)培养学生创新意识,激发其对销售管理领域新技术、新理念的关注和研究。

二、教学内容本课程教学内容主要包括以下几个部分:1.销售管理系统概述:介绍销售管理系统的定义、功能、分类和应用场景。

2.销售管理系统架构:讲解销售管理系统的基本架构,包括前端展示、后端服务、数据库管理等。

3.销售管理系统关键技术:介绍销售管理系统中涉及的关键技术,如数据库技术、网络通信技术、信息安全技术等。

4.销售管理系统应用案例:分析销售管理系统的实际应用案例,让学生了解销售管理系统在企业运营中的作用。

5.销售管理业务流程设计:讲解如何根据企业需求,设计和优化销售管理业务流程。

6.销售数据分析与决策:教授如何运用销售管理系统进行销售数据分析,并据此做出决策。

三、教学方法本课程采用多种教学方法,以激发学生的学习兴趣和主动性:1.讲授法:讲解销售管理系统的基本概念、架构和关键技术。

2.案例分析法:分析销售管理系统的实际应用案例,让学生了解销售管理系统在企业运营中的作用。

3.讨论法:学生就销售管理系统的应用、业务流程设计等方面展开讨论,提高学生的思考和表达能力。

4.实验法:安排实验室实践环节,让学生动手搭建、配置和维护销售管理系统,提高学生的实际操作能力。

c销售管理系统课课程设计

c销售管理系统课课程设计

c 销售管理系统课课程设计一、教学目标本课程的目标是让学生掌握销售管理系统的基本概念、原理和应用。

通过本课程的学习,学生应能够:1.描述销售管理系统的组成部分和功能;2.分析销售管理系统的业务流程和操作步骤;3.应用销售管理系统进行销售预测、客户管理、订单处理等业务活动;4.评估销售管理系统的效果和改进措施。

二、教学内容本课程的教学内容主要包括以下几个部分:1.销售管理系统概述:介绍销售管理系统的定义、功能和作用;2.销售预测:讲解销售预测的方法和工具,如何利用销售管理系统进行销售预测;3.客户管理:介绍如何在销售管理系统中进行客户信息的录入、查询和维护;4.订单处理:讲解订单的创建、修改、查询和统计等功能;5.销售数据分析:利用销售管理系统进行销售数据的收集、整理和分析。

三、教学方法为了提高教学效果,本课程将采用多种教学方法相结合的方式进行教学,包括:1.讲授法:讲解销售管理系统的相关概念、原理和操作方法;2.案例分析法:分析实际案例,让学生更好地理解和应用销售管理系统;3.实验法:安排实验室实践环节,让学生亲手操作销售管理系统,提高实际操作能力。

四、教学资源为了支持本课程的教学,我们将准备以下教学资源:1.教材:选用权威、实用的销售管理系统教材作为主要教学资料;2.参考书:提供相关领域的参考书籍,丰富学生的知识体系;3.多媒体资料:制作课件、教学视频等,以直观的方式展示销售管理系统的操作和应用;4.实验设备:提供销售管理系统软件和硬件设备,让学生进行实际操作练习。

五、教学评估本课程的评估方式包括以下几个方面:1.平时表现:通过课堂参与、提问、讨论等环节,评估学生的学习态度和积极性;2.作业:布置课后作业,评估学生对课程内容的理解和应用能力;3.考试:进行期中和期末考试,全面考察学生的知识掌握和运用能力。

六、教学安排本课程的教学安排如下:1.教学进度:按照教材和大纲进行教学,确保课程内容的系统性和连贯性;2.教学时间:合理安排课堂时间,保证教学内容的充分讲解和实践操作;3.教学地点:选择适宜的教室和实验室进行教学,提供良好的学习环境。

c语言课程设计(销售管理系统)【完整版】

c语言课程设计(销售管理系统)【完整版】

enter(RECODE t[]): struct
2
清屏之后输出提示语“请输入便条的信息” ,按提示语输入便条信息,输入 数 据 的 同 时 , 已 将 该 信 息 存 入 开 始 已 定 义 的 结 构 体 数 组 typedef
RECORD
t[ ]中,以便在排序功能选项、统计功能选项、输出清单列表选项
三、输入数据类型、格式和内容限制:
数据名称 销售员代号 产品代号 功能键代号 所有产品总和 每个销售员的 总销售额 每个人每种产 品的总销售额 数据关联 name,s,m[] a1,a2,a3, a4,a5 n sum c[] 数据类型 int 整型变量 int 整型变量 int 整型变量 int 整型变量 int 整型变量 数据格式 %d,%d,%d %d%d%d%d%d %d %d %d %d%d%d%d%d 内容限制 大于 0 小于 5 大于 0 小于 6 大于等于 0 小 于8 大于 0 大于 0 大于 0
sum+=t[i].a1;sum+=t[i].a2;sum+=t[i].a3; sum+=t[i].a4;sum+=t[i].a5;
i++
排序函数 void list1 (RECODE t[],int n)流程图:
定义两个数组 c[4],m[4] i=0 i=0
假 真
i<4
i<4

i=0,j=i+1
i++
6
五、程序的源代码清单:
#include <stdio.h>/*输入输出函数*/ #include <stdlib.h>/*通用应用程序函数*/ typedef struct /*定义结构体变量*/ { int name; int a1; int a2; int a3; int a4; int a5; }RECODE; 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);/*菜单 1 函数声明*/ void list2(RECODE t[],int n);/*菜单 2 函数声明*/ void list3(RECODE t[],int n);/*菜单 3 函数声明*/ void save(RECODE t[],int n);/*保存文件函数声明*/ int load(RECODE t[]);/*读取函数声明*/ void main()/*主函数*/ { RECODE rec[600]; int length; system("cls"); /*清屏*/ for( ; ; ) /*无限循环*/ {switch(menu_select()){ /*根据用户的选择判断该调用哪个功能函数*/ case 1:length=enter(rec);break; case 2:salor(rec,length);break; case 3:list1(rec,length);break; case 4:list2(rec,length);break; case 5:list3(rec,length);break; case 6:save(rec,length);break; case 7:length=load(rec);break; case 0:exit(0);} }} /***************************菜单函数**************************/ int menu_select() { int n;

c语言课程设计(销售管理系统)【完整版】

c语言课程设计(销售管理系统)【完整版】

c语言课程设计(销售管理系统)【完整版】
本管理系统实现了销售管理,可以完成客户管理、商品管理以及订单管理等功能,为管理者提供更多便利。

管理系统由主菜单、客户管理、商品管理、订单管理等模块组成,主菜单模块显示并实现了上述以及其他所有模块,可以方便快捷地进行相关操作。

客户管理模块包括新建客户信息、删除客户信息、更新客户信息、查询客户信息等功能,可以快速有效地管理客户信息;
订单管理模块包括新建订单、删除订单、更新订单、查询订单等功能,能够轻松地完成销售订单的管理。

另外,系统还采用了文件存储,只要上次保存数据正确,就可以实现每次登录之后的自动加载,让操作更加简单快捷。

系统采用C语言开发,使用字符操作实现图形界面;结构体链表数据结构实现数据存储与处理;文件存储实现数据加载与保存;采用函数式编程实现功能模块;不断尝试性地增加改进系统,以确保系统运行更加稳定可靠。

本项目以C语言编程实现对销售管理系统的全面而完整的管理,能满足日常销售管理的需求;同时,丰富的图形界面,实用的功能模块和可靠的文件存储,使系统操作变得更为简单快捷。

c课程设计销售管理系统

c课程设计销售管理系统

c课程设计销售管理系统一、教学目标本课程的目标是使学生掌握销售管理系统的基本概念、原理和应用,培养学生运用销售管理知识分析和解决实际问题的能力。

具体的教学目标包括:1.知识目标:–掌握销售管理的基本概念、原理和方法。

–了解销售管理系统的组成部分和功能。

–熟悉销售管理系统的实施和运营。

2.技能目标:–能够运用销售管理知识分析和解决实际问题。

–能够操作销售管理系统,进行销售数据的收集、整理和分析。

–能够制定销售计划和策略,进行销售管理。

3.情感态度价值观目标:–培养学生的团队协作意识和沟通能力。

–培养学生的创新精神和实践能力。

–培养学生的社会责任感和职业道德。

二、教学内容本课程的教学内容主要包括销售管理的基本概念、原理和应用,销售管理系统的组成部分和功能,销售管理系统的实施和运营。

具体的教学内容如下:1.销售管理的基本概念、原理和方法:销售管理的定义、目标、任务、原则和方法。

2.销售管理系统的组成部分和功能:销售管理系统的基本组成部分、功能和相互关系。

3.销售管理系统的实施和运营:销售管理系统的实施步骤、运营管理和优化。

三、教学方法本课程的教学方法包括讲授法、案例分析法、实验法和讨论法。

具体的教学方法如下:1.讲授法:通过教师的讲解,使学生掌握销售管理的基本概念、原理和方法。

2.案例分析法:通过分析实际案例,使学生了解销售管理系统的应用和效果。

3.实验法:通过操作销售管理系统,使学生掌握销售数据的收集、整理和分析方法。

4.讨论法:通过小组讨论,培养学生的团队协作意识和沟通能力。

四、教学资源本课程的教学资源包括教材、参考书、多媒体资料和实验设备。

具体的教学资源如下:1.教材:选用权威、实用的销售管理教材,为学生提供系统的理论知识。

2.参考书:提供相关的参考书籍,丰富学生的知识体系。

3.多媒体资料:制作精美的PPT、视频等多媒体资料,提高学生的学习兴趣。

4.实验设备:配置销售管理相关的实验设备,为学生提供实践操作的机会。

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

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

c语言课程设计销售管理系统一、教学目标本课程的教学目标是使学生掌握C语言销售管理系统的基本概念、设计方法和实现技巧。

通过本课程的学习,学生应能理解销售管理系统的业务流程,运用C语言进行系统设计和编程实现,培养学生的实际编程能力和解决实际问题的能力。

具体来说,知识目标包括:理解销售管理系统的功能和结构;掌握C语言的基本语法和数据结构;了解软件工程的基本原理和方法。

技能目标包括:能够使用C语言进行程序设计和调试;能够运用面向对象的方法进行系统设计;能够使用常用的软件开发工具。

情感态度价值观目标包括:培养学生对计算机科学的兴趣和热情;培养学生良好的团队合作精神和创新精神。

二、教学内容本课程的教学内容主要包括三个部分:C语言基础知识、销售管理系统的设计方法和实践操作。

第一部分,C语言基础知识,包括C语言的基本语法、数据类型、运算符、控制结构等。

这部分内容将引导学生掌握C语言的基本编程技巧,为后续的销售管理系统设计打下基础。

第二部分,销售管理系统的设计方法,包括需求分析、系统设计、编码实现和测试等。

这部分内容将引导学生了解软件工程的基本原理和方法,培养学生运用面向对象的方法进行系统设计的能力。

第三部分,实践操作,包括使用C语言实现一个简单的销售管理系统。

这部分内容将引导学生动手实践,培养学生的实际编程能力和解决实际问题的能力。

三、教学方法为了实现本课程的教学目标,我们将采用多种教学方法,包括讲授法、案例分析法、实验法和讨论法等。

讲授法将用于讲解C语言的基本语法和数据结构,以及销售管理系统的设计方法和原理。

案例分析法将用于分析真实的销售管理案例,使学生更好地理解销售管理系统的实际应用。

实验法将用于让学生动手编写代码和调试程序,培养学生的实际编程能力。

讨论法将用于引导学生进行小组讨论和交流,培养学生的团队合作精神和创新精神。

四、教学资源为了支持本课程的教学内容和教学方法,我们将准备多种教学资源,包括教材、参考书、多媒体资料和实验设备。

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

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

c语言课程设计销售管理系统一、教学目标本章节的教学目标分为三个部分:知识目标、技能目标和情感态度价值观目标。

1.知识目标:通过本章节的学习,学生需要掌握销售管理系统的概念、原理和基本框架,了解C语言在销售管理系统中的运用。

2.技能目标:学生能够运用C语言编写简单的销售管理程序,具备独立分析和解决问题的能力。

3.情感态度价值观目标:培养学生对计算机科学的兴趣,提高学生运用C语言解决实际问题的意识。

二、教学内容本章节的教学内容主要包括销售管理系统的概念、原理、基本框架及其在C语言中的应用。

具体包括以下几个部分:1.销售管理系统的概念和原理:介绍销售管理系统的定义、功能、特点和基本原理。

2.销售管理系统的基本框架:讲解销售管理系统的基本框架,包括数据结构、算法和程序设计。

3.C语言在销售管理系统中的应用:通过实例分析,展示如何使用C语言编写销售管理程序。

三、教学方法为了提高教学效果,本章节将采用多种教学方法相结合的方式进行教学。

具体包括以下几种方法:1.讲授法:讲解销售管理系统的概念、原理和基本框架。

2.案例分析法:分析实际销售管理系统的案例,让学生了解C语言在销售管理系统中的应用。

3.实验法:安排课后实验,让学生动手编写销售管理程序,巩固所学知识。

四、教学资源为了支持教学内容和教学方法的实施,我们将准备以下教学资源:1.教材:选用权威、实用的C语言教材,为学生提供基础知识。

2.参考书:推荐学生阅读与销售管理系统相关的参考书籍,拓宽知识面。

3.多媒体资料:制作PPT、教学视频等多媒体资料,提高课堂趣味性。

4.实验设备:确保每位学生都能接触到计算机,进行课后实验。

五、教学评估本章节的教学评估将采用多元化的评估方式,以全面、客观、公正地评价学生的学习成果。

评估方式包括:1.平时表现:通过课堂参与、提问、讨论等环节,评估学生的学习态度和积极性。

2.作业:布置与销售管理系统相关的编程作业,评估学生的编程能力和理解程度。

c销售管理系统课程设计

c销售管理系统课程设计

c销售管理系统课程设计一、课程目标知识目标:1. 让学生理解销售管理系统的基本概念、功能模块及其在企业运营中的应用。

2. 使学生掌握数据库管理、数据查询与统计分析的基本方法。

3. 帮助学生了解我国销售管理相关政策法规,增强法律法规意识。

技能目标:1. 培养学生运用所学知识,设计并实现一个简单的销售管理系统。

2. 提高学生运用数据库软件进行数据处理和分析的能力。

3. 培养学生团队协作、沟通表达、解决问题的能力。

情感态度价值观目标:1. 激发学生对销售管理系统课程的学习兴趣,培养自主学习、探究学习的习惯。

2. 增强学生的职业素养,使他们认识到销售管理系统在企业管理中的重要性。

3. 培养学生遵守职业道德,关注社会发展,树立正确的价值观。

课程性质:本课程为实践性较强的学科,结合理论知识与实践操作,培养学生具备实际应用能力。

学生特点:高中年级学生,具备一定的计算机操作基础,思维活跃,求知欲强。

教学要求:结合学生特点,注重理论与实践相结合,提高学生的实际操作能力和解决问题的能力。

通过小组合作、案例分析和项目实践等方式,使学生在掌握知识的同时,提升综合素养。

将课程目标分解为具体的学习成果,便于后续教学设计和评估。

二、教学内容1. 销售管理系统概述:介绍销售管理系统的基本概念、发展历程、功能模块及其在企业运营中的重要性。

教材章节:第一章 销售管理系统概述2. 数据库管理:讲解数据库的基本概念、设计原则,学习SQL语言进行数据查询和管理。

教材章节:第二章 数据库管理3. 销售管理系统的设计与实现:分析销售管理系统的需求,学习系统设计方法,运用数据库软件进行系统实现。

教材章节:第三章 销售管理系统的设计与实现4. 数据分析与统计:学习运用Excel、SPSS等软件进行销售数据的分析、统计和可视化。

教材章节:第四章 数据分析与统计5. 销售管理相关政策法规:介绍我国销售管理相关政策法规,分析法规对销售管理系统的影响。

销售管理c语言课程设计

销售管理c语言课程设计

销售管理c语言课程设计一、课程目标知识目标:1. 学生能理解销售管理的基本概念和原理,掌握C语言在销售管理中的应用。

2. 学生能运用C语言的基本语法和编程技巧,设计并实现一个简单的销售管理系统。

3. 学生能理解并运用数据结构、文件操作等概念,提高销售管理系统的功能和性能。

技能目标:1. 学生掌握C语言编程的基本方法,能够独立编写、调试和优化销售管理系统的代码。

2. 学生具备分析问题、设计解决方案的能力,能够根据实际需求调整和优化销售管理系统。

3. 学生能够运用所学知识,将C语言应用于其他相关领域,提高编程能力和解决问题的能力。

情感态度价值观目标:1. 学生通过课程学习,培养对编程的兴趣和热情,树立编程解决问题的信心。

2. 学生养成合作、探究的学习习惯,培养团队协作能力和沟通表达能力。

3. 学生能够认识到编程在现实生活中的应用价值,提高对计算机科学的认识和兴趣。

课程性质:本课程为实践性较强的学科,旨在让学生通过实际操作,掌握C语言在销售管理中的应用。

学生特点:学生具备一定的C语言基础,对编程有一定了解,但实践经验不足。

教学要求:教师需注重理论与实践相结合,引导学生通过实际项目设计,提高编程能力和解决问题的能力。

同时,关注学生的情感态度价值观培养,激发学生的学习兴趣和热情。

在教学过程中,将课程目标分解为具体的学习成果,便于教学设计和评估。

二、教学内容1. 销售管理基本原理:介绍销售管理的基本概念、流程和目标,分析销售管理系统的功能需求。

- 教材章节:第1章 销售管理概述2. C语言基础知识回顾:复习C语言的基本语法、数据类型、运算符、控制结构等。

- 教材章节:第2章 C语言基础3. 销售管理系统的设计与实现:引导学生学习面向对象编程思想,分析系统模块划分,设计数据结构和函数。

- 教材章节:第3章 面向对象编程,第4章 数据结构与算法4. C语言编程实践:指导学生运用所学知识,编写销售管理系统的代码,包括数据输入、处理和输出等功能。

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

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

C)计算机高级语言课程设计(姓名:学号:院(系):专业:指导教师:职称月2010年09题目:销售管理系统月年09时间:2010 【问题描述】。

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

每张便条包含内容:(3)这种产品当天的销售额员的代号(2)产品的代号(编写一张便条。

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

【基本要求】计算上个月每人每种产品的销售额。

(1)按销售额对销售员进行排序,输出排序结果(销售员代号))(2统计每种产品的总销售额,对这些产品按从高到低的顺序输出排序结果(3)(需输出产品的代号和销售额)输出统计报表4)(、需求分析1根据题目的要求采用结构体数组和文件系统实现,结构体成员包括销售员代号,产品代号,销售额。

排序算法采用选择排序算法。

输出统计报表形式按照题目给出的形式在屏幕上相应位置输出内容。

、设计2 )设计思想(1 1)定义如下:struct goods{int p_num;int num;int g_num;} s[max];struct persons{int num[7];}p[6],w;int n=max;/2)文件结构总共有如下文件:<stdio.h>stdio.h就是指“standard input&output :意思就是说标准输入输出头文件!所以了,用到标准输入输出函数时,就要调用这个头文件!<conio.h>:conio.h不是C标准库中的头文件。

conio是Console Input/Output (控制台输入输出)的简写,其中定义了通过控制台进行数据输入和数据输出的函数,主要是一些用户通过按键盘产生的对应操作。

3)计算每个人每种产品的销售额,每种产品的销售额,每个人的销售额int arg(){int k,a,j;for(k=1;k<=5;k++){p[0].num[k]=k;for(a=1;a<=6;a++)p[k].num[a]=0;}for(k=1;k<=4;k++)p[k].num[0]=k;for(k=1;k<=4;k++)for(a=1;a<=5;a++)for(j=0;j<n;j++)if(s[j].p_num==k && s[j].g_num==a)p[k].num[a]+=s[j].num; /*每个人每种产品的销售额*/for(a=1;a<=5;a++)for(k=1;k<=4;k++)p[5].num[a]=p[5].num[a]+p[k].num[a]; /*每种产品的销售额*/for(k=1;k<=5;k++)for(a=1;a<=5;a++)p[k].num[6]+=p[k].num[a]; /*每个人的销售额*/}4)统计每个人每种产品的销售额int output1(){ int i,k;printf(**************The condition of everyone's g_mon last month:**********\n\n);printf(g_num \np_num\t);for(k=1;k<=5;k++)printf(%d\t,p[0].num[k]);printf(\\n);for(i=1;i<=4;i++){for(k=0;k<=5;k++)printf(%d\t,p[i].num[k]);printf(\\n);}mulu();}5)按销售额对销售员进行排序,输出排序结果(销售员代号)int output2(){int i,k,j;for(i=1;i<4;++i){k=i;for(j=i+1;j<=4;j++)if(p[k].num[6]<p[j].num[6])k=j;if(k!=i){ w=p[i];p[i]=p[k];p[k]=w;}}printf(\\n\n\n\n\n*********Order of people by goods'sum**********\n\n);printf(p_num \tsum_mon \n);for(i=1;i<=4;i++)printf( %d\t\t %d\n,p[i].num[0],p[i].num[6]);mulu();}6)统计每种产品的总销售额,对这些产品按从高到底的顺序,输出排序结果int output3(){int k,i,r,t;for(k=1;k<5;k++){r=k;for(t=k+1;t<=5;t++)if(p[5].num[r]<p[5].num[t]) r=t;if(r!=k)for(i=0;i<=5;i++){ p[i].num[6]=p[i].num[k];p[i].num[k]=p[i].num[r];p[i].num[r]=p[i].num[6];}}printf(\\n\n\n\n*****Order of each good by total sum*****\n\n);printf( g_num sum_mon\n);for(k=1;k<=5;k++)printf( %d\t\t%d \n,p[0].num[k],p[5].num[k]);mulu();}7)输出统计报表int output4(){ int i,k;int flage=0;printf(\\t\t****Report forms of goods****\n\n\n);printf( g_num \np_num\t1\t2\t3\t4\t5\tsum\n\n);for(i=1;i<=4;i++){ for(k=0;k<=6;k++)printf(%d\t,p[i].num[k]);printf(\\n);}printf( otal\t);for(k=1;k<=6;k++)printf(%d\t,p[5].num[k]);8)保存文件int save(){FILE *fp;int i,k;if((fp=fopen(date.txt,w))==NULL){printf(\Can not open the file,please press any key to escape!);exit(1);}fprintf(fp, g_num\r\np_num\t1\t2\t3\t4\t5\tsum\r\n);for(i=1;i<=4;i++){ for(k=0;k<=6;k++)fprintf(fp,%d\t,p[i].num[k]);fprintf(fp,\\n);}fprintf(fp, otal );for(k=1;k<=6;k++)fprintf(fp,%d\t,p[5].num[k]);fclose(fp);(2)总体设计#include<stdio.h>#include<conio.h> /*控制台输入输出*/ #define max 620struct goods{int p_num;int num;int g_num;} s[max];struct persons{int num[7];}p[6],w;/*主函数*/int n=max;/*全局变量*/main(){int input(), output1(),output2(),output3(),output4();int arg(),mulu();int save();printf( \n\n\n \t\t\t *******THE PROJECT********\n\n\n);printf(Please input the informations :(over to 0)\n\n p_num(1~4) g_num(1~5) g_mon\n);printf(\);for(n=0;n<max;n++){scanf(%d,&s[n].p_num);if(s[n].p_num!=(0))scanf(%d%d,&s[n].g_num,&s[n].num),printf(\);else break;}mulu();}/*目录*/int mulu(){int choice;arg();do{*******THE PROJECT********\n\n); printf( \n\n \t\t\t\n); printf(.计算上个月每个人每种产品的销售额\n); 输出排序结果,按销售额对销售员进行排序printf(.printf(.统计每种产品的总销售额,对这这些产品按从高到低的顺序输出排序结果\n);printf(.输出统计表\n\n);printf(退出\n\n);printf(Please Choose (0-4):);scanf(%d,&choice);switch(choice){case 1: output1(); break;case 2: output2(); break;case 3: output3(); break;case 4: output4(); break;case 0: exit(0); break;}}while(choice!=0);return 1;}int arg(){int k,a,j;for(k=1;k<=5;k++){p[0].num[k]=k;for(a=1;a<=6;a++)p[k].num[a]=0;}for(k=1;k<=4;k++)p[k].num[0]=k;for(k=1;k<=4;k++)for(a=1;a<=5;a++)for(j=0;j<n;j++)if(s[j].p_num==k && s[j].g_num==a)p[k].num[a]+=s[j].num; /*每个人每种产品的销售额*/for(a=1;a<=5;a++)for(k=1;k<=4;k++)p[5].num[a]=p[5].num[a]+p[k].num[a]; /*每种产品的销售额*/ for(k=1;k<=5;k++)for(a=1;a<=5;a++)p[k].num[6]+=p[k].num[a]; /*每个人的销售额*/return 1;}int output1(){ int i,k;printf(**************The condition of everyone's g_mon last month:**********\n\n);printf(g_num \np_num\t);for(k=1;k<=5;k++)printf(%d\t,p[0].num[k]);printf(\\n);for(i=1;i<=4;i++){for(k=0;k<=5;k++)printf(%d\t,p[i].num[k]);printf(\\n);}mulu();return 1;}/*按销售额对销售员进行排序,输出排序结果(销售员代号)*/int output2(){int i,k,j;for(i=1;i<4;++i){k=i;for(j=i+1;j<=4;j++)if(p[k].num[6]<p[j].num[6])k=j;if(k!=i){ w=p[i];p[i]=p[k];p[k]=w;}}printf(\\n\n\n\n\n*********Order of people by goods' sum**********\n\n);printf(p_num \tsum_mon \n);for(i=1;i<=4;i++)printf( %d\t\t %d\n,p[i].num[0],p[i].num[6]);mulu();return 1;}/*统计每种产品的总销售额,对这些产品按从高到底的顺序,输出排序结果*/ int output3(){int k,i,r,t;for(k=1;k<5;k++){r=k;for(t=k+1;t<=5;t++)if(p[5].num[r]<p[5].num[t]) r=t;if(r!=k)for(i=0;i<=5;i++){ p[i].num[6]=p[i].num[k];p[i].num[k]=p[i].num[r];p[i].num[r]=p[i].num[6];}}printf(\\n\n\n\n*****Order of each good by total sum*****\n\n);printf( g_num sum_mon\n);for(k=1;k<=5;k++)printf( %d\t\t%d \n,p[0].num[k],p[5].num[k]);mulu();return 1;}/* 输出统计报表*/int output4(){ int i,k;int flage=0;printf(\\t\t****Report forms of goods****\n\n\n);printf( g_num \np_num\t1\t2\t3\t4\t5\tsum\n\n); for(i=1;i<=4;i++){ for(k=0;k<=6;k++)printf(%d\t,p[i].num[k]);printf(\\n);}printf(otal\t);for(k=1;k<=6;k++)printf(%d\t,p[5].num[k]);if(flage==0) /*保证只存一次,到(date.txt)*/{ save();flage=1;printf(\\nThe information has been saved successfully!-(File:date.txt));}mulu(); return 1;}/*保存文件*/int save(){FILE *fp;int i,k;if((fp=fopen(date.txt,w))==NULL){printf(\Can not open the file,please press any key to escape!);exit(1);}fprintf(fp, g_num \r\np_num\t1\t2\t3\t4\t5\tsum\r\n);for(i=1;i<=4;i++){ for(k=0;k<=6;k++)fprintf(fp,%d\t,p[i].num[k]);fprintf(fp,\\n);}fprintf(fp,otal );for(k=1;k<=6;k++)fprintf(fp,%d\t,p[5].num[k]);fclose(fp);return 1;}3、附图4、总结本次C语言课程设计对我来说是一个挑战。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

i<4,j<4 c[i]=sum(t,n,m[i]) i++
m[i]=i+1
i++
真 假
if(c[i]<c[j])
打印:从大到小销售员销售额排行榜
i=0 i<4
s=m[i];m[i]=m[j]; m[j]=s; s=c[i];c[i]=c[j];c[j]=s;

打印:按任意键继续


输出销售员代号 m[i]
iቤተ መጻሕፍቲ ባይዱo
i<1000


t[i].name==s
输出销售员和产品信息
b1+=t[i].a1;b2+=t[i].a2;b3+=t[i ].a3;
i++
5
求和函数 int sum(RECODE t[],int n, int e)流程图:
定义初始值 sum=o
i=0
i<=1000

返回 sum

if(e==t[i].name
b1[],b2[], int 整型变量 b3[],b4[], b5[] 每种产品的总 xs[] int 整型变量 销售额
%d
大于 0
4
四、主要模块的算法描述 –以程序流程图的方式给出 –简要的语言描述: 销售员产品信息查询函数 void salor(RECODE t[],int n)流程图:
输入要查看销售员的代号 s
销售之和 3 4 5
总和
3
9、保存函数 void save(RECODE t[],int n): 打 开 record.txt 文 件 , 如 果 函 数 带 回 一 个 空 指 针 值
if((fp=fopen("record.txt","wb"))==NULL),则显示“不能打开文件” ,非法
退出再进行存储文件。通过文件指针,循环将便条信息输出到 fp 指向的文件。 关闭文件,显示“*****存储成功*****”,“按任意键继续。 。 。 。 。 。 ” 。 10、读取函数 int load(RECODE t[]): 定义文件指针*fp,循环从 fp 指向的文件上读入便条信息,关闭文件,显示 “成功读取文件信息! ! ! ”,“按任意键继续。 。 。 。 。 。 ” 。返回 n 值。
二、应用程序功能的详细说明:
1、主函数 void main(): 清屏之后对主菜单函数 menu_select()进行无限循环 2、菜单函数 int
menu_select():
打印出菜单功能选项,包括便条清单输入、每个人每种产品的销售额、销售 员销售额排行、统计报表、便条清单、储存文件、读取文件和退出 8 个选项。根 据用户的选择判断该调用哪个功能函数,则输入相应的选项代号 n(0-7)以运 行该功能选项。 3、清单输入函数 int
三、输入数据类型、格式和内容限制:
数据名称 销售员代号 产品代号 功能键代号 所有产品总和 每个销售员的 总销售额 每个人每种产 品的总销售额 数据关联 name,s,m[] a1,a2,a3, a4,a5 n sum c[] 数据类型 int 整型变量 int 整型变量 int 整型变量 int 整型变量 int 整型变量 数据格式 %d,%d,%d %d%d%d%d%d %d %d %d %d%d%d%d%d 内容限制 大于 0 小于 5 大于 0 小于 6 大于等于 0 小 于8 大于 0 大于 0 大于 0
7
printf("--------------------------------menu------------------------------\n\n"); 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---------------------------\n\n"); printf(" 请输入你的选择(0-7): "); scanf("%d",&n); if(0<n&&n<8) system("cls"); /*清屏*/ return n; } /****************************清单输入函数***************************/ int enter(RECODE t[]) { int i; system("cls"); /*清屏*/ printf("请输入便条的信息:"); printf("销售员代号 产品 1 产品 2 产品 3 产品 4 产品 5"); for(i=0;i<1000;i++){ /*将所输入的条数存入结构体数组中*/ printf("\n\n----------------------------------------------------------------\n"); scanf("%d%d%d%d%d%d",&t[i].name,&t[i].a1,&t[i].a2,&t[i].a3,&t[i].a4,&t[i].a5); if((t[i].name!=1)&&(t[i].name!=2)&&(t[i].name!=3)&&(t[i].name!=4)) printf("不存在该销售员的信息!"); if((t[i].name==0)&&(t[i].a1==0)&&(t[i].a2==0)&&(t[i].a3==0)&&(t[i].a4==0)&&(t[i].a5==0)) break; } printf("\n----------------------------------------------------------------------\n\n\n"); return i; } /************************查询函数************************/ void salor(RECODE t[],int n) { int i,s; int b1=0,b2=0,b3=0,b4=0,b5=0; printf("输入所要查看的售货员的代号:"); scanf("%d",&s); /*输入所要查看的售货员的代号*/ for(i=0;i<n;i++) /*对每种产品的销售额求和*/ if(t[i].name==s){ b1+=t[i].a1;
C 语 言 课 程 设 计
设计(论文)题目:
销售管理系统设计
学 专 班 姓 指


称: 业: 级: 名:
电信学院 计算机科学与技术 计科 081 班 洪利忠 宋宏图 学 职 号 称 35


师:
定稿日期:2009 年 2 月 27 日
1
一、题目内容描述:
某公司有四个销售员(编号:1-4) ,负责销售五种产品(编号:1-5) 。每个 销售员都将当天出售的每种产品各写一张便条交上来。每张便条包含内容: 1、销售员的代号 2、产品的代号 3、这种产品的当天的销售额 每位销售员每天可能上缴 0-5 张便条。假设,收集到了上个月的所有便条, 编写一个处理系统,读取上个月的销售情况(自己设定) ,进行如下处理。 1)计算上个月每个人每种产品的销售额。 2)按销售额对销售员进行排序,输出排序结果(销售员代号) 3) 统计每种产品的总销售额, 对这些产品按从高到底的顺序, 输出排序结果 (需 输出产品的代号和销售额) 4)输出统计报表 销售统计报表 产品代号 销售之和 销售员代号 1 2 3 4 5 1 2 3 4 每种产品之和 总和
sum+=t[i].a1;sum+=t[i].a2;sum+=t[i].a3; sum+=t[i].a4;sum+=t[i].a5;
i++
排序函数 void list1 (RECODE t[],int n)流程图:
定义两个数组 c[4],m[4] i=0 i=0
假 真
i<4
i<4

i=0,j=i+1
enter(RECODE t[]): struct
2
清屏之后输出提示语“请输入便条的信息” ,按提示语输入便条信息,输入 数 据 的 同 时 , 已 将 该 信 息 存 入 开 始 已 定 义 的 结 构 体 数 组 typedef
RECORD
t[ ]中,以便在排序功能选项、统计功能选项、输出清单列表选项
i++
6
五、程序的源代码清单:
#include <stdio.h>/*输入输出函数*/ #include <stdlib.h>/*通用应用程序函数*/ typedef struct /*定义结构体变量*/ { int name; int a1; int a2; int a3; int a4; int a5; }RECODE; 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);/*菜单 1 函数声明*/ void list2(RECODE t[],int n);/*菜单 2 函数声明*/ void list3(RECODE t[],int n);/*菜单 3 函数声明*/ void save(RECODE t[],int n);/*保存文件函数声明*/ int load(RECODE t[]);/*读取函数声明*/ void main()/*主函数*/ { RECODE rec[600]; int length; system("cls"); /*清屏*/ for( ; ; ) /*无限循环*/ {switch(menu_select()){ /*根据用户的选择判断该调用哪个功能函数*/ case 1:length=enter(rec);break; case 2:salor(rec,length);break; case 3:list1(rec,length);break; case 4:list2(rec,length);break; case 5:list3(rec,length);break; case 6:save(rec,length);break; case 7:length=load(rec);break; case 0:exit(0);} }} /***************************菜单函数**************************/ int menu_select() { int n;
相关文档
最新文档