汽车销售管理系统(2)._第1页
汽车销售管理系统(2)._第2页
汽车销售管理系统(2)._第3页
汽车销售管理系统(2)._第4页
汽车销售管理系统(2)._第5页
已阅读5页,还剩38页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、 计算机学院2013年12 月 目 录一、可行性分析31.1引言31.1.1编写目的41.1.2项目背景41.1.3关键词41.1.4参考资料52需求规定51.2.1 目标51.2.2 市场需求51.2.3 解决目标51.2.4用户特点61.2.5开发者特点:61.2.6开发期限73对现有情况分析71.3.1对功能的需求71.3.2对时间的要求91.3.3输入输出的要求91.3.4故障处理要求101.3.5硬件环境101.3.6 软件环境101.4投资及效益分析111.5总结11二、需求性分析112.1.引言112.1.1编写目的112.1.2 需求性分析前提112.1.3 需求性分析前提12

2、2.2、系统功能的设计132.3、数据流图142.4 E-R图14三、总体设计15四、详细设计181、具体代码:184.1.1成功进入系统:204.1.2添加新进车型:214.1.3车辆销售:234.1.4查找车辆信息244.1.5车辆排序:254.1.6查看车库车型:274.1.7查看当天销售:284.1.8修改密码:294.1.9删除某个车型:314.1.10修改某个车辆信息:324.1.11进入系统登录界面34五、测试报告365.1概述365.1.1编写目的365.1.2背景365.1.3 测试清单365. 1.4 测试用例38二、测试评估43六、总结43 一、可行性分析1.1引言汽车工

3、业经历了一百多年的发展,对国家经济的发展和鹏飞以及对人类社会的文明带来了巨大影响。汽车工业已成为许多国家的支柱产业,随着人们生活水平以及汽车性能的不断提高,人们对汽车的消费和需求也越来越旺盛,世界汽车工业也保持庞大的市场需求和市场规模。近年来,中国汽车市场发展迅猛,以接近40%的速度增长,巨大的市场容量和可观的经济效益,引起各汽车厂家纷纷加大投资,汽车市场烽烟四起,汽车销售策略和模式频出,竞争已是空前的激烈,在如此形势下,一种介于生产厂家和用户之间的桥梁,汽车销售公司正在不断的产生和发展壮大。1.1.1编写目的 编写可行性研究报告的目的是为了对的“汽车销售系统”的可行性,可能性和必要性提供论据

4、,为系统总体规划设计及具体实施开发工程提供必要的参考资料,在系统开发完成后期为系统的测试、验收提供帮助。1.1.2项目背景1.开发软件名称:汽车销售管理系统2.项目任务提出者:3.项目开发者:4.用户:汽车销售商1.1.3关键词 销售管理、C+1.1.4参考资料 网络资源软件工程c+面向对象程序2需求规定1.2.1 目标 此任务旨在开发出一个在基于C+的汽车销售管理平台。本系统是为广大汽车销售企业的信息化治理而开发的,着重解决汽车销售中的进、销、存、供给商及客户帐目及购车合同治理中的问题,此软件可以应用在销售分店、专卖店等,它起到连接零售商与用户、零售商与厂家沟通的桥梁作用。1.2.2 市场需

5、求 随着人们生活水平的不断提高,人们对汽车的消费和需求也越来越旺盛。很多汽车销售公司的业务环节仍然运用人工记账的传统方法,既容易出错又会导致账目混乱,查询和统计起来也非常不方便,费时又费力,严重时会给公司造成难以挽回的损失。如何管理好这些,使整个公司协调一致、高效率地运转,是各公司亟待解决的1.2.3 解决目标 汽车销售管理系统不但能使各业务环节协调一致,而且操作简单,账目清晰。通过此软件对信息的综合处理,用户可以在网上方便地查询该零售店各种型号的汽车参数、库存、价格、购车等信息;销售商可以利用此软件进行对货物的销售进行综合分析,通过电脑化的治理,汽车销售商或企业能够把握市场的第一手资料,有条

