C语言 课程设计报告 员工销售业绩统计系统
C语言课程设计报告(销售管理系统设计)

× × × ×大学C语言课程设计报告设计题目:销售管理系统设计小组成员:指导教师:所在院系:年级班级:年12月23日销售管理系统设计报告目录题目..........................................2一、设计目的......................................2二、总体设计......................................3三、详细设计......................................4四、调试与测试....................................5五、源程序清单与执行结果..........................5(1)源程序清单.................................5 (2.)执行结果..................................10分工情况:(组长):负责整理总程序;:负责头文件整理和设计报告撰写;:负责编写统计程序;:负责编写排序程序。
题目:某公司有四个销售员(编号:1-4),负责销售五种产品(编号:1-5)。
每个销售员都将当天出售的每种产品各写一张便条交上来。
每张便条包含内容:1)销售员的代号2)产品的代号3)这种产品的当天的销售额每位销售员每天上缴1张便条。
试设计一个便条管理系统,使之能提供以下功能:1、系统以菜单方式工作2、便条信息录入功能(便条信息用文件保存)――输入3、收集到了上个月的所有便条后,读取销售情况1)计算每个人每种产品的销售额。
2)按销售额对销售员进行排序,输出排序结果(销售员代号)3)统计每种产品的总销售额,对这些产品按从高到底的顺序,输出排序结果(需输出产品的代号和销售额)(可选项)一、设计目的1.通过本项课程设计,可以培养独立思考、综合运用所学知识的能力,能更好的巩固《C语言程序设计》课程的内容,掌握工程软件设计的基本方法,强化上机动手编辑能力,闯过理论与实践相结合的难关!更加了解了C语言的好处和其可用性!同时增加了同学之间的团队合作精神!更加也体会到以后在工作团队合作的重要性和必要性!2.C语言课程设计,使学生了解高级程序设计语言的结构,掌握基本的程序设计过程和技巧,掌握基本的分析问题和利用计算机求解问题的能力,具备初步的高级语言程序设计能力。
C语言课程设计报告--销售管理系统设计

1.设计内容1、程序设计(包括框图设计、源程序编辑、编译、调试)2、对问题有完整的分析过程,要求把分析设计过程写入报告3、编写设计报告本程序设计的主要内容:1.1销售管理系统该系统是一个销售管理系统,即对某公司有四个销售员(编号:1-4),负责销售五种产品(编号:1-5)进行合理管制。
每个销售员都将当天出售的每种产品各写一张便条交上来。
每张便条包含内容:1)销售员的代号2)产品的代号3)这种产品的当天的销售额每位销售员每天可能上缴0-5张便条。
假设,收集到了上个月的所有便条,编写一个处理系统,读取上个月的销售情况(自己设定),进行如下处理。
1)计算上个月每个人每种产品的销售额。
2)按销售额对销售员进行排序,输出排序结果(销售员代号)3)统计每种产品的总销售额,对这些产品按从高到底的顺序,输出排序结果(需输出产品的代号和销售额)4)输出统计报表2.设计目的与要求2.1设计目的1.进一步掌握运用C进行程序设计的能力;3.进一步理解和运用面向过程程序设计的思想和方法;3.初步掌握开发一个小型实用系统的基本方法;4.学会调试一个较长程序的基本方法;5.学会利用互联网查找相关的知识并学习;2.2要求含设计中用到的相关技术的解释或讲解介绍和正文两大部份。
正文包括以下7个内容:1.需求分析以无歧义的陈述说明程序设计的任务,强调的是程序要做什么?并明确规定:(1) 输入的形式和输入值的范围;(2) 输出的形式;(3) 程序所能达到的功能;(4) 测试数据:包括正确的输入及其输出结果和含有错误的输入及其输出结果。
2.概要设计说明本程序中用到的所有抽象数据类型的定义、主程序的流程以及各程序模块之间的层次(调用)关系。
3.详细设计实现概要设计中定义的所有类,对每个操作只需要写出伪码算法;可采用流程图等进行描述,画出函数和过程的调用关系图。
4.调试分析内容包括:a.调试过程中遇到的问题是如何解决的以及对设计与实现的回顾讨论和分析;b.改进设想;c.经验和体会等。
员工销售业绩统计系统

