汽车销售地管理系统 C语言版

上传人:痛*** 文档编号:86702918 上传时间:2022-05-08 格式:DOC 页数:32 大小:233.50KB
收藏 版权申诉 举报 下载
汽车销售地管理系统 C语言版_第1页
第1页 / 共32页
汽车销售地管理系统 C语言版_第2页
第2页 / 共32页
汽车销售地管理系统 C语言版_第3页
第3页 / 共32页
资源描述:

《汽车销售地管理系统 C语言版》由会员分享,可在线阅读,更多相关《汽车销售地管理系统 C语言版(32页珍藏版)》请在装配图网上搜索。

1、word 某某郵電大學 C语言课程设计报告 题目:汽车销售管理系统 院系名称: 专业名称: 班 级: 学生某某: 学号〔8位〕: 指导教师: 设计起止时间: 文案大全 一. 设计目的 1. 对c语言根本知识的巩固和综合运用。熟练使用根本数据类型,根本控制结构,数组,函数,指针等。 2. 强化上机动手能力,在理论和实践的根底上进一步巩固《C语言程序设计》课程学习的内容,掌握工程化软件设计的根本方法。 3. 学会将知识应用于实际的方法,提高分析和解决问题的能力,增加综合能力。 4. 为

2、后续各门计算机课程的学习打下坚实根底。 5.《汽车销售管理系统》的设计与实现,此次程序设计主要利用c语言的根底知识开发一个简单的汽车销售管理系统。汽车销售管理系统是一个企业不可缺少的一局部,它利用计算机对汽车销售进展统一管理,实现汽车销售管理工作的系统化、规X化和自动化,为企业提高工作效率。 二. 设计内容 主要利用c语言的文件操作能力设计开发一个小型的管理信息系统,主要功能有: 1.能够实现对新车的入库工作。 2.能够修改汽车信息。 3.能按销售新车来管理汽车销售信息。 4.能够查询汽车信息。 5.能够删除汽车信息。 6.显示汽车库存信息。 7.能够实现

3、对汽车品牌、汽车进价、某某的排序。 8.能够实现退出系统。 三.概要设计 1.功能模块图; 登 录 系 统 输入密码 欢迎界面 汽车销售管理系统 菜 单 销售 退出 入库 修改 查找 排序 删除 显示 2.各个模块详细的功能描述。 1.能够实现对新车的入库工作。创建汽车产品信息文件,根据提示输入假如干汽车的信息,并将这些信息保存至一个文件中。 2.能够修改汽车信息。提示用户输入要进展修改操作的产品名称和产品型号,如果在产品信息文件中有该息存在,如

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

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

6、 删除管理(case ‘5’) 显示库存(case ‘6’) 排序管理(case ‘7’) 完毕管理(case ‘8’) 入库管理 输入入库汽车信息 输入完毕 返回主菜单 显示汽车的根本信息 输入要修改汽车的品牌型号 修改管理 存在 提示修改项 辆数 售价 进价

7、 是否继续 修 改 完 成 否 返回主菜单 返回主菜单 销售管理 输入要销售汽车的品牌型号辆数 是否继续 输出利润显示现有库存 查询模块 输入要查询的汽车品牌型号 输出查询的汽车的信息 继续查询按1,退出查询按2 返回主界面 输入要删除的品牌型号 是否继续 显示删除后所有汽车的信息 确认删除 显示删除信息

8、 删除管理 1 2 返回主菜单 显示模块 判断文件是否存在 是 否 导入文件 输出对应汽车信息 完毕 按品牌排序 选择排序方式 否 返回主菜单 是否继续 排序管理 按进价排序 按利润排序 是 2.重点设计与编码 struct carmarket { char carname[15];//品牌名 char model[10];//型号 float saleprice

9、;//进价 float soldprice;//售价 int num;//数量 float gain;//盈利 } car[1000]; void main() { char select=0; char temp1[15],temp2[10]; 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; char s[8]; syst

10、em("color 1b"); 五.测试数据与运行结果 1.正常测试数据和运行结果 1: 入库管理 2: 修改管理 3: 销售管理 2.异常测试数据与运行结果 1: 查询管理 2: 删除管理 六.调试情况,设计技巧与体会 1.改良方案 程序大体上还算成功,其中的几个模块都达到了我预期想要的效果,条理也较清晰,这是我比拟满意的地方。但是也有不足之处,就是密码不能进展修改的操作,而只是简单的事永远是使用原始密码,这是有待完善的,而且有些地方用起来不大方便,不好操作,需要进一步完善。 2.体会 1) 对C语言的编程