6、不紊地开拓市场,更好地挖掘客户资源,进一步提高车辆销售的成功率,同时可以降低销售成本,优化销售中的各个环节,盘活流动资金,提高服务质量,更灵活地适应外部市场环境、提升内部的治理水平、留住客户、赢得商机,从而提高企业在市场上竞争能力。并且可以通过此软件对本店的库存,进出货,及客户信息,售后服务进行查询及管理等。包括客户信息管理、库存管理、销售管理。1.2.4用户特点 汽车销售店:对销售的流程清晰,由于大量的手工合同、账单记录混乱复杂,不利于统计查询,没有足够的精力去统计、管理数据。 1.2.5开发者特点:姓名 职位学历 分工安排李沐敉项目组长大学本科软件测试、E-R图罗南福项目成员大学本科详细设

7、计孙正宝项目成员大学本科可行性分析万圣项目成员大学本科需求性分析熊显庭项目成员大学本科总体设计1.2.6开发期限本系统的开发期限为50天3对现有情况分析1.3.1对功能的需求销售商的要求系统:汽车销售系统模块:销售商的需求设计者:李沐敉、罗南福、孙正宝、万圣、熊显庭 创建时间:2013-11-20输入:车辆的入、出库,车辆信息输出:车辆数量的详细信息,和当天的销售情况对象:销售商对业务、厂商及对自身的需求。加工过程:1) 销售商输入车辆的入库、出库的情况,系统立即做出反应,更新汽车数量(包括厂商、品牌、车号和进货日期等),并显示更新后的不同分类的车辆。2) 销售管理员对汽车进出情

8、况查询,并按不同种类(车号、品牌、厂商等)统计销售情况,用列表来反映上述情况。客户的需求系统:汽车销售系统模块:客户的需求设计者:李沐敉、罗南福、孙正宝、万圣、熊显庭创建时间:2013-11-20输入:选择购买车的信息。输出:该车的详细信息及价钱。对象:客户的需求,间接地反映了销售商应该改进的地方。加工过程:1) 客户若网上购买,则在网页上填写要购买的车型、价格区间等信息,销售商通过网络接收,查看是否有此车型。2) 销售商录入客户信息到客户数据库中并更新(添加、删除、修改等)客户信息。3) 客户的网购主要以选择为主,给客户提供相关的按钮及选项,以保证数据的准确性。1.3.2对时间

9、的要求 Ø响应时间:所有查询操作的响应时间一般不超过3秒,大型数据(如年度报表)的响应时间不超过10秒显示。 Ø更新处理时间:所有操作在3秒内响应。 Ø数据的传送及转换时间此系统适应于Windows XP、Windows 7操作系统,以满足绝大部分客户的需求,对销售商来说无须再投入大量资金和时间去培训人员适应操作系统。1.3.3输入输出的要求 系统管理员填写账目及车辆数目时是整形数据类型,其余的及客户的需求以选择为主。1.3.4故障处理要求 数据若没在规定时间内完成响应,则提示相关提示信息。软件在更新期间拒绝服务,并提示相关信息。若遇硬件故障(如断电)同时管理员没

10、保存修改数据,则按上次确定修改数据为主。建议数据一天备份一次,超出规定存储期限的转入海量存储。1.3.5硬件环境 以下列出的是支持该软件运行的软件环境,包括要用到的操作系统、编译(或汇编)程序、测试支持软件。硬件最低配置推荐配置处理器P4单核core双核内存512MB2GB硬盘20GB500GB网卡Realtek3Com1.3.6 软件环境系统名称版本语种操作系统Microsoft WindowsXP/2003/win7中文附加功能具备IE浏览器6/7中文编码软件Visual C+6.0中文1.4投资及效益分析 本系统投资成本不是很大,只是花了大量的时间。系统投入运行之后,可以得到起车销售商的