员工销售业绩统计系统课程设#include<stdio.h>#include<stdlib.h>#include<string.h>char rank[20],name[10],m[10];int i,add[20],s;struct worker{ char name[10];int sex;int first;int second;int third;int fourth;}wor[20];void b(){ int i,j,t;char a,c;printf("请输入如何找到欲修改记录的方式:\n");printf("1.按姓名\n");printf("2.按排名\n");scanf("%s",&a);if(a=='1'){printf("请输入要修改的员工姓名\n");scanf("%s",name);for(i=0;i<20;i++)if(strcmp(wor[i].name,name)==0){ printf("姓名\t性别\t一季度\t二季度\t三季度\t四季度\t总业绩\t平均\n");printf("%s\t",wor[i].name);printf("%d\t",wor[i].sex);printf("%d\t",wor[i].first);printf("%d\t",wor[i].second);printf("%d\t",wor[i].third);printf("%d\t",wor[i].fourth);add[i]=wor[i].first+wor[i].second+wor[i].third+wor[i].fourth;printf("%d\t",add[i]);printf("%d\n",add[i]/4);printf("确定要修改这员工的信息吗?(y/n)\n");scanf("%s",&c);if(c=='y'){ printf("请输入姓名:");scanf("%s",wor[i].name);printf("请输入性别(1为女,2为男):");scanf("%d",&wor[i].sex);printf("请输入一季度业绩:");scanf("%d",&wor[i].first);printf("请输入二季度业绩:");scanf("%d",&wor[i].second);printf("请输入三季度业绩:");scanf("%d",&wor[i].third);printf("请输入四季度业绩:");scanf("%d",&wor[i].fourth);}}}if(a=='2'){for(j=0;j<s-1;j++)for(i=j+1;i<s;i++)if(add[j]<add[i]){strcpy(m,wor[i].name);strcpy(wor[i].name,wor[j].name);strcpy(wor[j].name,m);t=wor[i].sex;wor[i].sex=wor[j].sex;wor[j].sex=t;t=wor[i].first;wor[i].first=wor[j].first;wor[j].first=t;t=wor[i].second;wor[i].second=wor[j].second;wor[j].second=t;t=wor[i].third;wor[i].third=wor[j].third;wor[j].third=t;t=wor[i].fourth;wor[i].fourth=wor[j].fourth;wor[j].fourth=t;t=add[i];add[i]=add[j];add[j]=t;}printf("请输入员工的总业绩排名");scanf("%d",&i);{ printf("姓名\t性别\t一季度\t二季度\t三季度\t四季度\t总业绩\t平均\n");printf("%s\t",wor[i].name);printf("%d\t",wor[i].sex);printf("%d\t",wor[i].first);printf("%d\t",wor[i].second);printf("%d\t",wor[i].third);printf("%d\t",wor[i].fourth);printf("%d\t",add[i-1]);printf("%d\n",add[i-1]/4);printf("确定要修改这员工的信息吗?(y/n)\n");scanf("%s",&c);if(c=='y'){ printf("请输入姓名:");scanf("%s",wor[i].name);printf("请输入性别(1为女,2为男):");scanf("%d",&wor[i].sex);printf("请输入一季度业绩:");scanf("%d",&wor[i].first);printf("请输入二季度业绩:");scanf("%d",&wor[i].second);printf("请输入三季度业绩:");scanf("%d",&wor[i].third);printf("请输入四季度业绩:");scanf("%d",&wor[i].fourth);}}}}void c(){ int i;for(i=0;i<s;i++){ printf("姓名\t性别\t一季度\t二季度\t三季度\t四季度\t总业绩\t平均\n");printf("%s\t",wor[i].name);printf("%d\t",wor[i].sex);printf("%d\t",wor[i].first);printf("%d\t",wor[i].second);printf("%d\t",wor[i].third);printf("%d\t",wor[i].fourth);add[i]=wor[i].first+wor[i].second+wor[i].third+wor[i].fourth;printf("%d\t",add[i]);printf("%d\n",add[i]/4);}}void d(){ char a,b,name[10];int i,j,t;dr: printf("请输入查询的方式:\n");printf("1.按姓名");printf("2.按排名");scanf("%s",&a);if(a=='1'){printf("请输入欲查询的员工姓名:");scanf("%s",name);for(i=0;i<20;i++)if(strcmp(wor[i].name,name)==0){ printf("姓名\t性别\t一季度\t二季度\t三季度\t四季度\t总业绩\t平均\n");printf("%s\t",wor[i].name);printf("%d\t",wor[i].sex);printf("%d\t",wor[i].first);printf("%d\t",wor[i].second);printf("%d\t",wor[i].third);printf("%d\t",wor[i].fourth);printf("%d\t",add[i]);printf("%d\n",add[i]/4);}}if(a=='2'){for(j=0;j<s-1;j++)for(i=j+1;i<s;i++)if(add[j]<add[i]){strcpy(m,wor[i].name);strcpy(wor[i].name,wor[j].name);strcpy(wor[j].name,m);t=wor[i].sex;wor[i].sex=wor[j].sex;wor[j].sex=t;t=wor[i].first;wor[i].first=wor[j].first;wor[j].first=t;t=wor[i].second;wor[i].second=wor[j].second;wor[j].second=t;t=wor[i].third;wor[i].third=wor[j].third;wor[j].third=t;t=wor[i].fourth;wor[i].fourth=wor[j].fourth;wor[j].fourth=t;t=add[i];add[i]=add[j];add[j]=t;}printf("请输入欲查询的员工排名");scanf("%d",&i);{ printf("姓名\t性别\t一季度\t二季度\t三季度\t四季度\t总业绩\t平均\n");printf("%s\t",wor[i].name);printf("%d\t",wor[i].sex);printf("%d\t",wor[i].first);printf("%d\t",wor[i].second);printf("%d\t",wor[i].third);printf("%d\t",wor[i].fourth);printf("%d\t",add[i]);printf("%d\n",add[i]/4);}}printf("是否继续查询<1.是,2.否>");scanf("%s",&b);if(b=='1')goto dr;}void e(){ char a,b,c,name[10];int i,j,t;er: printf("请输入如何找到欲删除的记录方式:\n");printf("1.按姓名");printf("2.按排名");scanf("%s",&a);if(a=='1'){printf("请输入要删除员工的名字:");scanf("%s",name);for(i=0;i<20;i++)if(strcmp(wor[i].name,name)==0){ printf("姓名\t");printf("性别\t");printf("一季度\t");printf("二季度\t");printf("三季度\t");printf("四季度\t");printf("总业绩\t");printf("平均\n");printf("%s\t",wor[i].name);printf("%d\t",wor[i].sex);printf("%d\t",wor[i].first);printf("%d\t",wor[i].second);printf("%d\t",wor[i].third);printf("%d\t",wor[i].fourth);printf("%d\t",add[i]);printf("%d\n",add[i]/4);printf("是否删除此人(y/n)\n");scanf("%s",&b);if(b=='y'){for(;i<20;i++)wor[i]=wor[i+1];}}}if(a=='2'){ for(j=0;j<s-1;j++)for(i=j+1;i<s;i++)if(add[j]<add[i]){strcpy(m,wor[i].name);strcpy(wor[i].name,wor[j].name);strcpy(wor[j].name,m);t=wor[i].sex;wor[i].sex=wor[j].sex;wor[j].sex=t;t=wor[i].first;wor[i].first=wor[j].first;wor[j].first=t;t=wor[i].second;wor[i].second=wor[j].second;wor[j].second=t;t=wor[i].third;wor[i].third=wor[j].third;wor[j].third=t;t=wor[i].fourth;wor[i].fourth=wor[j].fourth;wor[j].fourth=t;t=add[i];add[i]=add[j];add[j]=t;}printf("请输入要删除员工的排名:");scanf("%d",&i);{ printf("姓名\t");printf("性别\t");printf("一季度\t");printf("二季度\t");printf("三季度\t");printf("四季度\t");printf("总业绩\t");printf("平均\n");printf("%s\t",wor[i].name);printf("%d\t",wor[i].sex);printf("%d\t",wor[i].first);printf("%d\t",wor[i].second);printf("%d\t",wor[i].third);printf("%d\t",wor[i].fourth);printf("%d\t",add[i]);printf("%d\n",add[i]/4);printf("是否删除此人(y/n)\n");scanf("%s",&b);if(b=='y'){ for(;i<20;i++)wor[i]=wor[i+1];}}}printf("是否继续删除其他员工信息<y/n>"); scanf("%s",&c);if(c=='y'){goto er;}}void f(){ int i,j,t;for(j=0;j<s-1;j++)for(i=j+1;i<s;i++)if(add[j]<add[i]){strcpy(m,wor[i].name);strcpy(wor[i].name,wor[j].name);strcpy(wor[j].name,m);t=wor[i].sex;wor[i].sex=wor[j].sex;wor[j].sex=t;t=wor[i].first;wor[i].first=wor[j].first;wor[j].first=t;t=wor[i].second;wor[i].second=wor[j].second;wor[j].second=t;t=wor[i].third;wor[i].third=wor[j].third;wor[j].third=t;t=wor[i].fourth;wor[i].fourth=wor[j].fourth;wor[j].fourth=t;t=add[i];add[i]=add[j];add[j]=t;}for(i=0;i<s;i++){printf("姓名\t");printf("性别\t");printf("一季度\t");printf("二季度\t");printf("三季度\t");printf("四季度\t");printf("总业绩\t");printf("平均\n");printf("%s\t",wor[i].name);printf("%d\t",wor[i].sex);printf("%d\t",wor[i].first);printf("%d\t",wor[i].second);printf("%d\t",wor[i].third);printf("%d\t",wor[i].fourth);printf("%d\t",add[i]);printf("%d\n",add[i]/4);}}void main(){int n;char a;s=0;printf("原来没有记录现在建立新表\n"); a: printf("您是否需要添加一组信息?<y/n>\n");scanf("%s",&a);while(a=='y'){printf("请输入姓名:");scanf("%s",wor[s].name);printf("请输入性别<1为女,2为男>:");scanf("%d",&wor[s].sex);printf("请输入一季度业绩:");scanf("%d",&wor[s].first);printf("请输入二季度业绩:");scanf("%d",&wor[s].second);printf("请输入三季度业绩:");scanf("%d",&wor[s].third);printf("请输入四季度业绩:");scanf("%d",&wor[s].fourth);add[s]=wor[s].first+wor[s].second+wor[s].third+wor[s].fourth;printf("您是否需要继续添加一组信息?<y/n>\n");scanf("%s",&a);s++;}printf("现在一共有%d条记录信息\n",s);r: printf(" --------------------------------------------\n");printf(" - 1. 修改员工业绩-\n");printf(" - 2. 显示员工业绩-\n");printf(" - 3. 查询员工业绩-\n");printf(" - 4. 删除员工业绩-\n");printf(" - 5. 对员工业绩信息进行排序-\n");printf(" - 6. 增加记录-\n");printf(" - 7. 结束运行-\n");printf(" --------------------------------------------\n");printf(" 左边数字对应功能选择,请选择1-7: \n");scanf("%d",&n);switch(n){ case 1:b();goto r;case 2:c();goto r;case 3:d();goto r;case 4:e();goto r;case 5:f();goto r;case 6:goto a;case 7:break;}}。
C语言课程设计销售管理系统报告(大全五篇)

