汽车销售管理系统 C语言版_第1页
汽车销售管理系统 C语言版_第2页
汽车销售管理系统 C语言版_第3页
汽车销售管理系统 C语言版_第4页
汽车销售管理系统 C语言版_第5页
已阅读5页,还剩14页未读 继续免费阅读

下载本文档

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

文档简介

1、西安郵電大學C语言课程设计报告题 目:汽车销售管理系统院系名称: 专业名称: 班 级: 学生姓名: 学号(8位):指导教师: 设计起止时间:一. 设计目的1. 对c语言基本知识的巩固和综合运用。熟练使用基本数据类型,基本控制结构,数组,函数,指针等。2. 强化上机动手能力,在理论和实践的基础上进一步巩固C语言程序设计课程学习的内容,掌握工程化软件设计的基本方法。3. 学会将知识应用于实际的方法,提高分析和解决问题的能力,增加综合能力。4. 为后续各门计算机课程的学习打下坚实基础。5.汽车销售管理系统的设计与实现,此次程序设计主要利用c语言的基础知识开发一个简单的汽车销售管理系统。汽车销售管理系

2、统是一个企业不可缺少的一部分,它利用计算机对汽车销售进行统一管理,实现汽车销售管理工作的系统化、规范化和自动化,为企业提高工作效率。二. 设计内容主要利用c语言的文件操作能力设计开发一个小型的管理信息系统,主要功能有:1.能够实现对新车的入库工作。2.能够修改汽车信息。3.能按销售新车来管理汽车销售信息。4.能够查询汽车信息。 5.能够删除汽车信息。6.显示汽车库存信息。 7.能够实现对汽车品牌、汽车进价、姓名的排序。 8.能够实现退出系统。三概要设计1功能模块图; 登 录 系 统 输入密码 欢迎界面 汽车销售管理系统 菜 单销售退出入库修改查找排序删除显示2各个模块详细的功能描述。1.能够实

3、现对新车的入库工作。创建汽车产品信息文件,根据提示输入若干汽车的信息,并将这些信息保存至一个文件中。2.能够修改汽车信息。提示用户输入要进行修改操作的产品名称和产品型号,如果在产品信息文件中有该息存在,则将提示用户输入要修改的选项,并将结果保存至原产品信息文件,并提示用户选择是否继续进行修改操作。3.能按销售新车来管理汽车销售信息。创建一个销售记录文件,每完成一次销售,就按销售信息的要求输入各项数据,并将该次的销售信息添加到文件中,同时修改相应的汽车产品信息文件(主要是修改其库存数量)。4.能够查询汽车信息。输入产品名称,在汽车产品信息文件中查找相应的汽车信息并输出。 5.能够删除汽车信息。提

4、示用户输入要进行删除操作的产品名称和产品型 号,如果在产品信息文件中有该信息存在,则将对应的汽车信息删除,否 则输出提示信息,并提示用户选择是否继续进行删除操作。6.显示汽车库存信息。打开汽车信息文件,输出文件内汽车信息。 7.能够实现对汽车品牌、汽车进价、姓名的排序。按不同条件进行排序操作,输出满足条件的笔记本电脑信息。 8.能够实现退出系统。四详细设计1各功能函数的流程图 主函数 Switch case 语句 入库管理(case 1) 修改数据(case 2) 销售管理(case 3) 查询管理(case 4) 删除管理(case 5) 显示库存(case 6) 排序管理(case 7)

5、结束管理(case 8) 入库管理 输入入库汽车信息 输入完毕 返回主菜单显示汽车的基本信息输入要修改汽车的品牌型号 修改管理 存在提示修改项 辆数售价 进价 是否继续 修 改 完 成 否 返回主菜单返回主菜单销售管理输入要销售汽车的品牌型号辆数是否继续输出利润显示现有库存查询模块输入要查询的汽车品牌型号 输出查询的汽车的信息继续查询按1,退出查询按2 返回主界面输入要删除的品牌型号是否继续显示删除后所有汽车的信息确认删除显示删除信息删除管理12返回主菜单 显示模块 判断文件是否存在是否 导入文件 输出对应汽车信息 结束按品牌排序选择排序方式否返回主菜单是否继续排序管理按进价排序按利润排序 是