11、实践有所认识。 2) 在遇到程序调试不通过时,会通过缩小X围的分析来锁定问题所在。 3) 通过这次实验,熟悉了从自然语言转换成伪代码再转换为流程图的过程。各功能函数的流程图 4) 在程序中设定适宜的全局变量,可以简化程序的编写难度。 5) 通过本次C语言上机实验,我对这个介于人类与非人类之间的计算机编程语言有了一定的体验。随着实验的成功与报告的完成,有点微微的成就感使人难忘。伴随着学习的深入,我发现高深的东西还有很多很多,等待着我自己去挖掘。对C语言的学习,我会加倍努力。 七.参考文献 《C语言程序设计》〔王曙燕/主编 科学〕 《C程序设计》〔谭浩强/主编 清

12、华大学〕 《C语言程序设计习题解析与应用案例分析》〔黄维通 谢孟荣 编著〕 八.附录:源程序 #include #include #include #include struct carmarket { char carname[15];//品牌名 char model[10];//型号 float saleprice;//进价 float soldprice;//售价 int num;//数量 float gain;//盈利 } car[1000]; char passwo

13、rd[7]="000000";//定义初始密码 void main() { char select=0; char temp1[15],temp2[10]; 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; char s[8]; system("color 1b"); do { printf("请输入密码:\n");

14、 scanf("%s",s); if(!strcmp(s,password))/*进展密码验证*/ { printf("PASS\n\n\n"); flag=1;break; } else { printf("密码错误,请重新输入:\n"); x--; } } while(x>0); if(!flag) { printf("你已经输入三次错误密码!"); exit(0); } back: //got

15、o点0 system("cls");//清屏 包含在stdlib.h头文件中,执行清屏操作 //系统菜单 puts(" "); puts(" "); puts(" ********************************************"); puts("

16、 $ $"); puts(" $ 欢迎使用汽车销售管理系统 $"); puts(" $ $"); puts(" $ 1.入库管理 $"); puts(" $

17、 $"); puts(" $ 2.修改数据 $"); puts(" $ $"); puts(" $ 3.销售管理 $"); puts(" $

18、 $"); puts(" $ 4.查询信息 $"); puts(" $ $"); puts(" $ 5.删除管理 $"); puts(" $ $"

19、); puts(" $ 6.显示库存 $"); puts(" $ $"); puts(" $ 7.排序管理 $"); puts(" $ $"); puts("

20、 $ 8.退出系统 $"); puts(" $ $"); puts(" ********************************************"); printf("请选择〔1-8〕:"); switch(select) { case '1': { //打开资料文件 if((fp=fopen("C:\\car.tx

21、t","r+"))==NULL) { printf("\n文件不存在!\n按任意键新建一个...\n"); //如果文件不存在,提示新建一个 getch(); //吃掉任意键 fp=fopen("c:\\car.txt","w+");//创建新文件 fclose(fp); //建完关闭,以便用r+方式打开 goto back;//返回点0 } for(m=0;!feof(fp);m++)//从文件读入数据 fscanf(fp,"%s %s %f %f %d %f\n" ,car[m].carname,car[m].model,&car[m].salepric

22、e,&car[m].soldprice,&car[m].num,&car[m].gain); system("cls");//清屏 printf("录入新车请按1.\n\n"); scanf("%d",&temp3); // 输入选项 if(temp3==1) { system("cls"); printf("要录入的汽车有几种:"); scanf("%d",&n);//输入要录入的汽车有几种 for(i=0;i

