销售管理系统综合设计报告.docx
- 文档编号:6204678
- 上传时间:2023-01-04
- 格式:DOCX
- 页数:28
- 大小:475.88KB
销售管理系统综合设计报告.docx
《销售管理系统综合设计报告.docx》由会员分享,可在线阅读,更多相关《销售管理系统综合设计报告.docx(28页珍藏版)》请在冰豆网上搜索。
销售管理系统综合设计报告
信息技术学院
课程设计(大作业)任务书
课程设计题目:
销售管理系统
课程设计要求:
设计一产品及销售员信息管理系统,使之能提供以下功能:
销售信息包括:
产品价格的添加、查询、删除等,销售员的添加、查询、删除等。
1、系统以菜单方式工作
2、产品及销售员信息录入功能(产品价格及销售员信息用文件保存),可不定时地增加信息,编号不允许重复;
3、产品及销售员信息浏览功能
4、产品及销售员信息查询功能
查询方式:
按编号查询
5、产品及销售员信息的删除
输入编号,查询该信息,如果存在,则删除该信息。
6、产品及销售员信息的修改
输入编号,查询该信息,如果存在,则修改该信息。
工作计划及安排:
6月20日:
查阅资料,分析系统需求,设计系统流程图,分割模块。
6月21日:
设计模块,写结构算法。
6月22日:
编写代码,上机调试,改进程序,实现功能。
6月23日:
撰写报告。
6月24日:
整理改进报告,为答辩做准备。
指导教师签字
年月日
设计报告
一、需求分析
根据任务要求进行分析,本系统主要包括销售及销售员信息录入、销售及销售员信息查询、销售及销售员信息删除、销售及销售员信息修改功能。
具体要说明如下:
1.销售及销售员信息录入
(1)货物及销售员编号不可以重复。
(2)随时添加销售信息。
2.销售及销售员信息浏览
(1)只可以浏览不可以修改。
(2)同时输出所有的有关信息。
3.销售及销售员信息查询
(1只输出所需信息,不可修改。
4.销售及销售员信息删除
(1)首先调用print输出所有信息,方便知道自己要删除的信息。
(2)输入编号,信息整条删除。
(3)再次调用print,方便查看删除效果。
5.销售及销售员信息修改
(1)首先调用print输出所有信息,方便知道自己要修改的编号。
(2)输入编号,可修改除编号外的信息。
(3)再次调用print,方便查看修改后效果。
6、销售及销售员的信息的保存
二.总体设计
1.系统总模块设计
根据系统总模块设计系统需求分析设计总模块如图1所示。
图1 信息管理系统功能结构
2.各功能模块说明
根据上述的分析,将系统按功能分为以下模块
主程序模块tel.cpp;调用各模块中的函数实现对通讯录的管理。
头文件模块tel.h;定义相关结构,定义常量及全局变量,声明所有模块的函数。
文件模块file.cpp;读文件及建立链表的函数,将链表写入磁盘文件。
浏览模块print1.cpp;输出产品信息。
Print2.cpp;输出销售员信息。
查询模块search.cpp;查询商品信息。
found.cpp;销售员管理查询
录入模块insert.cpp;销售信息的录入。
查询模块found.cpp;按销售员管理查询。
search.cpp;查询商品信息
删除模块delate.cpp;按编号删除销售员信息。
del.cpp;删除产品信息。
修改模块chang.cpp;按编号修改产品信息。
mod.cpp;修改销售员姓名
排序模块sortbypid1.cpp;对产品进行排序。
sortbypid2.cpp;对销售员排序
三、详细设计
1.系统流程图描述系统总流程如图2所示
2.模块设计
(1)主要结构设计
系统主要功能销售员信息,销售员信息的结构体定义如下:
3.控制结构设计
(1)主程序模块first.cpp
first模块有主函数main。
主函数main流程图如图2所示。
图2主函数处理流程
四、代码实现
#include
#include
#include
#defineLEN1sizeof(PROD1)
#defineLEN2sizeof(PROD2)
voidsaveprod1();
voiddel();
voidsearch();
voidprint1();
voidsortbypid1();
voidchange();
intadd_sale();
voidsaveprod2();
intadd_saleman();
voidsortbypid2();
voidprint2();
voidmod();
voiddelate();
typedefstructsale
{
intpid;//产品编号
charname[20];//产品名称
floatprice;//产品价格
}PROD1;
typedefstructsale2
{
intsid;//销售员编号
charpname[20];//销售员名字
}PROD2;
PROD1sale[5];
PROD2sale2[5];
intpn=0;
intsn=0;
inti,j;
intadd_sale()//添加商品信息
{
intpid,w,z;
floatprice;
charname[20];
FILE*fp;
if((fp=fopen("f:
\\price.dat","rb"))==NULL)
{
printf("cannotopenfile!
\n");
exit(0);
}
for(w=0;w<3;w++)
{
if(fread(&sale[w],LEN1,1,fp)!
=1)
{
printf("error!
");
break;
}
}
for(pn=0;sale[pn].pid!
=0;pn++);
z=3-pn;
printf("已有%d个商品信息,请再输入%d组数据\n",pn,z);
while(pn<3)
{
printf("请输入产品编号:
");
scanf("%d",&pid);
sale[pn].pid=pid;
if(sale[pn].pid==sale[pn-1].pid||sale[pn].pid==sale[pn-2].pid)
{
printf("已有该编号!
\n");
continue;
}
printf("请输入产品名称和价格:
");
scanf("%s%f",name,&price);
sale[pn].price=price;
strcpy(sale[pn].name,name);
pn++;
}
sortbypid1();
returnpn;
}
voidsaveprod1()//把信息保存在磁盘上
{
FILE*fp;
inti;
if((fp=fopen("f:
\\price.dat","wb"))==NULL)//从磁盘打开文件
{
printf("Filecan'topen!
\n");
exit(0);
}
for(i=0;i<3;i++)
if(fwrite(&sale[i],LEN1,1,fp)!
=1)
printf("filewriteerror\n");
fclose(fp);
}
voidsearch()//查询商品信息
{
FILE*fp;
if((fp=fopen("f:
\\price.dat","rb"))==NULL)
{
printf("cannotopenfile!
\n");
exit(0);
}
for(intw=0;w<3;w++)
{
fread(&sale[w],LEN1,1,fp);
}
intk,l;
printf("请输入要查询的编号:
\n");
scanf("%d",&k);
for(l=0;l<3;l++)
{
if(sale[l].pid==k)
break;
}
printf("\t\t\t编号名称价格\t\n");
printf("\t\t\t%d%s%.f\n",sale[l].pid,sale[l].name,sale[l].price);
if(l>=3||l<0)
{
printf("**************\n");
printf("*没有这个编号*\n");
printf("**************\n");
}
fclose(fp);//关闭文件
}
voidchange()//修改商品信息
{
FILE*fp;
floatp;
if((fp=fopen("f:
\\price.dat","rb"))==NULL)
{
printf("cannotopenfile!
\n");
exit(0);
}
for(intw=0;w<3;w++)
{
fread(&sale[w],LEN1,1,fp);
}
printf("请输入要修改的编号:
\n");
scanf("%d",&j);
for(i=0;i<3;i++)
if(sale[i].pid==j)break;
if(j!
=sale[i].pid)
{
printf("没有这个编号\n");
}
else
{
printf("编号商品姓名商品价格\n");
printf("%d%s%.2f\n",sale[i].pid,sale[i].name,sale[i].price);
printf("请输入你要修改的价格:
\n");
scanf("%f",&p);
sale[i].price=p;
printf("修改成功\n");
}
saveprod1();
fclose(fp);
}
voiddel()//删除产品
{
FILE*fp;
if((fp=fopen("f:
\\price.dat","rb"))==NULL)
{
printf("cannotopenfile!
\n");
exit(0);
}
for(i=0;i<3;i++)
{
fread(&sale[i],LEN1,1,fp);
}
intt,num,k=0,h;
printf("请输入你要删除产品的编号:
\n");
scanf("%d",&num);
for(h=0;sale[h].pid>0;h++);
for(k=0;k<3;k++)
if(num==sale[k].pid)break;
if(num!
=sale[k].pid||num<=0)
{
printf("没有这个编号\n");
}
else
{
printf("编号商品姓名商品价格\n");
printf("%d%s%.2f\n",sale[k].pid,sale[k].name,sale[k].price);
for(t=k;t sale[t]=sale[t+1]; h--; printf("删除成功\n"); } saveprod1(); fclose(fp); } voidprint1()//总览商品信息 { FILE*fp; if((fp=fopen("f: \\price.dat","rb"))==NULL) { printf("cannotopenfile! \n"); exit(0); } printf("\t\t\t编号\t商品姓名\t商品价格\n"); for(inti=0;i<3;i++) { printf("\t\t\t%d\t%s\t%.2f\n",sale[i].pid,sale[i].name,sale[i].price); } fclose(fp); } voidsortbypid1()//对产品进行排序 { for(i=1;i for(j=0;j if(sale[j].pid>sale[j+1].pid) { PROD1temp; temp=sale[j]; sale[j]=sale[j+1]; sale[j+1]=temp; } } intadd_saleman()//添加销售员 { intsid; charname[20]; while(pn<3) { printf("Inputsid: "); scanf("%d",&sid); sale2[pn].sid=sid; if(sale2[pn].sid==sale2[pn-1].sid||sale2[pn].sid==sale2[pn-2].sid) {printf("已有该编号\n"); continue;} printf("Inputthesaler'sname: "); scanf("%s",name); strcpy(sale2[pn].pname,name); pn++; } sortbypid2(); printf("DataFinish! \n"); returnpn; } voidsaveprod2()//保存到磁盘 { FILE*fp; inti; if((fp=fopen("f: \\salemen.dat","rb"))==NULL) { printf("Filecan'topen! \n"); exit(0); } for(i=0;i<3;i++) if(fwrite(&sale2[i],LEN2,2,fp)! =1) printf("filewriteerror\n"); fclose(fp); } voidfound()//销售员管理查询 { FILE*fp; if((fp=fopen("f: \\salemen.dat","rb"))==NULL) { printf("cannotopenfile! \n"); exit(0); } for(intw=0;w<3;w++) { fread(&sale2[w],LEN2,2,fp); } intk,l; printf("请输入要查询的销售员编号: \n"); scanf("%d",&k); for(l=0;l<3;l++) { if(sale2[l].sid==k) break; } printf("编号名字\n"); printf("%d%s\n",sale2[l].sid,sale2[l].pname); if(l>=3||l<0) { printf("**************\n"); printf("*没有这个编号*\n"); printf("**************\n"); } fclose(fp); } voidmod()//修改销售员姓名 { FILE*fp; if((fp=fopen("f: \\salemen.dat","rb"))==NULL) { printf("cannotopenfile! \n"); exit(0); } for(intw=0;w<3;w++) { fread(&sale2[w],LEN2,2,fp); } intk,l; charnname[10]; printf("请输入编号: \n"); scanf("%d",&k); for(l=0;l<3;l++) { if(sale2[l].sid==k)break;} if(l>=3||l<0) { printf("没有这个编号\n"); printf("\n"); } else { printf("编号姓名\t\n"); printf("%d%s\n",sale2[l].sid,sale2[l].pname); printf("将名字修改为: "); scanf("%s",nname); strcpy(sale2[l].pname,nname); printf("修改成功\n"); } sortbypid2(); fclose(fp); } voiddelate()//删除销售员信息 { FILE*fp; if((fp=fopen("f: \\salemen.dat","rb"))==NULL) { printf("cannotopenfile! \n"); exit(0); } for(inti=0;i<3;i++) { fread(&sale2[i],LEN2,2,fp); } for(inth=0;sale2[h].sid>0;h++); intk1,num,m=0; printf("\n"); printf("请输入你要删除员工的编号: \n"); scanf("%d",&num); for(k1=0;k1 sale2[k1]=sale2[k1+1]; h--; printf("删除成功\n"); saveprod2(); fclose(fp); } voidprint2()//总览 { FILE*fp; if((fp=fopen("f: \\salemen.dat","rb"))==NULL) { printf("cannotopenfile! \n"); exit(0); } printf("编号姓名\n"); for(inti=0;i<3;i++) { fread(&sale2[i],LEN2,2,fp); } for(inth=0;sale2[h].sid>0;h++); for(i=0;i printf("%3d%s\n",sale2[i].sid,sale2[i].pname); fclose(fp); } voidsortbypid2()//对销售员排序 { inti,j; for(i=1;i for(j=0;j if(sale2[j].sid>sale2[j+1].sid) { PROD2temp; temp=sale2[j]; sale2[j]=sale2[j+1]; sale2[j+1]=temp; } } intmain(void) { intchoice; intz; intw=0; intk=0; while (1) { printf("----MainMenu----\n"); printf("====================\n"); printf("1-Pricemanagement\n"); printf("2-Salemanmanagement\n"); printf("0-Exit\n"); printf("====================\n"); printf("请输入的选择(0-2): \n"); scanf("%d",&choice); while(choice<0||choice>2) scanf("%d",&choice); if(choice==0) { printf("谢谢使用该系统\n"); break; } switch(choice) { case1: do { printf("\n"); printf("\t\t\tSubMenu1-product\n"); printf("\t=====================================================\n"); printf("\t\t\t1-输入商品信息\n"); printf("\t\t\t2-查询商品信息\n"); printf("\t\t\t3-修改商品信息\n"); printf("\t\t\t4-删除商品信息\n"); printf("\t\t\t5-商品信息总览\n"); printf("\t\t\t0-退出\n"); printf("\t=====================================================\n"); scanf("%d",&z); printf("\n"); system("CLS"); switch(z) { case1: FILE*fp; if((fp=fopen("f: \\price.dat","rb"))==NULL) { printf("cannotopenfile! \n"); exit(0); } for(w=0;w<3;w++) { if(fread(&sale[w],LEN1,1,fp)! =1) { printf("error! "); break; } } for(;sale[k].pid! =0;k++); if(k==3) { printf("已经有三个商品信息\n"); } else { system("CLS"); printf("请输入商品编号,名称和价格: \n"); add_sale(); system("CLS"); } saveprod1(); break; case2: system("CLS"); printf("查询\n"); search(); break; case3: system("CLS"); printf("修改\n"); change(); break; case4: system("CLS"); printf("删除\n"); printf("\
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 销售 管理 系统 综合 设计 报告
![提示](https://static.bdocx.com/images/bang_tan.gif)