6、2重点设计及编码struct carmarketchar carname15;/品牌名char model10;/型号float saleprice;/进价float soldprice;/售价int num;/数量float gain;/盈利car1000;void main() char select=0;char temp115,temp210;struct carmarket carname_order;struct carmarket price_order;float sum;FILE *fp;int m,n,i,j,k,temp3; int x=3; int flag=0; ch

7、ar s8; system(color 1b);五测试数据及运行结果1正常测试数据和运行结果1: 入库管理 2: 修改管理 3: 销售管理 2异常测试数据及运行结果1: 查询管理2: 删除管理六调试情况,设计技巧及体会1改进方案程序大体上还算成功,其中的几个模块都达到了我预期想要的效果,条理也较清晰,这是我比较满意的地方。但是也有不足之处,就是密码不能进行修改的操作,而只是简单的事永远是使用原始密码,这是有待完善的,而且有些地方用起来不大方便,不好操作,需要进一步完善。2体会1) 对C语言的编程实践有所认识。2) 在遇到程序调试不通过时,会通过缩小范围的分析来锁定问题所在。3) 通过这次实验,

8、熟悉了从自然语言转换成伪代码再转换为流程图的过程。各功能函数的流程图4) 在程序中设定合适的全局变量,可以简化程序的编写难度。5) 通过本次C语言上机实验,我对这个介于人类与非人类之间的计算机编程语言有了一定的体验。随着实验的成功与报告的完成,有点微微的成就感使人难忘。伴随着学习的深入,我发现高深的东西还有很多很多,等待着我自己去挖掘。对C语言的学习,我会加倍努力。 七参考文献 C语言程序设计(王曙燕/主编 科学出版社) C程序设计(谭浩强/主编 清华大学出版社) C语言程序设计习题解析与应用案例分析(黄维通 谢孟荣 编著)八附录:源程序#include#include#include#inc

9、ludestruct carmarketchar carname15;/品牌名char model10;/型号float saleprice;/进价float soldprice;/售价int num;/数量float gain;/盈利car1000;char password7=000000;/定义初始密码void main() char select=0;char temp115,temp210;struct carmarket carname_order;struct carmarket price_order;float sum;FILE *fp;int m,n,i,j,k,temp3

