C语言 课程设计报告 员工销售业绩统计系统
C语言课程设计报告(销售管理系统设计)
![C语言课程设计报告(销售管理系统设计)](https://img.taocdn.com/s3/m/f8d10bf8f8c75fbfc77db2e1.png)
× × × ×大学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语言课程设计报告--销售管理系统设计
![C语言课程设计报告--销售管理系统设计](https://img.taocdn.com/s3/m/e9e88cc45022aaea998f0f75.png)
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.经验和体会等。
员工销售业绩统计系统
![员工销售业绩统计系统](https://img.taocdn.com/s3/m/bd681ecfa8114431b80dd83f.png)
员工销售业绩统计系统课程设#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语言课程设计销售管理系统报告(大全五篇)](https://img.taocdn.com/s3/m/f28f56bf50e79b89680203d8ce2f0066f4336471.png)
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语言-销售管理系统报告书.doc](https://img.taocdn.com/s3/m/831003a076a20029bc642d06.png)
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语言 课程设计报告 员工销售业绩统计系统
![C语言 课程设计报告 员工销售业绩统计系统](https://img.taocdn.com/s3/m/6ec2a7390066f5335a812135.png)
设计报告课题名称:员工销售业绩统计系统学院:专业班级:电子信息工程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语言课程设计报告(销售管理系统)](https://img.taocdn.com/s3/m/0c1e29cca45177232f60a2df.png)
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语言销售系统课程设计](https://img.taocdn.com/s3/m/ad5687b7112de2bd960590c69ec3d5bbfd0adaee.png)
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语言课程设计报告 销售管理系统](https://img.taocdn.com/s3/m/a1a4744a2e3f5727a5e9629d.png)
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语言这门学科有了更深层次的认识。
销售员销售业绩管理系统 课程设计
![销售员销售业绩管理系统 课程设计](https://img.taocdn.com/s3/m/b3cfe26fa45177232f60a2ee.png)
目录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上很少见到,但在企业或公司的内部却很常见也很重要。
c语言课程设计(销售管理系统)【完整版】
![c语言课程设计(销售管理系统)【完整版】](https://img.taocdn.com/s3/m/52c334cc360cba1aa811dac9.png)
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语言课程设计企业员工业绩管理系统](https://img.taocdn.com/s3/m/8e0c9deccaaedd3382c4d31d.png)
计算机工程系课程设计报告成绩:指导教师(签名):课程名称: C 语言程序设计课程设计题目:企业员工业绩管理系统班级计算机科学与技术16-4 班姓名曾钦钰学号1609014332017 年6 月目录1 系统开发设计的意义 (1)2 系统介绍 (1)3 功能介绍 (1)4 系统功能模块结构图 (2)5 函数编写 (2)6 实训源程序代码和调试过程(包括截图). (3)1.1 进入界面 (3)1.2 选择菜单 (4)1.3 输入信息 (4)1.4 显示信息 (5)1.5 增项 (5)1.6 删项 (6)1.7 修改信息 (6)1.8 统计信息 (7)1.9 查找 (7)2.0 退出系统 (8)7 源程序代码 (9)小结 (19)参考文献 (20)1 系统开发设计的意义为了实现提高企业管理部门的工作效率;充分利用资源;减少不必要的人力,物力和财力的支出;方便企业管理部门的工作人员全面地掌握员工住宿情况等目的。
2 系统介绍该系统定位于企业员工的管理,暂时考虑单机环境下的实现;操作系统选择目前常用的Windows 7,Windows 8, 和Windows 10系统。
3 功能介绍1, 进入主界面:要求输入密码,输入三次错误系统锁定。
2,输入记录: 将员工的基本信息包括身份证号,姓名,性别,地区,分数等数据作为一个记录写入文件。
3,显示记录: 显示员工的各项信息。
4,增加记录: 增加多个员工的基本信息,位于之前的员工后面。
5,删除记录: 删除员工信息。
6,修改记录:可以修改员工的任何一项基本信息。
7,查找记录: 可以根据员工的身份证号查找并显示出员工的信息。
8,退出系统4 系统功能模块结构图本管理系统理由输入记录,显示记录,增加记录,删除记录,修改记录,查找记录,六个大模块组成,其总体结构图如下。
企业员工业绩管理系统输入记录模块显示记录模块修改记录模块增加记录模块删除记录模块修改记录模块统计记录模块查找记录模块退出系统图4-15 函数编写定义结构类型;定义全局变量;定义、编写记录(数据)输入函数;定义、编写记录(数据)显示函数;定义、编写记录(数据)增加函数;定义、编写记录(数据)删除函数;定义、编写记录(数据)修改函数;定义、编写记录(数据)查找函数;2函数名称函数功能enter() 进入函数input() ;输入函数display() 显示函数add () 增加函数delet() 删除函数amend() 修改函数preside () ;统计函数fint () ;查找函数output() ;退出函数图5-16实训源程序代码和调试过程(包括截图)1.10进入界面图6-11.11选择菜单图6-2 1.12输入信息图6-31.13显示信息图6-4 1.14增项图6-51.15删项图6-6 1.16修改信息图6-71.17统计信息图6-8 1.18查找图6-91.19退出系统图6-107 源程序代码#include <stdio.h>#include <stdlib.h>#include <conio.h>#include <string.h>#define N 20struct worker /*定义员工结构体*/{long num;char name[20];char sex[2];char address[20];int score[3];int sum;int ave;};struct worker wor[N];int t=1,pl=0;void enter();void input();void display();void add();void delet();void amend();void preside();void fint();void output();void main(){int password;int i;printf("\n\n\n\n\t\t\t 企业员工业绩管理系统\n"); /*初始界面输入验证密码*/for(i=1;i<=3;i++){printf("\n\n\t\t\t 请输入密码:");scanf("%d",&password);if(password==511){enter();break;}printf("error!please input again!");}printf(" 密码输入三次有误!系统锁定!");}void enter() /* 进入主菜单函数*/{int choice,w;char k;system("cls");printf("\t\t\t 企业员工业绩管理系统\n\n");printf("\t\t1. 录入.\t2. 显示.\t3. 增项.\t4. 删项.\n\t\t5. 修改.\t6. 统计.\t7. 查找.\t8.退出.\n");printf("\n 输入序号执行相应功能:");scanf("%d",&choice);switch(choice){case 1: input();break;case 2: display(); break;case 3: add();break;case 4: delet();break;case 5: amend();break;case 6: preside(); break;case 7: fint(); break;case 8: output();break;default: w=1;}if(w==1){printf(" 输入有误,按任意键重新选怿.\n");k=getchar();getch();enter();}}void input() /* 员工信息录入的函数*/{int x,count=0,i;char w,r[20],o;struct worker *p;p=wor;system("cls");printf("\t\t\t 员工信息的录入.\n");do{pl++;printf(" 请输入第%d 个员工的信息.\n\n",t);printf(" 身份证号:\n");scanf("%ld",&p->num);printf(" 姓名:\n");scanf("%s",&p->name);printf("\n");printf(" 性别:\n");gets(r);gets(&p->sex);printf("\n");printf(" 地区:\n");scanf("%s",&p->address);printf("\n");printf(" 三种成绩:1.出勤率.2.年销售业绩.3.平时表现.\n");for(i=0;i<3;i++)scanf("%d",&p->score[i]);p->sum = p->score[0] + p->score[1] + p->score[2];p->ave = p->sum/3;printf("\n\n 是否要继续输入员工信息,如果是请按y;不是请按n.\n");o=getchar();w=getchar();if(w=='y' || w=='Y'){t++;x=1;p++;}elsex=0;}while(x==1);if(w=='n' || w=='N')printf(" 按任意键返回.\n");getch();enter();}void display() /*显示员工信息*/{int i,j;system("cls");printf("\t\t\t 员工信息显示.\n\n");for(j=0;j<t;j++){printf("%s\t%s\t%s\t%s\t%s\t%s\t%s\t%s\t%s\n\n","身份证号"," 姓名"," 性别","地区","出勤率","年销售业绩","平时表现","年终均分"," 年终年终年终总分");printf("%ld\t%s\t%s\t%s\t",wor[j].num, wor[j].name, wor[j].sex,wor[j].address);for(i=0;i<3;i++)printf("%d\t", wor[j].score[i]);printf("%d\t", wor[j].ave);printf("%d\t", wor[j].sum);printf("\n\n");}printf("\n 按任意键返回.\n");getch();enter();}void add() /*员工信息的增加*/{int i,x;char a, w;struct worker *p;p=wor+t;system("cls");printf("\n\t\t\t 增加员工信息.\n");do{printf(" 请输入第%d 个员工的信息.\n\n",t+1);printf(" 身份证号:\n");scanf("%ld",&p->num);printf("\n");printf(" 姓名:\n");scanf("%s",p->name);printf("\n"); printf(" 性别:\n"); scanf("%s",p->sex); printf("\n");printf(" 地区:\n");scanf("%s",p->address);12printf(" 三种成绩:1.出勤率.2.年销售业绩.3.平时表现.\n");for(i=0;i<3;i++)scanf("%d",&p->score[i]);for(i=0;i<3;i++)p->sum = p->score[0] + p->score[1] + p->score[2];p->ave = p->sum/3;a=getchar();printf("\n 是否要继续输入员工信息,如果是请按y;不是请按n.\n\n");w=getchar();p++;t++;if(w=='y'||w=='Y'){x=1;}if(w=='n'||w=='N'){x=0;break;}}while(x==1) ;if(x==0){printf("\n");printf(" 按任意键返回.\n");getch();enter();}}void delet() /*员工信息的删除*/{long b;int z,j;int r=t;char c,x;struct worker *p;system("cls");printf("\n\t\t\t 删除员工信息\n");printf(" 请输入要删除员工的身份证号:\n\n");scanf("%ld",&b);for(p=wor;p<wor+t;p++)if(p->num==b)elser--;if(r==0){printf(" 你要删除的员工不存在,请按任意键返回.\n");getch();enter();}printf("\n 你要删除的员工为:\n");printf("%-8s%-8s%-8s%-8s%-8s%-8s%-8s%-8s%-8s\n\n","身份证号"," 姓名","性别","地区"," 出勤率"," 年销售业绩","平时表现","年终均分","年终年终总分");printf("%-8ld%-8s%-8s%-8s",p->num,p->name,p->sex,p->address);for(j=0;j<3;j++)printf("%-8d",p->score[j]);printf("%-8d",p->ave);printf("%-8d",p->sum);printf("\n 你确定要删除吗?如是请输入y;不是请输入n.\n");x=getchar();c=getchar();if(c=='y'||c=='Y'){for(p=wor;p<wor+t;p++)*p=*(p+1);t--;printf(" 系统已为你删除信息,请按任意键返回.\n");getch();enter();}if(c=='n'||c=='N'){printf(" 删除信息取消!按任意键返回.\n");getch();enter();}}void amend() /*员工信息的修改*/{long j;int i,z,r=t;char c,d,e,f,q,u,l,v,m,k,h1,h2,h3,h4;struct worker *p;system("cls");printf("\n\t\t\t 修改员工信息\n");printf(" 请输入要修改员工的身份证号:\n\n");scanf("%ld",&j);for(p=wor;p<wor+t;p++)if(p->num==j)break;elser--;if(r==0){printf(" 你输入的员工不存在,请按任意键返回.\n");getch();enter();}printf("\n 你要修改的员工为:\n");printf("%-8s%-8s%-8s%-8s%-8s%-8s%-8s%-8s%-8s\n\n","身份证号"," 姓名"," 性别"," 地区"," 出勤率"," 年销售业绩"," 平时表现"," 年终均分"," 年终年终总分");printf("%-8ld%-8s%-8s%-8s",p->num,p->name,p->sex,p->address);for(j=0;j<3;j++)printf("%-8d",p->score[j]);printf("%-8d",p->ave);printf("%-8d",p->sum);printf("\n\n 是否要修改身份证号:是请按y;不是请按n.\n\n");l=getchar();c=getchar();if(c=='y'||c=='Y'){printf(" 请输入正确的身份证号:\n\n");scanf("%ld",&p->num);}if(c=='n'||c=='N')z=1;printf(" 是否要修改姓名:是请按y;不是请按n.\n\n");q=getchar();d=getchar();m=getchar();if(d=='y'||d=='Y'){printf(" 请输入正确的姓名:\n");scanf("%s",p->name);u=getchar();}if(d=='n'||c=='N')z++;printf("\n 是否要修改性别:是请按y;不是请按n.\n\n");e=getchar();k=getchar();if(e=='y'||e=='Y'){printf(" 请输入正确的性别:\n");scanf("%s",p->sex);}if(e=='N'||e=='n')z++;printf("\n 是否要修改地区:是请按y;不是请按n.\n\n");h3=getchar();h4=getchar();if(h3=='y'||h3=='Y'){printf(" 请输入正确的地区:\n");scanf("%s",p->address);}if(h3=='N'||h3=='n')z++;printf("\n 是否要修改三种成绩:是请按y;不是请按n.\n\n");f=getchar();if(f=='y'||f=='Y'){printf(" 请输入正确的三种成绩:");for(i=0;i<3;i++)scanf("%d",&p->score[i]);p->sum = p->score[0] + p->score[1] + p->score[2];p->ave = p->sum/3;}v=getchar();if(f=='n'||f=='N'){printf(" 请按任意键返回.\n");getch();enter();}}void preside() /*员工信息的统计*/{int i,j,o=0,b=10,r=60;struct worker *p;system("cls");printf("\n\t\t\t 员工信息统计.\n");printf("%-8s%-8s%-8s%-8s%-8s%-8s%-8s%-8s%-8s\n\n","身份证号"," 姓名"," 性别","地区","出勤率","年销售业绩","平时表现"," 年终均分"," 年终年终总分");for(p=wor;p<wor+t;p++){printf("%-8ld%-8s%-8s%-8s",p->num,p->name,p->sex,p->address);for(j=0;j<3;j++)printf("%-8d",p->score[j]);printf("%-8d",p->ave);printf("%-8d",p->sum);printf("\n\n");}printf("\n\n\n");for(p=wor;p<wor+t;p++){for(i=0;i<3;i++)if(p->score[i]<r){b=b-1;o=o+1;printf("%-8s%-8s%-8s%-8s%-8s%-8s%-8s%-8s%-8s\n\n","身份证号","姓名","性别"," 地区"," 出勤率"," 年销售业绩"," 平时表现","年终均分","年终年终总分");printf("%-8ld%-8s%-8s%-8s",p->num,p->name,p->sex,p->address);for(j=0;j<3;j++)printf("%-8d",p->score[j]);printf("%-8d",p->ave);printf("%-8d",p->sum);printf("\n\n");break;}}if(b==10)printf("\n\n 企业所有的人都通过考试.\n\n");else if(b<10)printf("\n 以上为合格的,企业不合格的人数为:%d 人.\n\n",o);printf("\n");printf(" 统计完成,请按任意键返回.\n");getch();enter();17}void fint() /*查找员工信息*/{int i,j=t;long num_a;struct worker *p;char a,b;system("cls");printf("\n\t\t\t 查找员工信息\n");printf("\t\t\t 请输入要查找的员工身份证号:\n");scanf("%ld",&num_a);for(p=wor;p<wor+t;p++){j--;if(p->num==num_a)break;if(j==0){printf(" 不存在该员工,请按任意键返回.\n\n");a=getchar();getch();enter();}}printf("\n 你要查找的员工为:\n\n");printf("%-8s%-8s%-8s%-8s%-8s%-8s%-8s%-8s%-8s\n\n","身份证号"," 姓名"," 性别"," 地区"," 出勤率"," 年销售业绩"," 平时表现"," 年终均分"," 年终年终总分");printf("%-8ld%-8s%-8s%-8s",p->num,p->name,p->sex,p->address);for(i=0;i<3;i++)printf("%-8d",p->score[i]);printf("%-8d",p->ave);printf("%-8d",p->sum);printf("\n\n 查找完成,请按任意键返回.");b=getchar();getch();enter();}void output() /*退出系统*/{system("cls");exit(0);}小结这次实验,虽然看起来很简单,但是真的坐起来的时候就发现了困难重重,让我深刻的体会到了要做一个软件,里面需要的很多知识还是我们没有接触过的,所以我们需要不断的实践,不断的学习,不断的发现问题去思考问题。
C语言-销售管理系统报告书
![C语言-销售管理系统报告书](https://img.taocdn.com/s3/m/3ca959790066f5335a8121c2.png)
C语言-销售管理系统报告书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函数。
C课程设计-销售管理系统
![C课程设计-销售管理系统](https://img.taocdn.com/s3/m/d4e29f6486c24028915f804d2b160b4e767f8197.png)
任务书一、设计题目销售管理系统二、主要内容本课程设计某公司有四个销售员(编号:1-4),负责销售五种产品(编号:1-5)。
每个销售员都将当天出售的每种产品各写一张便条交上来。
每张便条包含内容:销售员的代号、产品的代号、这种产品的当天的销售额。
每位销售员每天可能上缴0-5张便条。
假设,收集到了上个月的所有便条,编写一个处理系统,读取上个月的销售情况(自己设定),进行如下处理。
1)计算上个月每个人每种产品的销售额。
2)按销售额对销售员进行排序,输出排序结果(销售员代号)3)统计每种产品的总销售额,对这些产品按从高到底的顺序,输出排序结果(需输出产品的代号和销售额)4)输出统计报表如下:产品代号销售之和销售员代号1 2 ……………………………………………………………… 每种产品之和总和三、具体要求及应提交的材料设计要求:1. 分析设计要求,给出解决方案(要说明设计实现所用的原理,采用的数据结构); 2. 模块化程序设计,画出程序的基本结构框图和流程图; 3. 对程序的每一部分要有详细的设计分析说明; 4. 程序执行的每个步骤要有具体的提示内容或输出; 5. 源代码格式规范(锯齿型书写格式),注释不少于三分之一;销售管理系统 6. 设计合适的测试用例,对得到的运行结果要有分析; 7. 设计中遇到的问题,设计的心得体会。
设计结束后,每位同学必须上交如下材料: 1. 《课程设计说明书》打印稿一份; 2. 《课程设计说明书》电子文档及课程设计的程序源代码刻盘四、主要技术路线提示首先根据要解决的问题进行分析和总体设计,得到要定义的数据结构(可使用链表或结构数组存储数据)和函数,然后进行详细编码,在主函数中对各功能函数进行测试。
五、进度安排一周完成。
1天查阅资料和分析,3天编程,2天写出课程设计报告并上交。
六、推荐参考资料(不少于3篇) 摘要随着计算机技术的飞速发展和激烈的市场竞争,销售管理系统在企业结构中已经占据主导地位,而使用计算机来进行销售管理不仅错误少、灵活度高,并且效率高、操作简便。
c语言课程设计销售系统设计
![c语言课程设计销售系统设计](https://img.taocdn.com/s3/m/8813e4d368dc5022aaea998fcc22bcd127ff421d.png)
c语言课程设计销售系统设计一、教学目标本课程旨在通过C语言编程,设计并实现一个简单的销售系统。
通过本课程的学习,学生将掌握C语言在销售系统中的应用,能够运用C语言编写销售系统的相关代码,并进行调试和优化。
1.理解C语言的基本语法和数据结构。
2.掌握C语言在销售系统中的应用。
3.能够使用C语言编写销售系统的相关代码。
4.能够对销售系统的代码进行调试和优化。
情感态度价值观目标:1.培养学生的编程兴趣,提高学生对C语言的认识和理解。
2.培养学生的解决问题的能力和创新精神。
二、教学内容本课程的教学内容主要包括C语言的基本语法、数据结构以及销售系统的设计和实现。
1.C语言的基本语法:包括变量、运算符、控制结构等。
2.数据结构:包括数组、链表、栈、队列等。
3.销售系统的设计和实现:包括销售数据的录入、查询、修改和删除等功能。
三、教学方法本课程将采用讲授法、案例分析法和实验法等多种教学方法相结合的方式进行教学。
1.讲授法:通过讲解C语言的基本语法和数据结构,使学生掌握相关知识。
2.案例分析法:通过分析销售系统的实际案例,使学生理解和掌握C语言在销售系统中的应用。
3.实验法:通过实验操作,让学生亲自动手编写和调试销售系统的代码,提高学生的实践能力。
四、教学资源本课程的教学资源主要包括教材、参考书、多媒体资料和实验设备。
1.教材:选用权威、实用的C语言教材。
2.参考书:提供相关的C语言编程参考书籍,供学生自主学习。
3.多媒体资料:制作课件、视频等多媒体资料,丰富教学手段。
4.实验设备:提供计算机、编程环境等实验设备,保障实验教学的顺利进行。
五、教学评估本课程的评估方式包括平时表现、作业和考试三个部分,以保证评估的客观性和公正性,全面反映学生的学习成果。
1.平时表现:包括课堂参与度、提问回答、小组讨论等,通过观察学生的表现,评估其在课堂上的学习态度和效果。
2.作业:布置与课程内容相关的编程作业,评估学生的编程能力和对课程知识的理解运用。
- 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语言,还是其它的语言,以及其它的计算机方面的知识都要重在实践,所以后在学习过程中,我会更加注视实践操作,使自己便好地学好计算机。
在课程设计过程中,收获知识,提高能力的同时,我也学到了很多人生的哲理,懂得怎么样去制定计划,怎么样去实现这个计划,并掌握了在执行过程中怎么样去克服心理上的不良情绪。
因此在以后的生活和学习的过程中,我一定会把课程设计的精神带到生活中,不畏艰难,勇往直前!。