11、认可,能给公司和我们自己带来更多的利益。1.5总结 经过本团队的各方面的分析和考虑,此系统可以进行开发。 二、需求性分析2.1.引言 2.1.1编写目的 确认系统具有可行性并立项之后,进入系统分析阶段。它的主要任务是详细分析组织内部的整体管理状况和信息处理过程,对用户的需求进行详细的了解。这一阶段为信息系统的需求分析。2.1.2 需求性分析前提 随着汽车市场竞争的加剧,消费者消费意识的转变,让很多汽车品牌重新考虑如何才能保持十几年树立起来的领先地位,并能有所突破。很多厂商忽略了汽车销售管理系统的重要性,导致汽车销售信息分散、孤立,不成系统。汽车销售管理系统从进货管理、车辆采购、车辆入库、销售管

12、理到车辆销售、收益统计等为每个环节明确分工,有效地减少了人为差错的概率,代之以高效、便捷、准确。因此,各销售上都迫切希望在销售管理方面有明显的改进和提高,以实现科学化、现代化的管理。2.1.3 需求性分析前提 A 主要功能 、车辆的基本信息: 1、车名 2、车号 3、进价 4、售价 5、厂商名 、车库的基本信息: 1、车辆基本信息 2、进货日期 3、车辆剩余数量 、车辆销售的基本信息: 1、车辆基本信息 2、进货日期 3、销售数量 4、销售总额 、车辆基本信息的排序: 1、按照售价排序 2、按照车号排序 3、按照数量排序 、对车库的车辆信息进行删除或修改 1、按照车名进行删除 2、按照车名进行

13、修改 B 主要性能 可以方便快捷有效的完成对于购进车辆的录入,库存车辆,销售情况的查询,查询速度较快。保证信息的正确和即使更新,并降低信息访问的成本。 C 可扩展性 能够适应应用要求的变化和修改,具有灵活的可扩充性。 D 安全性 设置进入密码和修改密码,具有一定的安全性。E 完成期限2.2、系统功能的设计 2.2.1 系统的总体分析: 基础信息管理: 厂商信息 车辆信息 车辆排序 进货管理 : 车辆采购 车辆入库 销售管理: 车辆销售 当天的销售记录和销售总额 车库管理: 库存车辆数 库存车辆信息 系统加密: 初始密码 密码修改2.3、数据流图 2.4 E-R图 三、总体设计窗体现模拟开发一个

14、汽车销售管理系统,主要完成系统管理即:添加新进车型、车辆销售、查找车辆信息,车辆排序,查看车库的车型,查看当天销售情况,修改密码,删除某个车型,修改某个车辆信息,九个功能模块。查询管理可以查询汽车的销量和汽车的种类等信息,入库管理即登记车辆的入库信息,销售管理用以记录公司的每一笔交易,车辆管理用来登记公司车辆的买进。首先应编一个用户登入窗体,用以输入密码。若密码输入正确则进入系统可以看到上述十大功能,进入后可以根据用户权限进行访问这九个模块。同样这九个模块逐个编写一个进入窗体。依次进入下一层,根据系统提示完成正确操作。最后退出程序整个系统可以归结为以下几个方面:3.1.1系统管理1、增加新进数

15、据 2、密码修改3、退出系统等3.1.2销售管理1、订车登记 2、销售登记 3、厂商登记、4日期登记等3.1.3查询管理1、存货查询 2、销售查询 3、汽车销量查询等 3.1.4车辆管理1、定货登记 2、销售登记 3、厂商登记等 3.1.5入库管理1、厂商登记 2、车辆登记 3、入库时间登记4、汽车编号登记等3.2、数据流程图:3、3程序流程图:四、详细设计1、具体代码:#define bool intvoid key() /* 建立初始密码 */ FILE *fp; char chs10="1102" if(fp=fopen("code.txt",&q

16、uot;r")=NULL) fp=fopen("code.txt","w"); fputs(chs,fp); fclose(fp);void keychange() /*修改密码*/ /* 密码修改系统 */ FILE *fp; char cha10,chb10,chc10,chd10; int i=0; fp=fopen("code.txt","r"); fgets(cha,10,fp); fclose(fp); printf("n"); printf("n");

17、 printf("n"); printf(" * n"); printf(" * * n"); printf(" * * n"); printf(" * 课程序设计密码修改窗口 * n"); printf(" * * n"); printf(" * * n"); printf(" * * n"); printf(" * n"); printf("n"); printf("n")