23、); scanf("%s",car[m+i].carname); printf("\n型号:"); scanf("%s",car[m+i].model); printf("\n进价:"); scanf("%f",&car[m+i].saleprice); printf("\n售价:"); scanf("%f",&car[m+i].soldprice); printf("\n辆数:"); scanf("%d",&car[m+i].num); } for(i=0;i

24、操作已经完成!\n"); printf("品牌型号进价售价辆数\n");//在屏幕上输出录入的信息 for(i=0;i

25、 case '2'://修改数据 { fp=fopen("C:\\car.txt","r+");//打开文件 for(m=0;!feof(fp);m++)//读入数据 fscanf(fp,"%s %s %f %f %d %f\n" ,car[m].carname,car[m].model,&car[m].saleprice,&car[m].soldprice,&car[m].num,&car[m].gain); back2://goto点1 system("cls");//清屏

26、printf("品牌型号进价售价辆数\n"); for(k=0;k

27、if(strcmp(car[k].carname,temp1)==0&&strcmp(car[k].model,temp2)==0) break; if(k==m)//如果不存在 { printf("您输入的汽车不存在。\n"); printf("\n请返回重新输入 按任意键..."); getch(); goto back2;//返回点1 } printf("品牌型号进价售价辆数\n"); printf("%-7s %-7s %-7.2f %-7.2f %-7d \n",car[k].carname,car[k].model,car[k].

28、saleprice,car[k].soldprice,car[k].num);//输出未改变之前的信息 printf("\n请输入改变的进价:"); scanf("%f",&car[k].saleprice); printf("\n请输入改变的售价:"); scanf("%f",&car[k].soldprice); printf("\n请输入改变的辆数:"); scanf("%d",&car[k].num); remove("c:\\car.txt"); //删除原文件 fp=fopen(

29、"c:\\car.txt","w+"); //创建新文件 for(i=0;i

30、f %-7d \n\n",car[k].carname,car[k].model,car[k].saleprice,car[k].soldprice,car[k].num);//输出改变之后的信息 printf("修改已完成。\n\n1(继续)\n\n2(退出)\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++)

31、//读入数据 fscanf(fp,"%s %s %f %f %d %f\n" ,car[m].carname,car[m].model,&car[m].saleprice,&car[m].soldprice,&car[m].num,&car[m].gain); back3://goto点2 system("cls"); printf("品牌型号进价售价辆数盈利\n"); sum=0;//算总盈利之用 for(k=0;k

32、2f \n",car[k].carname,car[k].model,car[k].saleprice,car[k].soldprice,car[k].num,car[k].gain); sum=sum+car[k].gain;//计算总盈利 } printf("\n总盈利:%.2f\n\n",sum);//输出总盈利 printf("请输入卖出汽车信息\n\n品牌名: "); //输入信息 scanf("%s",temp1); printf("\n型号:"); scanf("%s",temp2); for(k=0;k

33、 if(strcmp(car[k].carname,temp1)==0&&strcmp(car[k].model,temp2)==0) break; if(k==m)//如果不存在 { printf("您输入的汽车不存在。\n\n"); printf("请返回重新输入 按任意键..."); getch(); goto back3;//返回点2 } printf("品牌型号辆数\n"); printf("\n%-7s %-7s %-7d \n",car[k].carname,car[k].model,car[k].num);//输出要销售的汽车信息

34、 printf("\n请输入卖出辆数:"); scanf("%d",&temp3); car[k].num=car[k].num-temp3;//计算件数 car[k].gain=car[k].gain+(car[k].soldprice-car[k].saleprice)*temp3;//计算盈利 remove("c:\\car.txt"); //删除原文件 fp=fopen("c:\\car.txt","w+"); //创建新文件 for(i=0;i

35、%7d %7.2f\n",car[i].carname,car[i].model,car[i].saleprice,car[i].soldprice,car[i].num,car[i].gain); fclose(fp); printf("品牌型号辆数\n"); printf("%-7s %-7s %-7d \n",car[k].carname,car[k].model,car[k].num);//输出销售后的汽车信息 printf("您的操作已经完成!\n\n"); printf("品牌型号进价售价辆数盈利\n"); sum=0; for(k=0;k

36、;k++) { //在屏幕上输出库存信息 printf("%-7s %-7s %-7.2f %-7.2f %-7d %-7.2f \n",car[k].carname,car[k].model,car[k].saleprice,car[k].soldprice,car[k].num,car[k].gain); sum=sum+car[k].gain;//计算总盈利 } printf("\n总盈利:%.2f\n\n",sum);//输出总盈利 printf("销售已完成。\n\n1(继续)\n\n2(退出)\n"); scanf("%d",&temp3); if

37、(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 %f\n" ,car[m].carname,car[m].model,&car[m].saleprice,&car[m].sol

38、dprice,&car[m].num,&car[m].gain); back4: system("cls"); printf("请输入要查询的汽车的信息\n\n");//输入要查询的汽车的信息 printf("品牌:"); scanf("%s",temp1); printf("\n型号:"); scanf("%s",temp2); for(k=0;k

39、 if(k==m)//如果不存在 { printf("您输入的汽车信息不存在。\n"); printf("\n请返回重新输入 按任意键..."); getch(); goto back4; } printf("品牌型号进价售价辆数盈利\n"); printf("\n%-7s %-7s %-7.2f %-7.2f %-7.d %-7.2f \n",car[k].carname,car[k].model,car[k].saleprice,car[k].soldprice,car[k].num,car[k].gain); printf("是否要继续查

40、询?\n\n1(继续)\n\n2(退出):"); scanf("%d",&temp3); if(temp3==1) goto back4; else goto back; } case '5'://删除管理 { 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 %f\n" ,car[m].carname,car[m].

41、model,&car[m].saleprice,&car[m].soldprice,&car[m].num,&car[m].gain); back5://goto点5 system("cls"); printf("品牌型号进价售价辆数盈利\n"); sum=0; //在屏幕上输出库存 for(k=0;k