C语言课程设计销售管理系统报告(大全五篇)第一篇:C语言课程设计销售管理系统报告报告正文1、题目与要求:1.1 某公司有四个销售员(编号:1-4),负责销售五种产品(编号:1-5)。
每个销售员都将当日出售的每种产品各写一张便条交上来。
每张便条内容有•销售员的代号•产品的代号•这种产品当天的销售额1.2 每位销售员每天可能上缴0-5张便条。
假设手机到了上个月的所有便条,编写一个处理系统,读取上月的销售情况(自己设定),进行如下处理:•计算上个月没人每种产品的销售额•按销售额对销售员进行排序,输出排序结果(销售员代号)•统计每种产品的总销售额,对这些产品从高到低的顺序输出结果(须输出产品的代号和销售额)•输出统计报表2、需求分析本程序将用到文件系统,list.txt文件内容作为数据源,其中单行内容代表一张纸条。
程序运行后首先将文件系统的原始数据读取并保存到程序的结构体数组当中,所以应提供文件输入的操作;由于纸条数据零散,所以要对原始数据进行分类操作并提供一个数组用于保存分类信息;在程序中要进行统计工作,所以要提供显示、排序等操作;另外应提供键盘式选择菜单实现功能选择。
3、功能实现设计3.1总体设计根据上面的分析,可以将这个系统分为如下五大模块:查看每人每种产品的销售额、按销售额对销售员排序、对每种产品总销售额从高到低排序、输出统计报表和退出。
其中主要模块是前四个模块。
3.2流程图3.3详细设计:3.3.1【头文件和预定义】 #include #include#include #include #define M 155 3.3.2【功能函数声明】 void detail(); void foreach(); void menu(); void product(); void readdata(); void seller(); void total(); void choice(); 3.3.3【数据结构】原始数据有销售员代号、产品代号和销售额,所以定义一个全局结构体数组scrip用于保存原始数据。
c语言-销售管理系统报告书.doc