18、; printf(" 请输入初始密码 : "); scanf("%s",&chb); if(strcmp(cha,chb)=0) printf(" 输入新密码 : "); scanf("%s",&chc); printf(" 确认新密码 : "); scanf("%s",&chd); while(strcmp(chc,chd)<0 | strcmp(chc,chd)>0) i+; if(i=3) printf("nn")

19、;printf(" 密码修改失败!"); system("pause");return; if(strcmp(chc,chd)=0) fp=fopen("code.txt","w"); fputs(chd,fp); fclose(fp); printf("nn"); printf(" 密码修改成功!n"); system("pause"); getchar(); else printf(" 密码错误无权修改!谢谢使用!n"); scan

20、f("%*c");system("pause"); return; 4.1.1成功进入系统:具体代码:void printmenu() cout<<"t"<<endl; cout<<"t 欢迎进入汽车销售管理系统 "<<endl; cout<<"t"<<endl; cout<<"t "<<endl; cout<<"t 1 添加新进的车型 "<&

21、lt;endl; cout<<"t "<<endl; cout<<"t 2 车辆销售 "<<endl; cout<<"t "<<endl; cout<<"t 3 查找车辆信息 "<<endl; cout<<"t "<<endl; cout<<"t 4 车辆排序 "<<endl; cout<<"t "&l

22、t;<endl; cout<<"t 5 查看车库的车型 "<<endl; cout<<"t "<<endl; cout<<"t 6 查看当天销售情况 "<<endl; cout<<"t "<<endl; cout<<"t 7 修改密码 "<<endl; cout<<"t "<<endl; cout<<"t

23、8 删除某个车型 "<<endl; cout<<"t "<<endl; cout<<"t 9 修改某个车型信息 "<<endl; cout<<"t "<<endl; cout<<"t 请按数字键选择(0或其它字符退出) "<<endl; cout<<"t"<<endl;4.1.2添加新进车型:具体代码:void add_car() int i=0; cha

24、r name20; char continue_find; do if(size>=CAPACITY) cout<<"车库已满!不能再添加新车了!"<<endl; return; cout<<"请输入车名:" cin>>name; int have=0; /*表示车库中是否有新买进的车;有置1;无置0;*/ for(int i=0;i<size;i+) if(strcmp(name,)=0) have=1;break; if(have)s cout<<"请

25、输入车的数量" int number; cin>>number; cari.number+=number; have = 1;ofstream outfile("remain.txt",ios_base:out); outfile.write(char *) &(car0),sizeof(car0); outfile.close();for(int i=1;i<size;i+) ofstream outfile("remain.txt",ios_base:app); outfile.write(char *) &

26、;(cari),sizeof(cari); outfile.close(); cout<<"添加已结束!且信息已存入文件remain.txt中"<<endl; if(!have) cout<<"请按顺序一次输入车号,车名,进价(万),售价(万),剩余数量 ,厂商 ,进货日期(注意中间用空格隔开)"<<endl; cout<<"车号 车名 进价(万) 售价(万) 剩余数量 厂商 进货日期"<<endl; cin>>carsize.ID>>ca

27、>>carsize.jprice>>carsize.sprice>>carsize.number>>carsize.cs>>carsize.jdata; ofstream outfile("remain.txt",ios_base:app); outfile.write(char *) &(carsize),sizeof(carsize); outfile.close(); size+; cout<<"添加已结束!且信息已存入文件remain.txt中"&