10、; int x=3; int flag=0; char s8; system(color 1b); doprintf(请输入密码:n); scanf(%s,s); if(!strcmp(s,password)/*进行密码验证*/ printf(PASSnnn); flag=1;break; else printf(密码错误,请重新输入:n); x-; while(x0); if(!flag) printf(你已经输入三次错误密码!); exit(0); back: /goto点0system(cls);/清屏 包含在stdlib.h头文件中,执行清屏操作/系统菜单 puts( ); puts(

11、 );puts( *); puts( $ $);puts( $ 欢迎使用汽车销售管理系统 $);puts( $ $);puts( $ 1.入库管理 $); puts( $ $); puts( $ 2.修改数据 $); puts( $ $);puts( $ 3.销售管理 $); puts( $ $);puts( $ 4.查询信息 $); puts( $ $); puts( $ 5.删除管理 $); puts( $ $);puts( $ 6.显示库存 $); puts( $ $);puts( $ 7.排序管理 $); puts( $ $);puts( $ 8.退出系统 $); puts( $ $)

12、;puts( *);printf(请选择(1-8):);select=getch();/输入选择选项 getch包含在conio.h头文件中switch(select)case 1: /打开资料文件if(fp=fopen(C:car.txt,r+)=NULL)printf(n文件不存在!n按任意键新建一个.n); /如果文件不存在,提示新建一个getch(); /吃掉任意键fp=fopen(c:car.txt,w+);/创建新文件fclose(fp); /建完关闭,以便用r+方式打开goto back;/返回点0for(m=0;!feof(fp);m+)/从文件读入数据fscanf(fp,%s

13、 %s %f %f %d %fn ,carm.carname,carm.model,&carm.saleprice,&carm.soldprice,&carm.num,&carm.gain);system(cls);/清屏printf(录入新车请按1.nn); scanf(%d,&temp3); / 输入选项 if(temp3=1)system(cls);printf(要录入的汽车有几种:);scanf(%d,&n);/输入要录入的汽车有几种for(i=0;in;i+)/依次录入库存system(cls);printf(请输入汽车信息n品牌名: );scanf(%s,carm+i.carnam

14、e);printf(n型号:);scanf(%s,carm+i.model);printf(n进价:);scanf(%f,&carm+i.saleprice);printf(n售价:);scanf(%f,&carm+i.soldprice);printf(n辆数:);scanf(%d,&carm+i.num);for(i=0;in;i+)/将文数据件写入文件中fprintf(fp,%7s %7s %7.2f %7.2f %7d 0.00n,carm+i.carname,carm+i.model,carm+i.saleprice,carm+i.soldprice,carm+i.num);/格式控

15、制 0.00为盈利值fclose(fp);/关闭文件printf(您的操作已经完成!n);printf(品牌型号进价售价辆数n);/在屏幕上输出录入的信息 for(i=0;in;i+)/左对齐输出printf(%-7s %-7s %-7.2f %-7.2f %-7d n,carm+i.carname,carm+i.model,carm+i.saleprice,carm+i.soldprice,carm+i.num);printf(请按任意键返回主菜单n);getch(); goto back;/返回点0 case 2:/修改数据 fp=fopen(C:car.txt,r+);/打开文件 for

16、(m=0;!feof(fp);m+)/读入数据 fscanf(fp,%s %s %f %f %d %fn ,carm.carname,carm.model,&carm.saleprice,&carm.soldprice,&carm.num,&carm.gain); back2:/goto点1system(cls);/清屏 printf(品牌型号进价售价辆数n);for(k=0;km;k+)/输出原来汽车库存的信息printf(%-7s %-7s %-7.2f %-7.2f %-7d n,cark.carname,cark.model,cark.saleprice,cark.soldprice,

17、cark.num);printf(n请输入品牌名: );/输入要改变库存量的信息scanf(%s,temp1);printf(n请输入型号:);scanf(%s,temp2);for(k=0;km;k+)/数据进行比较是否存在if(strcmp(cark.carname,temp1)=0&strcmp(cark.model,temp2)=0)break;if(k=m)/如果不存在printf(您输入的汽车不存在。n);printf(n请返回重新输入 按任意键.);getch();goto back2;/返回点1 printf(品牌型号进价售价辆数n);printf(%-7s %-7s %-7.

18、2f %-7.2f %-7d n,cark.carname,cark.model,cark.saleprice,cark.soldprice,cark.num);/输出未改变之前的信息printf(n请输入改变的进价:);scanf(%f,&cark.saleprice);printf(n请输入改变的售价:); scanf(%f,&cark.soldprice);printf(n请输入改变的辆数:);scanf(%d,&cark.num); remove(c:car.txt); /删除原文件fp=fopen(c:car.txt,w+); /创建新文件for(i=0;im;i+)/在新文件中写入

19、fprintf(fp,%7s %7s %7.2f %7.2f %7d %7.2fn,cari.carname,cari.model,cari.saleprice,cari.soldprice,cari.num,cari.gain); fclose(fp);printf(修改成功nn); printf(品牌型号进价售价辆数n);printf(%-7s %-7s %-7.2f %-7.2f %-7d nn,cark.carname,cark.model,cark.saleprice,cark.soldprice,cark.num);/输出改变之后的信息printf(修改已完成。nn1(继续)nn2

20、(退出)n); scanf(%d,&temp3); if(temp3=1) goto back2; else goto back;case 3:/销售管理fp=fopen(C:car.txt,r+);/打开文件for(m=0;!feof(fp);m+)/读入数据fscanf(fp,%s %s %f %f %d %fn ,carm.carname,carm.model,&carm.saleprice,&carm.soldprice,&carm.num,&carm.gain); back3:/goto点2system(cls);printf(品牌型号进价售价辆数盈利n);sum=0;/算总盈利之用

21、for(k=0;km;k+) /在屏幕上输出库存信息printf(%-7s %-7s %-7.2f %-7.2f %-7d %-7.2f n,cark.carname,cark.model,cark.saleprice,cark.soldprice,cark.num,cark.gain);sum=sum+cark.gain;/计算总盈利printf(n总盈利:%.2fnn,sum);/输出总盈利printf(请输入卖出汽车信息nn品牌名: ); /输入信息scanf(%s,temp1);printf(n型号:);scanf(%s,temp2); for(k=0;km;k+)/对数据进行比较if

22、(strcmp(cark.carname,temp1)=0&strcmp(cark.model,temp2)=0)break;if(k=m)/如果不存在printf(您输入的汽车不存在。nn);printf(请返回重新输入 按任意键.);getch();goto back3;/返回点2 printf(品牌型号辆数n);printf(n%-7s %-7s %-7d n,cark.carname,cark.model,cark.num);/输出要销售的汽车信息printf(n请输入卖出辆数:);scanf(%d,&temp3);cark.num=cark.num-temp3;/计算件数cark.g

23、ain=cark.gain+(cark.soldprice-cark.saleprice)*temp3;/计算盈利remove(c:car.txt); /删除原文件 fp=fopen(c:car.txt,w+); /创建新文件for(i=0;im;i+)/在新文件中写入数据fprintf(fp,%7s %7s %7.2f %7.2f %7d %7.2fn,cari.carname,cari.model,cari.saleprice,cari.soldprice,cari.num,cari.gain);fclose(fp); printf(品牌型号辆数n);printf(%-7s %-7s %-

24、7d n,cark.carname,cark.model,cark.num);/输出销售后的汽车信息printf(您的操作已经完成!nn);printf(品牌型号进价售价辆数盈利n);sum=0;for(k=0;km;k+) /在屏幕上输出库存信息printf(%-7s %-7s %-7.2f %-7.2f %-7d %-7.2f n,cark.carname,cark.model,cark.saleprice,cark.soldprice,cark.num,cark.gain);sum=sum+cark.gain;/计算总盈利printf(n总盈利:%.2fnn,sum);/输出总盈利pri

25、ntf(销售已完成。nn1(继续)nn2(退出)n); scanf(%d,&temp3); if(temp3=1) goto back3; else goto back; case 4:/查询 if(fp=fopen(C:car.txt,r+)=NULL)/打开文件printf(文件打不能打开!n);/提示文件打不开getch();exit(1);for(m=0;!feof(fp);m+)/读入数据fscanf(fp,%s %s %f %f %d %fn ,carm.carname,carm.model,&carm.saleprice,&carm.soldprice,&carm.num,&ca

26、rm.gain); back4: system(cls);printf(请输入要查询的汽车的信息nn);/输入要查询的汽车的信息printf(品牌:);scanf(%s,temp1);printf(n型号:);scanf(%s,temp2);for(k=0;km;k+)/数据进行比较if(strcmp(cark.carname,temp1)=0&strcmp(cark.model,temp2)=0)break;if(k=m)/如果不存在printf(您输入的汽车信息不存在。n);printf(n请返回重新输入 按任意键.);getch();goto back4; printf(品牌型号进价售价

27、辆数盈利n);printf(n%-7s %-7s %-7.2f %-7.2f %-7.d %-7.2f n,cark.carname,cark.model,cark.saleprice,cark.soldprice,cark.num,cark.gain); printf(是否要继续查询?nn1(继续)nn2(退出):);scanf(%d,&temp3);if(temp3=1)goto back4;elsegoto back;case 5:/删除管理if(fp=fopen(C:car.txt,r+)=NULL)/提示文件打不开printf(文件打不能打开!n);getch();exit(1);f

28、or(m=0;!feof(fp);m+)/输入数据fscanf(fp,%s %s %f %f %d %fn ,carm.carname,carm.model,&carm.saleprice,&carm.soldprice,&carm.num,&carm.gain); back5:/goto点5system(cls);printf(品牌型号进价售价辆数盈利n);sum=0;/在屏幕上输出库存for(k=0;km;k+)printf(%-7s %-7s %-7.2f %-7.2f %-7.d %-7.2f n,cark.carname,cark.model,cark.saleprice,cark.

29、soldprice,cark.num,cark.gain);sum=sum+cark.gain;/计算总盈利printf(n总盈利:%.2fnn,sum);printf(请输入要删除的汽车的信息nn);/输入要删除的汽车的信息printf(品牌:);scanf(%s,temp1);printf(n型号:);scanf(%s,temp2);for(k=0;km;k+)/数据进行比较if(strcmp(cark.carname,temp1)=0&strcmp(cark.model,temp2)=0)break;if(k=m)/如果不存在printf(您输入的汽车信息不存在。n);printf(n请

30、返回重新输入 按任意键.);getch();goto back5; printf(品牌型号辆数n);printf(n%-7s %-7s %-7d n,cark.carname,cark.model,cark.num);printf(n是否要删除?nn1(删除)nn2(不删除):);scanf(%d,&temp3);/选择是否要删除if(temp3=1)/如果要删除remove(c:car.txt); /删除原文件fp=fopen(c:car.txt,w+); /创建新文件printf(n品牌型号进价售价辆数盈利n);/删除完后在文件夹中写入和在屏幕显示剩下的汽车信息for(i=0;im;i+)

31、if(i!=k)fprintf(fp,%7s %7s %7.2f %7.2f %7d %7.2fn,cari.carname,cari.model,cari.saleprice,cari.soldprice,cari.num,cari.gain);printf(%-7s %-7s %-7.2f %-7.2f %-7.d %-7.2f n,cari.carname,cari.model,cari.saleprice,cari.soldprice,cari.num,cari.gain);printf(n删除已完成n);else/不删除printf(n删除未完成n);fclose(fp);print

32、f(n按任意键返回菜单.);getch();goto back;/返回主菜单 case 6:/显示库存if(fp=fopen(C:car.txt,r+)=NULL)/打开文件printf(文件打不能打开!n);/提示文件打不开getch();exit(1);for(m=0;!feof(fp);m+)/读入数据fscanf(fp,%s %s %f %f %d %fn ,carm.carname,carm.model,&carm.saleprice,&carm.soldprice,&carm.num,&carm.gain);system(cls);printf(序号 品牌 型号 进价售价 辆数n)

33、;/在屏幕上显示数据for(k=0;km;k+)printf(%d %-7s %-7s %-7.2f %-7.2f %-7d n,k+1,cark.carname,cark.model,cark.saleprice,cark.soldprice,cark.num);fclose(fp);printf(请按任意键返回主菜单n);getch();goto back; case 7:/排序 if(fp=fopen(C:car.txt,r+)=NULL)/打开文件printf(文件打不能打开!n);/提示文件打不开getch();exit(1);for(m=0;!feof(fp);m+)/读入数据fs

34、canf(fp,%s %s %f %f %d %fn ,carm.carname,carm.model,&carm.saleprice,&carm.soldprice,&carm.num,&carm.gain); back7:system(cls);printf(n请选择排序标准?nn1(按品牌排序)nn2(按进价排序)nn3(按利润排序)n);scanf(%d,&temp3); if(temp3=1)/按品牌排序 for(i=0;im-1;i+) for(j=i+1;j0) carname_order=cari; cari=carj; carj=carname_order; printf(按品牌

温馨提示

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

评论

0/150

提交评论