42、num,car[k].gain); sum=sum+car[k].gain;//计算总盈利 } printf("\n总盈利:%.2f\n\n",sum); printf("请输入要删除的汽车的信息\n\n");//输入要删除的汽车的信息 printf("品牌:"); scanf("%s",temp1); printf("\n型号:"); scanf("%s",temp2); for(k=0;k

43、 if(k==m)//如果不存在 { printf("您输入的汽车信息不存在。\n"); printf("\n请返回重新输入 按任意键..."); getch(); goto back5; } printf("品牌型号辆数\n"); printf("\n%-7s %-7s %-7d \n",car[k].carname,car[k].model,car[k].num); printf("\n是否要删除?\n\n1(删除)\n\n2(不删除):"); scanf("%d",&temp3);//选择是否要删除 if(temp3==1)//如果要删除

44、 { remove("c:\\car.txt"); //删除原文件 fp=fopen("c:\\car.txt","w+"); //创建新文件 printf("\n品牌型号进价售价辆数盈利\n");//删除完后在文件夹中写入和在屏幕显示剩下的汽车信息 for(i=0;i

45、r[i].gain); printf("%-7s %-7s %-7.2f %-7.2f %-7.d %-7.2f \n",car[i].carname,car[i].model,car[i].saleprice,car[i].soldprice,car[i].num,car[i].gain); } } printf("\n删除已完成\n"); } else//不删除 printf("\n删除未完成\n"); fclose(fp); printf("\n按任意键返回菜单..."); getch(); goto back;//返回主菜单 } case '6'://显示

46、库存 { 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 %f\n" ,car[m].carname,car[m].model,&car[m].saleprice,&car[m].soldprice,&car[m].num,&car[m].gain); system("cls"); printf("序号 品牌

47、 型号 进价售价 辆数\n");//在屏幕上显示数据 for(k=0;k

48、:\\car.txt","r+"))==NULL)//打开文件 { printf("文件打不能打开!\n");//提示文件打不开 getch(); exit(1); } for(m=0;!feof(fp);m++)//读入数据 fscanf(fp,"%s %s %f %f %d %f\n" ,car[m].carname,car[m].model,&car[m].saleprice,&car[m].soldprice,&car[m].num,&car[m].gain); back7: system("cls"); printf("\n请选择排序标准?

49、\n\n1(按品牌排序)\n\n2(按进价排序)\n\n3(按利润排序)\n"); scanf("%d",&temp3); if(temp3==1)//按品牌排序 { for(i=0;i0) { carname_order=car[i]; car[i]=car[j];

50、 car[j]=carname_order; } printf("按品牌排序输出:\n"); printf("序号 品牌 型号 进价 售价 辆数 盈利\n"); for(i=0;i

51、].gain); } printf("排序已完成。\n\n1(继续)\n\n2(退出)\n"); scanf("%d",&temp3); if(temp3==1) goto back7; else goto back; } else if(temp3==2)//按进价排序 { for(i=0;icar[j].

52、saleprice) { price_order=car[i]; car[i]=car[j]; car[j]=price_order; } printf("按进价排序输出:\n"); printf("序号 品牌 型号 进价 售价 辆数 盈利\n"); for(i=0;i

53、d %-7s %-7s %-7.2f %-7.2f %-7.d %-7.2f \n",i+1,car[i].carname,car[i].model,car[i].saleprice,car[i].soldprice,car[i].num,car[i].gain); } printf("排序已完成。\n\n1(继续)\n\n2(退出)\n"); scanf("%d",&temp3); if(temp3==1) goto back7; else goto back; } else if(temp3==3) //按利润排序 {

54、 for(i=0;i

55、 printf("序号 品牌 型号 进价 售价 辆数 盈利\n"); for(i=0;i

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

相关资源

更多
正为您匹配相似的精品文档
关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们

copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!