28、lt;<endl; cout<<"是否继续添加(y/n):" cin>>continue_find; while(!(continue_find='y'|continue_find='Y'|continue_find='n'|continue_find='N') cout<<"输入错误!"<<endl<<"请重新输入:" cin>>continue_find; while(continue_fi

29、nd='y'|continue_find='Y'); system("pause");4.1.3车辆销售:详要代码:void sale_car() int i=0; p1=p; cout<<"请输入车名:" char name20; cin>>name; for(i=0;i<size;i+) if(strcmp(name,(*(p1+i).name)=0 ) int number; char date14; cout<<"请输入售出车的数量:" cin>&

30、gt;number; if(cari.number>0&&number<=cari.number) (*(p1+i).number-=number; now+; total+=(*(p1+i).sprice-(*(p1+i).jprice)*number; sale_carssize1.number=number; sale_carssize1.ID=cari.ID; strcpy(sale_,); sale_carssize1.jprice=cari.jprice; sale_carssize1.sprice=cari

31、.sprice; strcpy(sale_carssize1.cs,cari.cs); cout<<"请输入出售日期:" cin>>date; strcpy(sale_carssize1.jdata,date); size1+; cout<<"添加成功!"<<endl; if (size1>1&&strcmp(sale_,sale_)=0) sale_carssize1-2.number+=sale_carssize1-1

32、.number; size1-; store_to_remain();else if(*(p1+i).number=0) cout<<"您输入的车已售完!"<<endl;else if(number>(*(p1+i).number) cout<<"车库中没有那么多车!"<<endl; if(!size1)cout<<"抱歉,车库中无此车!"<<endl; system("pause");4.1.4查找车辆信息详要代码:void searc

33、h_car() int find; char continue_find; /*继续查找*/ do cout<<"t"<<endl; cout<<"t 1 按价格查找 "<<endl; cout<<"t 2 按车名查找 "<<endl; cout<<"t"<<endl; cout<<"t请输入选择:" cin>>find; cout<<"n" w

34、hile(find<0|find>2) cout<<"输入错误!n请重新输入:" cin>>find; cout<<endl<<endl; switch(find) case 1:find_price(); break; case 2:find_name(); break; cout<<"是否继续查找(y/n):" cin>>continue_find; while(!(continue_find='y'|continue_find='Y'

35、|continue_find='n'|continue_find='N') cout<<"输入错误!n请重新输入:"<<endl; cin>>continue_find; while(continue_find='y'|continue_find='Y');4.1.5车辆排序: 详要代码:void sort_car() int sor; char continue_find; do int i=0,j=0; cout<<"t"<<e

36、ndl; cout<<"t 1 按售价排序 "<<endl; cout<<"t 2 按车号排序 "<<endl; cout<<"t 3 按车数排序 "<<endl; cout<<"t"<<endl; cout<<"t请输入选择:" cin>>sor; bool sort_id; while(sor<=0|sor>3) cout<<"输入错误!n

37、请重新输入:"<<endl; cin>>sor; for(i=0;i<size;i+) for(j=size-1;j>0;j-) switch(sor) case 1:sort_id=(carj.sprice<carj-1.sprice); break; case 2:sort_id=(carj.ID<carj-1.ID); break; case 3:sort_id=(carj.number<carj-1.number); break; if(sort_id) struct CAR temp; temp=carj; carj=c

38、arj-1; carj-1=temp; cout<<"t"<<endl; cout<<"t 车号 车名 进价(万)售价(万)剩余数量 厂商 进货日期 "<<endl; cout<<"t"<<endl; for(i=0;i<size;i+) cout<<"t"<<setw(5)<<cari.ID <<""<<setw(6)<<<

39、;<""<<setw(8)<<cari.jprice<<""<<setw(8)<<cari.sprice<<""<<setw(7)<<cari.number<<" "<<setw(9)<<cari.cs<<""<<setw(12)<<cari.jdata<<""<<endl; co

40、ut<<"是否继续(y/n):" cin>>continue_find; while(!(continue_find='y'|continue_find='Y'|continue_find='n'|continue_find='N') cout<<"输入错误!"<<endl<<"请重新输入:" cin>>continue_find; while(continue_find='y'|co

41、ntinue_find='Y'); system("pause");4.1.6查看车库车型:详要代码:void store_to_remain() int i=0; p1=p; ofstream ofile("remain.txt",ios_base:trunc); for(i=0;i<size;i+) ofile.write(char *) &(*(p1+i),sizeof(*(p1+i); ofile.close();4.1.7查看当天销售:详要代码:void print_date() int i=0; if(now=0

42、) cout<<"今日销售额为零!"<<endl; else cout<<"今日销售情况为:"<<endl; cout<<"车号 车名 进价(万) 售价(万) 销售数量 厂商 出售日期"<<endl; for(i=0;i<size1;i+) cout<<"车号 车名 进价(万) 售价(万) 剩余数量 厂商 进货日期"<<endl; cout<<"t"<<endl; cou

43、t<<"t 车号 车名 进价(万)售价(万)销售数量 厂商 进货日期 "<<endl; cout<<"t"<<endl; for(i=0;i<size1;i+) cout<<"t"<<setw(5)<<sale_carsi.ID <<""<<setw(6)<<sale_<<""<<setw(8)<<sale_cars

44、i.jprice<<""<<setw(8)<<sale_carsi.sprice<<""<<setw(7)<<sale_carsi.number<<" "<<setw(9)<<sale_carsi.cs<<""<<setw(12)<<sale_carsi.jdata<<""<<endl; cout<<"销售额

45、为:"<<total<<endl; system("pause");4.1.8修改密码:void keychange() /*修改密码*/ /* 密码修改系统 */ FILE *fp; char cha10,chb10,chc10,chd10; int i=0; fp=fopen("code.txt","r"); fgets(cha,10,fp); fclose(fp); printf("n"); printf("n"); printf("n"

46、;); printf(" * n"); printf(" * * n"); printf(" * * n"); printf(" * 课程序设计密码修改窗口 * n"); printf(" * * n"); printf(" * * n"); printf(" * * n"); printf(" * n"); printf("n"); printf("n"); printf(" 请输入初

47、始密码 : "); scanf("%s",&chb); if(strcmp(cha,chb)=0) printf(" 输入新密码 : "); scanf("%s",&chc); printf(" 确认新密码 : "); scanf("%s",&chd); while(strcmp(chc,chd)<0 | strcmp(chc,chd)>0) i+; if(i=3) printf("nn");printf(" 密码修改失

48、败!"); system("pause");return; if(strcmp(chc,chd)=0) fp=fopen("code.txt","w"); fputs(chd,fp); fclose(fp); printf("nn"); printf(" 密码修改成功!n"); system("pause"); getchar(); else printf(" 密码错误无权修改!谢谢使用!n"); scanf("%*c");s

49、ystem("pause"); return; 4.1.9删除某个车型:详要代码:void del_car() char n20,l; cout<<"请输入要删除的车型名字:"<<endl; cin>>n; cout<<"是否确定要删除所选的数据?(y/n)"<<endl; cin>>l; while(!(l='y'|l='Y'|l='n'|l='N') cout<<"输入错误!

50、"<<endl<<"请重新输入:" cin>>l; if(l='y') for(i=0;i<size;i+) if(strcmp(n,)=0 ) for(int k=i;k<size;k+) cark=cark+1; size-; ofstream outfile("remain.txt",ios_base:out); outfile.write(char *) &(car0),sizeof(car0); outfile.close(); for(int

51、i=1;i<size;i+) ofstream outfile("remain.txt",ios_base:app); outfile.write(char *) &(cari),sizeof(cari); outfile.close(); cout<<"删除已成功!"<<endl; else cout<<"您以放弃删除!"<<endl; system("pause");4.1.10修改某个车辆信息:详要代码:void xg_car()char n20;

52、 char l,v; do int s=0; cout<<"请输入要修改的车型名:" cin>>n; for(int i=1;i<size;i+) if(strcmp(n,)=0 ) s=1;break; if(s) cout<<"该车型原信息为:"<<endl; cout<<"车号 车名 进价(万) 售价(万) 剩余数量 厂商 进货日期"<<endl; cout<<" "<<cari.ID<

53、;<" "<<<<" "<<cari.jprice<<" "<<cari.sprice<<" "<<cari.number<<" "<<cari.cs<<" "<<cari.jdata<<endl; cout<<"请输入新信息:"<<endl; cout<<&q

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

最新文档

评论

0/150

提交评论