C语言销售管理系统.docx
- 文档编号:12835861
- 上传时间:2023-06-08
- 格式:DOCX
- 页数:24
- 大小:37.75KB
C语言销售管理系统.docx
《C语言销售管理系统.docx》由会员分享,可在线阅读,更多相关《C语言销售管理系统.docx(24页珍藏版)》请在冰点文库上搜索。
C语言销售管理系统
姓名
身份
产品 1 销售额
产品 1 销售额
总产品销售额
char
int
int
int
int
2、数据库结构:
下表构成该系统的基本数据库
( 一 ) 、设计内容与设计要求
1.设计内容:
设计课题四:
销售管理系统
一、问题描述:
通过本系统实现对 N 个销售员信息的录入、显示、添加、删除,以
及对产品销售额的排序等操作的管理。
二、功能描述:
1、本系统采用一个包含 n 个数据的结构体数组,每个数据的结
构应当包括:
姓名、身份、产品 1 销售额、产品 2 销售额、
总产品销售额。
2、本系统显示这样的菜单:
销售管理系统
1、销售员信息输入
2、销售员信息输出
3、删除销售员
4、添加销售员
5、销售额排序
6、统计产品销售额
7、保存销售额信息
0、退出系统
3、执行一个具体的功能之后,程序将重新显示菜单。
4、将系统信息保存在文件中。
三、算法提示:
1、数据结构:
结构体类型数组
四、测试数据:
记录数 20。
2.设计要求:
1).设计正确,方案合理。
2).界面友好,使用方便。
3).程序精炼,结构清晰。
4).设计报告 5000 字以上,含程序设计说明,用户使用说明,源程序清单
及程序框图。
5).上机演示。
( 二 ) 、进度安排
第一周课题讲解,查阅资料总,体设计,详细设计
周日:
8:
00——12:
00
14:
00-—18:
00
周一:
8:
00——12:
00
周三:
14:
00——18:
00
第二周 编程,上机调试,修改程序,完善程序,答辩
撰写课程设计报告
周二:
8:
00——12:
00
周五:
14:
00——18:
00
附:
课程设计报告装订顺序:
封面、任务书、目录、正文、评分、附件(A4 大小的图纸及
程序清单)。
正文的格式:
一级标题用 3 号黑体,二级标题用四号宋体加粗,正文用小四号宋体;
行距为 22。
正文的内容:
一、课题的主要功能;二、课题的功能模块的划分(要求画出模块图);
三、主要功能的实现(至少要有一个主要模块的流程图);四、程序调试;五、总结;六、
附件(所有程序的原代码,要求对程序写出必要的注释)。
正文总字数要求在 5000 字以上(不含程序原代码)
一、需求分析 ………………………………………………………1
二、概要设计………………………………………………………1
三、详细设计………………………………………………………5
四、调试分析以及设计体会………………………………………6
五、使用说明………………………………………………………6
六、附录……………………………………………………………7
、、 需求分析
1、程序的功能。
程序要完成的功能有:
(1)销售员信息录入
(2)销售员信息显示
(3)销售额信息保存(4)产品总销售额由大到小排序
(5)统计产品销售额信息(6)插入销售员及其信息
(7)删除销售员及其信息(0)退出销售管理系统
2、输入输出的要求。
输入运用了 scanf 和 gets 函数;输出运用了 printf 函数。
、、 概要设计
1、程序由哪些模块组成以及一个模块之间的层次结构、模块的调用关系;
每个模块的功能。
程序由主函数 voidmain()、输入 voidinput()、显示 voidshow()、删除
voiddel()、排序 voidsort()、添加 voidinsert()、统计 void
statistic()、保存 void save()、退出 void exit()等九个模块组成。
本系统
涉及的知识点:
分支,循环,函数,数组,结构体,文件等。
各个函数模块的
实现如下:
(1)关于 voidmain():
采用 switch 分支控制语句,通过键盘输入值作为
开关值,用以调用主菜单各大函数,从而实现主控职能。
C 语言的函
数调用遵循先定义后引用的原则,在程序的最开始就定义了众多的全
局变量,如 int i。
其调用关系如下:
switch(i)
{
case 0:
printf("o退出销售管理系统o\n");
exit(0);
break;
case 1:
printf("-----销售员信息录入-----\n");
input();
break;
case 2:
printf("-----销售员信息显示-----\n");
show();
break;
case 3:
printf("-----销售额信息保存-----\n");
save();break;
case 4:
printf("-----总销售额信息排序-----\n");
sort();break;
case 5:
printf("-----统计产品销售额信息-----\n");
statistics_sailer();break;
case 6:
printf("-----插入销售员及其信息-----\n");
insert();break;
case 7:
printf("-----删除销售员及其信息-----\n");
del();break;
default:
printf("输入错误,请重新选择!
!
");
break;
}
}
}
(2) 录入函数 void inprint ()的实现:
由主菜单按‘1’键进入。
利用
循环方式,将相关信息存入结构体数组,结构体组根据实际的纪录条
数,建立销售员信息。
按照要求,分步依次录入信息:
销售员个数,
销售员姓名,销售员工号,产品一销售额,产品二销售额,实现途径
为:
void input()
{
int i;
printf("请输入销售员个数\n");
scanf("%d",&n);
for(i=0;i { printf("输入销售员姓名: \n"); scanf("%s",seller[i].name); printf("输入销售员工号: \n"); scanf("%s",seller[i].num); printf("请分别输入产品一和产品二的销售额: \n"); scanf("%d%d",&seller[i].sailerl,&seller[i].sailerm); } system("cls"); } (3) 显示函数 void show()的实现: 该功能是输出销售员中的所有信息: void show () { struct seller *p; system("cls"); printf("姓名工号产品一销售额产品二销售额: \n"); for(p=seller;p printf("%-8s%2s%6d%12d\n",p->name,p->num,p->sailerl,p- >sailerm); printf("\n\n"); } (4)排序函数 void sort()的实现: void sort() { struct seller temp; int i,j; for(i=0;i seller[i].sum=seller[i].sailerl+seller[i].sailerm; for(j=0;j for(i=0;i if(seller[i].sum { temp=seller[i]; seller[i]=seller[i+1]; seller[i+1]=temp; } system("cls"); printf("姓名工号产品一销售额产品二销售额产品总 销售额: \n"); for(i=0;i printf("\n%s\t%s\t%d\t%8d\t%8d\n",seller[i].name,seller[i].num,se ller[i].sailerl,seller[i].sailerm,seller[i].sum); } (5)统计函数 void statistics_sailer ()的实现: 运用的语句是: void statistics_sailer () { int i,sum1,sum2,sum; sum1=0;sum2=0;sum=0; for(i=0;i { sum1+=seller[i].sailerl; sum2+=seller[i].sailerm; sum=sum1+sum2; } system("cls"); printf("产品一的销售额: %d\n",sum1); printf("产品二的销售额: %d\n",sum2); printf("产品总的销售额: %d\n",sum); } (6)保存函数 void save ()运用以下语句实现: void save () { FILE *fp; int i; fp=fopen("seller.txt","w"); for(i=0;i fwrite(&seller[i],sizeof(struct seller),1,fp); system("cls"); printf("\n\n"); printf("保存成功! \n"); printf("\n\n"); } (7)删除函数 void del()的实现: 输入要删除的销售员的姓名。 运用的语 句是: void del() { char seller_name[20]; int i,j; printf("输入要删除销售员的姓名: "); fflush(stdin); scanf("%s",seller_name); for(i=0;i { if(strcmp(seller_name,seller[i].name)==0) { for(j=i;j seller[i]=seller[i+1]; n=n-1; } break; } save(); system("cls"); } 2、此程序的数据库存储的数据为: 销售员的姓名、工号(身份)、产品一 的销售额、产品二的销售额、产品总的销售额。 、、 详细设计 1、采用 C 语言定义相关的数据类型。 struct seller { char num[10]; char name[20]; int sailerl; int sailerm; int sum; }seller[200]; 2、画出函数的调用关系图。 开始 主函数 (main) 销售员 信息输 入 (input 销售员 信息显 示 (show 删除销 售员 (del) 添加销 售员 (insert ) 统计产 品销售 额 statistic 保存销 售额信 息 (save ) ) ) 退出 (exit) 、、调试分析以及设计体会 1、问题以及解决问题的方法。 在开始编程时我就遇到了问题,首先是心理问题,心里感到一个系统那 么复杂要编出来真是太难了。 然后在程序编写过程中我遇到了函数没有 定义就运行的问题,一开始我还不知道,但通过向老师和同学询问终于 改正了这个问题。 后来又遇到运行时出现删除一个销售员的信息,显示 时又出现它的问题,通过查询原来是因为删除后没有保存,在删除模块 中调入 save()后就解决了 2、课程设计过程经验教训、心得体会。 开始时我感到要我编一个程序真是太难了,但经过看书、问老师和问同 学将问题一个一个解决后我感觉收获很大,这不仅仅是编了一个程序, 而是感觉到了战胜困难的一种快感,也增加了我学习 C 语言的信心。 、、 使用说明。 用户使用手册: 欢迎使用本人开发的销售管理系统。 本系统具有以下功能菜单: (0)退出销售管理系统 (1) 销售员信息录入 (2) 销售员信息显示 (3) 销售额信息保存 (4) 产品总销售额由大到小排序 (5) 统计产品销售额信息 (6)插入销售员及其信息 (7)删除销售员及其信息 进入此界面后请选择数字 0——8 进行操作。 1. 录入功能: 在主菜单按下‘1’,按照提示输入录入要录入的销售员人数, 销售员的姓名,工号,产品一的销售额,产品二的销售额以 ENTER 键结束 输入,输入完后自动返回主菜单,再按键‘1’,则继续录入信息。 2.显示功能: 在主菜单界面按下键‘2’再按下 ENTER 键就会显示全部销售 员信息及出现主菜单。 3. 保存功能: 在主菜单按下‘3’,再按下 ENTER 键,会出现“保存成功”字 样,并出现主菜单。 4. 排序功能: 在主菜单界面按下键‘4’ 再按下 ENTER 键,就会显示按产品 总销售额排序后的全部销售员信息并出现主菜单。 5. 统计功能: 在主菜单按下‘5’,再按下 ENTER 键,所有销售员产品一的销 售额、产品二的销售额、产品总的销售额,并出现主菜单。 6.插入功能: 在主菜单界面按下键‘6’ 再按下 ENTER 键,会显示“请输入 销售员的姓名”等提示,根据提示输入销售员的姓名、工号、产品一的销售额、 产品二的销售额,输入完成后会显示“是否继续输入(Y/N)”如果继续输入按 ‘Y’不继续输入按‘N’如果按‘N’会显示主菜单。 7. 删除功能: 在主菜单界面按下键‘6’ 再按下 ENTER 键,会显示“请输 入要删除的销售员的姓名”等提示,输入要删除的销售员的姓名后按下 ENTER 键,就删除了要删除的销售员的信息。 8. 操作结束后请按‘3’保存,再按‘0’推出系统。 六、附录 1、参考书目: C 程序设计(第三版) 2、源程序清单 #include #include #include # include # include struct seller { char num[10]; char name[20]; int sailerl; int sailerm; int sum; }seller[200]; FILE *fp; int n; void main () { void insert(); void del(); void input(); void show(); void save(); void sort(); void statistics_sailer(); int i; while (1) { printf("----------------------------------\n"); printf("销售管理系统\n"); printf(">>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>\n"); printf("! 0 退出销售管理系统! \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("请选择系统的功能项\n"); printf("----------------------------------\n"); scanf("%d",&i); switch(i) { case 0: printf("o退出销售管理系统o\n"); exit(0);break; case 1: printf("-----销售员信息录入-----\n"); input();break; case 2: printf("-----销售员信息显示-----\n"); show();break; case 3: printf("-----销售额信息保存-----\n"); save();break; case 4: printf("-----总销售额信息排序-----\n"); sort();break; case 5: printf("-----统计产品销售额信息-----\n"); statistics_sailer();break; case 6: printf("-----插入销售员及其信息-----\n"); insert();break; case 7: printf("-----删除销售员及其信息-----\n"); del();break; default: printf("输入错误,请重新选择! ! "); break; } } } void input() { int i; printf("请输入销售员个数\n"); scanf("%d",&n); for(i=0;i { printf("输入销售员姓名: \n"); scanf("%s",seller[i].name); printf("输入销售员工号: \n"); scanf("%s",seller[i].num); printf("请分别输入产品一和产品二的销售额: \n"); scanf("%d%d",&seller[i].sailerl,&seller[i].sailerm); } system("cls"); } void show () { struct seller *p; system("cls"); printf("姓名工号产品一销售额产品二销售额: \n"); for(p=seller;p printf("%-8s%2s%6d%12d\n",p->name,p->num,p->sailerl,p- >sailerm); printf("\n\n"); } void save () { FILE *fp; int i; fp=fopen("seller.txt","w"); for(i=0;i fwrite(&seller[i],sizeof(struct seller),1,fp); system("cls"); printf("\n\n"); printf("保存成功! \n"); printf("\n\n"); } void sort() { struct seller temp; int i,j; for(i=0;i seller[i].sum=seller[i].sailerl+seller[i].sailerm; for(j=0;j for(i=0;i if(seller[i].sum { temp=seller[i]; seller[i]=seller[i+1]; seller[i+1]=temp; } system("cls"); printf("姓名工号产品一销售额产品二销售额产品总 销售额: \n"); for(i=0;i printf("\n%s\t%s\t%d\t%8d\t%8d\n",seller[i].name,seller[i].num,se ller[i].sailerl,seller[i].sailerm,seller[i].sum); } void statistics_sailer () { int i,sum1,sum2,sum; sum1=0;sum2=0;sum=0; for(i=0;i { sum1+=seller[i].sailerl; sum2+=seller[i].sailerm; sum=sum1+sum2; } system("cls"); printf("产品一的销售额: %d\n",sum1); printf("产品二的销售额: %d\n",sum2); printf("产品总的销售额: %d\n",sum); } void insert()//插入数据函数 { char ch; do { printf("\n\t\t 输入新插入销售员信息\n"); printf("\n 输入销售员姓名: "); fflush(stdin); gets(seller[n].name); printf("\n 输入销售员工号: "); scanf("%s",seller[n].num); fflush(stdin); printf("\n 输入产品一销售额: "); fflush(stdin); scanf("%d",&seller[n].sailerl); printf("\n 输入产品二销售额: "); fflush(stdin); scanf("%d",&seller[n].sailerm); printf("\n\n"); n=n+1; sort(); printf("是否继续输入? (Y/N)"); ch=getch(); system("cls"); } while(ch! ='n'); } void del()//删除数据函数 { char seller_name[20]; int i,j; printf("输入要删除销售员的姓名: "); fflush(stdin); scanf("%s",seller_name); for(i=0;i { if(strcmp(seller_name,seller[i].name)==0) { for(j=i;j seller[i]=seller[i+1]; n=n-1; } break; } save(); system("cls"); } 项 目 评 价 设计方案的合理性与创造性 设计与调试结果 设计说明书的质量 答辩陈述与回答问题情况 课程设计周表现情况 综合成绩 计算机科学与技术系课程设计评分表 教师签名: 日期: (注: 1.此页附在课程设计报告最后一页;2.综合成绩按优、良、中、及格 和不及格五级评定。 )
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 语言 销售 管理 系统