C语言课程设计报告一、题目设计一个C语言程序(销售管理系统)二、内容1、每一记录包括销售员的编号、产品编号、产品当天的销售额、上个月每个人每种产品的销售额、每种产品的总销售额。
2、输入功能:可以完成记录的输入3、显示功能:完成所要求员工的记录的显示4、查找功能:完成按员工编号查找员工记录,并显示。
5、排序功能: 按销售额对销售员进行排序, 对这些产品按从高到底的顺序输出排序结果。
6、保存功能:将员工记录保存在自定义的文件中。
三、设计要求1、整个系统均用C语言实现;2、利用指针、链表来实现员工销售情况的数据结构设计3、系统具有输入、显示、查询、删除、排序、插入、保存、读取基本功能4、系统的各个功能模块都用函数的形式来实现。
5、可以将员工的销售情况从文件当中读取出来。
具体要求:某公司有四个销售员(编号:1-4),负责销售五种产品(编号1-5)。
每个销售员都将当天出售的每种产品各写一张便条交上来。
每张便条包含内容:1)销售员的代号2)产品的代号3)这种产品当天的销售额每位销售员每天的可能上交0-5张便条。
假设,收集到了上个月的所有便条,编写一个处理系统,读取上个月的销售情况,进行如下处理:主要功能:1、计算上个月每个人每种产品的销售额。
2、按销售额对销售员进行排序,输出排序结果(销售员代号)3、统计每种产品的总销售额,对这些产品按从高到底的顺序输出排序结果(需输出产品的代号和销售额)4、输出统计报表四、总体设计1、程序设计组成框图`五、详细设计1、功能函数f1()——本函数由梁俊贤设计函数的功能:计算上个月每个人每种产品的销售额函数的入口:从main()的switch()开关结构中进入,即choice的值为1时进入该函数,打开.dat数据文件,然后提示用户通过键盘对该月的员工销售情况进行数据的读入。
函数调用关系:被主函数调用。
由switch()开关结构中进入,并在文中无返回值的空值void函数。
函数的出口:当程序执行提示语“printf("继续输入请按回车,结束输入请按esc\n");”的时候,对用户的操作进行提示,如果用户选择了按“ESC”键,则用户选择了结束数据的录入,将结束该函数,而执行主函数main()中“break;”跳出switch()开关函数,继续执行for循环结构。
C语言 课程设计报告 员工销售业绩统计系统

设计报告课题名称:员工销售业绩统计系统学院:专业班级:电子信息工程14-1学号:学生:指导教师:2015年 07 月 02 日学生指导教师课题名称员工销售业绩统计系统设计时间06月22日-07月02日设计地点设计目的1.巩固和加深C语言课程中所学的理论知识;2.掌握C语言编程和程序调试的基本技能;3.通过综合C语言的基本知识来解决实际问题;4.学会利用C语言进行基本的软件设计;5.通过具体程序的练习掌握面向过程的程序设计方法;6.掌握书写程序设计说明文档的能力;指导教师评语系部教研室意见一、需求分析(设计目的)设计对某部门员工年销售业绩统计信息的管理系统,每个员工信息包括编号、姓名、年龄、性别、第一季度(春季)业绩、第二季度(夏季)业绩、第三季度(秋季)业绩、第四季度(冬季)业绩。
系统功能包括:1、系统操作以CUI(Command User Interface)界面工作。
2、员工信息的录入(增加数据)。
用数组数据类型赋初值的方法把员工信息送到各个数组中(但注意要是合法数据),然后把它们输出显示。
3、员工信息的删除(删除数据)。
任意输入一个员工的编号,将它所有的信息从数组中删除。
4、员工信息的浏览(显示数据)。
使用功能打印出所有员工编号、姓名、年龄、性别、各季度业绩。
5、员工信息的查找(查找数据)。
任意输入一个员工的编号、姓氏、姓名,将查找的员工所有业绩信息打印出来。
要求能多次查找。
6、员工信息的修改(修改数据)。
任意输入一门课程的编号、姓名,打印出所有相关信息后,可对某一项信息进行修改并保存。
7、员工信息的计算及排序(数据处理)。
计算员工年业绩及季平均业绩,并将员工的业绩按某一季业绩、年业绩、季平均业绩排序。
8、在程序运行时切换数据库(数据库切换),切换至另一部门员工数据库,可进行相同的数据操作。
二、总体设计1、系统框架图欢迎界面指定数据库菜单选择增加数据删除数据显示数据查找数据修改数据数据处理数据库切换退出2、模块分解欢迎界面void login();增加数据void add();显示数据void list();声明部分查找数据void search();数据处理void calculate();修改数据void revise();删除数据void delete();主函数main()欢迎界面login();增加数据add();询问是否修改显示数据list();调用部分查找数据search();数据处理calculate();修改数据revise();删除数据delete();重启主函数main();三、详细设计与实现(详见程序源代码、代码注释)四、遇到的问题及解决方案1、问题:子函数函数的声明与调用解决:借鉴其他程序调用子函数方法并复习相关知识2、问题:fread、fwrite函数的使用解决:使用百度百科查询相应函数(1)函数功能:用来读写一个数据块。
C语言课程设计报告(销售管理系统)
C语言课程设计报告(销售管理系统)学院:班级:学号:姓名:目录一、销售管理系统的设计目的 (3)二、需求分析 (4)三、概要设计 (5)四、详细设计 (6)五、主要原程序代码 (8)六、试分析过程描述调 (16)七、总结 (17)一、销售管理系统的设计目的1、通过本课程设计,培养上机动手能力,使学生巩固《C 语言程序设计》课程学习的内容,掌握工程软件设计的基本方法,强化上机动手能力,闯过编程关;2、学会用c语言程序设计来设计销售管理系统设计;3、为后续各门计算机课程的学习打下坚实基础。
二、需求分析1)设计题目分析题目:销售管理系统2)设计要求分析(1)用c语言实现程序设计(2)利用结构体进行相关信息处理(3)画出查询模块的流程图(4)系统的各个功能模块要求用函数的形式实现(5)界面友好(良好的人机互交),程序要有注释。
3)系统功能需求分析(1)计算上个月每个人每种产品的销售额(2)按销售额对销售员进行排序,输出排序结果(销售员代号)(3)统计每种产品的总销售额,对这些产品按从高到低的顺序,输出排序结果(需输出产品的代号和销售额)(4)输出统计报表三、概要设计1)总体设计本程序要设计销售管理系统,首先要设计一个选择函数,用来选择运行其他各个函数。
接着要分别设计输入数据函数,各种统计函数和各种排序函数,用以实现各种统计和排序功能,最后要设计一个数据请空函数和统计表输出函数,得到程序设计要求的表格。
2)系统流程图四、详细设计1)详细设计思路(1). main ()主函数 设置了程序的流程,结束程序。
(2). fprintf ( ) 选择函数 选择所想运行的各个函数.(3)mulu ( ) 输入函数 输入便条的数据.输(4). arg ( ) 文件的数据输入函数多次输入数据(5). output1 ( ) 统计函数每个人的每种产品销售额的统计(6). Output2 ( )总额排序函数按销售额对商品进行排序(7). output3 () 总额统计函数统计每种产品的总额(8). Output4 () 售员排序函数按照销售额对售员排序函数(9). save () 统计报表函数统计商品总额2)工作流程图五、主要源程序代码1)源程序清单(1)计算每个人每种产品的销售额。
c语言销售系统课程设计
c语言销售系统课程设计一、课程目标知识目标:1. 理解C语言的基本语法和数据类型,掌握其应用于销售系统的开发;2. 学会使用C语言实现数据的存储、查询、修改和删除操作;3. 掌握C语言中结构体、文件操作等知识,并能将其应用于销售系统的设计与实现。
技能目标:1. 能够运用所学知识,设计并编写一个简单的C语言销售系统;2. 培养学生的编程实践能力,使其能够独立解决编程过程中遇到的问题;3. 提高学生的团队协作和沟通能力,通过分组讨论和协作完成课程设计。
情感态度价值观目标:1. 激发学生对计算机编程的兴趣,培养其主动学习和探索精神;2. 培养学生面对问题时的耐心和毅力,使其具备解决问题的信心;3. 引导学生关注现实生活中的实际问题,培养其将所学知识应用于实际问题的意识。
本课程旨在让学生通过C语言销售系统的设计与实现,深入理解C语言编程知识,提高编程实践能力,同时培养团队协作和沟通能力。
针对学生的年级特点和知识水平,课程目标具体、可衡量,以便于教师进行教学设计和评估。
在教学过程中,注重理论与实践相结合,鼓励学生积极参与讨论和实践,提高其解决实际问题的能力。
二、教学内容1. C语言基础知识回顾:数据类型、运算符、控制结构、函数等;2. 结构体和数组的应用:设计销售系统的数据结构,存储商品信息、销售记录等;3. 文件操作:读写销售数据,实现数据的持久化存储;4. 销售系统功能模块设计:- 商品信息管理:添加、查询、修改、删除商品信息;- 销售记录管理:添加、查询、修改、删除销售记录;- 销售统计与分析:销售额、销售量、热销商品等统计;5. 界面设计:命令行界面设计,实现用户与系统的交互;6. 编程规范与调试技巧:培养学生的编程规范意识和调试能力;7. 项目实践与团队协作:分组完成销售系统的设计与实现,提高学生的实践能力和团队协作能力。
教学内容依据课程目标制定,与教材章节关联,注重科学性和系统性。
教学大纲明确,包括以下安排:1. 基础知识回顾(2课时)2. 结构体和数组的应用(3课时)3. 文件操作(2课时)4. 销售系统功能模块设计(6课时)5. 界面设计(2课时)6. 编程规范与调试技巧(2课时)7. 项目实践与团队协作(8课时)教学内容与进度安排合理,旨在帮助学生扎实掌握C语言编程知识,提高解决实际问题的能力。
C语言课程设计报告 销售管理系统
C语言课程设计报告销售管理系统一、题目要求某公司有四个销售员,(编号1-4),负责销售五种产品(编号1-5).每个销售员都将当天出售的每种产品各写一张便条过来.每长便条包含内容:①销售人员的代号②产品的代号;③这种产品的当天的销售额;每位销售人员每天肯上缴的0—5张便条.假如收集到了上个月的所有便条,编写一个处理程序,读取上个月的销售情况(自己假设),进行如下处理。
①计算上个月每个人每种产品的销售额;②按销售额对销售人员进行排序,输出排序的结果(销售员代号);③统计每种产品的总销售额,对这些产品按从高到低的顺序,输出排序结果(需要输出产品的代号和销售额);④输出统计报表。
二、需求分析本程序将用到结构体数组来实现,结构体成员要包括销售员代号、产品代号、销售额。
待输入相关数据后,要将上个月每个人每种产品的销售额输出,然后按销售额参照冒泡法或选择排序算法对销售员进行排序,并输出排序结果。
最后,要统计每种产品的总销售额,对这些产品按销售额从高到低的顺序输出排序结果。
三、总体设计下面就以上的需求分析对程序进行总体设计,可以将这个系统的设计分为三个模块:计算上个月每个销售员每种产品的销售额、按销售额给销售员排序、按销售额给产品排序。
如图:销售管理系统↙↓↘每个销售员每种产品的销售额按销售额给销售员排序按销售额给产品排序四、程序分析:对输入的每个销售人员的信息用结构体实现;结构体成员包括销售人员代号,产品代号产品销售额,输入时候包含三个for循环,按月循环,按销售人员循环,按销售额循环.输入销售额由于按结构体控制输入,将销售额,销售人员,销售产品的信息联系在一起,便于后面的统计:#include<stdio.h>#define P 1struct message{int seller[4];int product[4][5];int sale[4][5];}sell[50];void menu(){printf("\t\t*****************销售管理系统*****************\n\n");printf("\t\t\t\t一:输入模块\n");printf("\t\t\t\t二:统计计算模块\n");printf("\t\t\t\t三:打印输出模块\n");}int main(){int i,j,k,n,m,p;int a[4][5],b[4]={0},c[10],d[10][2];int e[5]={0},f[10][2];message sell[50];menu();for(i=1;i<=P;i++)for(j=1;j<=4;j++){printf("请输入销售人员编号:\n");scanf("%d",&n);for(k=1;k<=5;k++){printf("请输入产品编号:\n");scanf("%d",&m);printf("请输入产品当天销售额:\n");scanf("%d",&sell[i].sale[n][m]);}}/*输入*/printf("\t\t*****************统计报表系统*****************\n\n");printf("\t\t\t一:上个月每个销售人员每种产品的销售额\n");for(i=1;i<=4;i++)/*计算上个月每个人每种产品的销售额*/for(j=1;j<=5;j++){for(k=1;k<=P;k++)a[i][j]+=sell[k].sale[i][j];printf("上个月销售人员%d销售产品%d的销售额为%d\n",i,j,a[i][j]);}printf("\n\t\t\t二:上个月每个销售人员销售额排序\n");for(i=1;i<=4;i++)for(j=1;j<=5;j++)b[i]+=a[i][j];/*每个销售员的销售额*/ for(i=1;i<=4;i++){c[i]=b[i];}for(i=1;i<=4;i++)for(j=i+1;j<=4;j++)if(c[i]<c[j]){p=c[i];c[i]=c[j];c[j]=p;}for(i=1;i<=4;i++){for(j=1;j<=4;j++)if(c[i]==b[j]){d[i][0]=j;d[i][1]=b[j];}/*按销售额给销售员排序*/printf("销售人员%d的销售额为%d\n",d[i][0],d[i][1]);}printf("\n\t\t\t三:上个月每种产品总销售额排序\n");for(i=1;i<=5;i++)for(j=1;j<=4;j++)e[i]+=a[j][i];/*每种产品总销额*/for(i=1;i<=5;i++){c[i]=e[i];}for(i=1;i<=5;i++)for(j=i+1;j<=5;j++)if(c[i]<c[j]){p=c[i];c[i]=c[j];c[j]=p;}for(i=1;i<=5;i++){for(j=1;j<=5;j++)if(c[i]==e[j]){f[i][0]=j;f[i][1]=e[j];}/*产品销售额排序*/printf("上个月产品%d的销售额为%d\n",f[i][0],f[i][1]);}printf("\t\t*****************统计报表系统尾端*****************\n\n"); return 0;五、运行结果输入程序部分截图输出程序截图六、学习心得四天紧张而快乐的上机实习,让我再次感受到了c语言的难度,也让我从本质上对c语言这门学科有了更深层次的认识。
销售员销售业绩管理系统 课程设计
目录1绪论 (1)1.1课题背景及目的 (1)1.2课题研究意义 (1)2课题要求及分析 (2)2.1题目与要求 (2)2.2需求分析 (3)2.3操作环境 (3)3功能实现设计 (4)3.1总体设计 (4)3.1.1设计原理 (4)3.1.2程序设计组成框图 (4)3.1.3数据流图 (5)3.2详细设计 (5)3.2.1程序设计 (5)3.2.2函数流程图 (11)4运行结果 (12)5总结 (15)参考文献 (16)附录 (17)1绪论随着计算机的普及,计算机系统于社会的各个领域更广泛地被使用。
社会需求以及市场竞争等日新月异、瞬息万变,在这种情况下,信息进入重要资源的行列。
随着信息技术的推广应用和信息资源的不断开发利用,管理信息化正在往广度和深度发展,这导致信息管理在整个管理中地位的提升。
在企业中,销售管理是一项非常重要的工作,使用人工方式管理各项产品销售信息不仅效率低下,而且容易出错,安全性也很差。
并且在实际操作中,数据的查找以及客户信息的保管等都不容易实现。
这将导致管理费用的增加,服务质量也难以得到保证,从而影响企业的竞争力。
利用销售管理系统能有效、灵活地管理企业或者公司的销售情况,这将为公司或企业节省不少费用。
1.1课题背景及目的在信息时代来临之际,各企业都紧跟时代的脚步,转变着企业的经营模式、管理模式,从传统的人工管理体制,向信息自动化管理体制过度。
与此同时,企业的传统式的管理模式也在逐步向自动化管理模式转变。
信息的大量涌入让企业在信息处理方面应接不暇,传统的办公模式、对信息的处理方法,早已不能满足企业对信息快速、准确的处理的要求。
一个企业对信息数据的掌握程度、处理能力,体现了一个企业对市场的敏感程度,数据的真实性、准确性直接决定着企业的发展方向。
从传统的办公模式向自动化办公管理模式转变,提高企业的信息处理能力,以增强企业的市场竞争力,成了发展过程中的首要问题。
1.2课题研究意义销售管理系统在Internet上很少见到,但在企业或公司的内部却很常见也很重要。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
设计报告
课题名称:员工销售业绩统计系统学院:
专业班级:电子信息工程14-1
学号:
学生:
指导教师:
2015年 07 月 02 日
学生指导教师
课题名称员工销售业绩统计系统设计时间06月22日-07月02日设计地点
设计目的1.巩固和加深C语言课程中所学的理论知识;
2.掌握C语言编程和程序调试的基本技能;
3.通过综合C语言的基本知识来解决实际问题;
4.学会利用C语言进行基本的软件设计;
5.通过具体程序的练习掌握面向过程的程序设计方法;
6.掌握书写程序设计说明文档的能力;
指导教师评语
系部教研
室
意见
一、需求分析(设计目的)
设计对某部门员工年销售业绩统计信息的管理系统,每个员工信息包括编号、姓名、年龄、性别、第一季度(春季)业绩、第二季度(夏季)业绩、第三季度(秋季)业绩、第四季度(冬季)业绩。
系统功能包括:
1、系统操作以CUI(Command User Interface)界面工作。
2、员工信息的录入(增加数据)。
用数组数据类型赋初值的方法把员工信息送到各个数组中(但注意要是合法数据),然后把它们输出显示。
3、员工信息的删除(删除数据)。
任意输入一个员工的编号,将它所有的信息从数组中删除。
4、员工信息的浏览(显示数据)。
使用功能打印出所有员工编号、姓名、年龄、性别、各季度业绩。
5、员工信息的查找(查找数据)。
任意输入一个员工的编号、姓氏、姓名,将查找的员工所有业绩信息打印出来。
要求能多次查找。
6、员工信息的修改(修改数据)。
任意输入一门课程的编号、姓名,打印出所有相关信息后,可对某一项信息进行修改并保存。
7、员工信息的计算及排序(数据处理)。
计算员工年业绩及季平均业绩,并将员工的业绩按某一季业绩、年业绩、季平均业绩排序。
8、在程序运行时切换数据库(数据库切换),切换至另一部门员工数据库,可进行相同的数据操作。
二、总体设计
1、系统框架图
欢迎界面
指定数据库
菜单选择
增加数据删除数据显示数据查找数据修改数据数据处理数据库切换
退出
2、模块分解
欢迎界面void login();
增加数据void add();
显示数据void list();
声明部分查找数据void search();
数据处理void calculate();
修改数据void revise();
删除数据void delete();
主函数
main()
欢迎界面login();
增加数据add();
询问是否修改
显示数据list();
调用部分查找数据search();
数据处理calculate();
修改数据revise();
删除数据delete();
重启主函数main();
三、详细设计与实现
(详见程序源代码、代码注释)
四、遇到的问题及解决方案
1、问题:子函数函数的声明与调用
解决:借鉴其他程序调用子函数方法并复习相关知识
2、问题:fread、fwrite函数的使用
解决:使用百度百科查询相应函数
(1)函数功能:用来读写一个数据块。
(2)一般调用形式
fread(buffer,size,count,fp);
fwrite(buffer,size,count,fp);
(3)说明
①buffer:是一个指针,对fread来说,它是读入数据的存放地址。
对fwrite来说,是要输出数据的地址。
②size:要读写的字节数;
③count:要进行读写多少个size字节的数据项;
④fp:文件型指针。
⑤注意:
A.完成次写操(fwrite())作后必须关闭流(fclose());
B.完成一次读操作(fread())后,如果没有关闭流(fclose()),则
指针(FILE * fp)自动向后移动前一次读写的长度,不关闭流
继续下一次读操作则接着上次的输出继续输出。
3、问题:CUI(Command User Interface)界面无法对齐
解决:由于\t制表符使用不当、文字字数及界面宽度限制不能完美实现居中,缩减间距使之总体居左,局部文字居中。
4、问题:字符串的比较
解决:百度搜索相关内容
strcmp函数,C/C++函数,比较两个字符串
原型:extern int strcmp(const char*s1,const char*s2);
若s1==s2,则返回零;
若s1>s2,则返回正数;
若s1<s2,则返回负数。
即:两个字符串自左向右逐个字符相比(按ASCII值大小相比较),直到出现不同的字符或遇'\0'为止。
如:
"A"<"B" "a">"A" "computer">"compare"
特别注意:
strcmp(const char *s1,const char * s2)这里面只能比较字符串,即可用于比较两个字符串常量,或比较数组和字符串常量,不能比较数字等其他形式的参数。
五、总结与体会
课程设计是培养学生综合运用所学知识、发现、提出、分析和解决实际问题,锻炼实践能力的重要环节,是对我们的实际工作能力的具体训练和考察过程。
随着科学技术发展的日新月异,当今计算机应用在生活中可以说得是无处不在。
因此作为二十一世纪的大学来说掌握程序开发技术是十分重要的,而C语言又
是最常见,功能最强大的一种高级语言,因此做好C语言课程设计是十分必要的。
回顾起此次课程设计,至今我们仍感慨颇多。
的确,自从拿到题目到完成整个编程,从理论到实践,在整整半个月的日子里,可以学到很多很多的东西,同时不仅可以巩固了以前所学过的知识,而且学到了很多在书本上所没有学到过的知识。
通过这次课程设计使我们懂得了理论与实际相结合是很重要的,只有理论知识是远远不够的,只有把所学的理论知识与实践相结合起来,从理论中得出结论,才能真正为社会服务,从而提高自己的实际动手能力和独立思考的能力。
在设计的过程中遇到问题,可以说得是困难重重,这毕竟第一次做的,难免会遇到过各种各样的问题,同时在设计的过程中发现了自己的不足之处,对一些前面学过的知识理解得不够深刻,掌握得不够牢固,通过这次课程设计之后,我们把前面所学过的知识又重新温故了一遍。
我做的是员工业绩统计信息管理系统,虽然是很简单的一个小的程序,但对我一个初学者来说却是一个很大的困难。
更加是第一次做这样的课程设计,所以第一天下午在机房做了一个下午却丝毫没有进展,最主要是不知从何开始,这个时候才知道上课老师们不厌其烦的教导是多么的宝贵,这个时候才后悔上课的时候没有认真的听讲。
可是现在一切都晚了,还好时间还算是充裕,只好拿出书本重新复习一下。
特别是函数调用和数组的部分,几乎是一片空白。
不过经过几天的努力,大体上把课本上的知识点看了一遍,知识点也都基本是撑握了,所以下一步就是开始正式的编程序了。
不过毕竟是个新手,还是不知如何下手,于是就在网上下了一篇类似的程序,经过仔细的研究,终于读懂了C
语言编程的基本过程和方法。
经过一波三折,终于开始正式编程。
编程是一件很枯燥很无聊的事情,但是出于完成作业,得到学分的压力,还
必须强迫自己坚持下去,按照老师所说的模块化思想,分部分的进行编写。
而且编程是一件高精度、模范化的事情,稍有疏乎都会影响全局,也可能因为某一处的小的错误而导致整个程序的无法运行。
无论如何是自己的劳动成果,是自己经过努力得到的成绩,同时也是学习C语言的一次实践作业,自己进步的证明。
通过这次课程设计,使我对C语言有了更进一步的认识和了解,要想学好它要重在实践,要通过不断的上机操作才能更好地学习它,我也发现我的好多不足之处,首先是自己在指法上还不行,经常按错字母,通过学习也有所改进;再有对C语言的一些标准库函数不太了解,还有对函数调用的正确使用不够熟悉,还有对C语言中经常出现的错误也不了解,通过实践的学习,我认识到学好计算机要重视实践操作,不仅仅是学习C语言,还是其它的语言,以及其它的计算机方面的知识都要重在实践,所以后在学习过程中,我会更加注视实践操作,使自己便好地学好计算机。
在课程设计过程中,收获知识,提高能力的同时,我也学到了很多人生的哲理,懂得怎么样去制定计划,怎么样去实现这个计划,并掌握了在执行过程中怎么样去克服心理上的不良情绪。
因此在以后的生活和学习的过程中,我一定会把课程设计的精神带到生活中,不畏艰难,勇往直前!。