您好,欢迎访问三七文档
当前位置:首页 > 商业/管理/HR > 管理学资料 > 汽车销售管理系统-C语言版
西安郵電大學C语言课程设计报告题目:汽车销售管理系统院系名称:专业名称:班级:学生姓名:学号(8位):指导教师:设计起止时间:一.设计目的1.对c语言基本知识的巩固和综合运用。熟练使用基本数据类型,基本控制结构,数组,函数,指针等。2.强化上机动手能力,在理论和实践的基础上进一步巩固《C语言程序设计》课程学习的内容,掌握工程化软件设计的基本方法。3.学会将知识应用于实际的方法,提高分析和解决问题的能力,增加综合能力。4.为后续各门计算机课程的学习打下坚实基础。5.《汽车销售管理系统》的设计与实现,此次程序设计主要利用c语言的基础知识开发一个简单的汽车销售管理系统。汽车销售管理系统是一个企业不可缺少的一部分,它利用计算机对汽车销售进行统一管理,实现汽车销售管理工作的系统化、规范化和自动化,为企业提高工作效率。二.设计内容主要利用c语言的文件操作能力设计开发一个小型的管理信息系统,主要功能有:1.能够实现对新车的入库工作。2.能够修改汽车信息。3.能按销售新车来管理汽车销售信息。4.能够查询汽车信息。5.能够删除汽车信息。6.显示汽车库存信息。7.能够实现对汽车品牌、汽车进价、姓名的排序。8.能够实现退出系统。三.概要设计1.功能模块图;登录系统输入密码2.各个模块详细的功能描述。1.能够实现对新车的入库工作。创建汽车产品信息文件,根据提示输入若干汽车的信息,并将这些信息保存至一个文件中。2.能够修改汽车信息。提示用户输入要进行修改操作的产品名称和产品型号,如果在产品信息文件中有该息存在,则将提示用户输入要修改的选项,并将结果保存至原产品信息文件,并提示用户选择是否继续进行修改操作。3.能按销售新车来管理汽车销售信息。创建一个销售记录文件,每完成一次销售,就按销售信息的要求输入各项数据,并将该次的销售信息添加到文件中,同时修改相应的汽车产品信息文件(主要是修改其库存数量)。4.能够查询汽车信息。输入产品名称,在汽车产品信息文件中查找相应的汽车信息并输出。5.能够删除汽车信息。提示用户输入要进行删除操作的产品名称和产品型号,如果在产品信息文件中有该信息存在,则将对应的汽车信息删除,否则输出提示信息,并提示用户选择是否继续进行删除操作。6.显示汽车库存信息。打开汽车信息文件,输出文件内汽车信息。7.能够实现对汽车品牌、汽车进价、姓名的排序。按不同条件进行排序操作,输出满足条件的笔记本电脑信息。8.能够实现退出系统。欢迎界面汽车销售管理系统菜单入库显示查找删除销售修改退出排序四.详细设计1.各功能函数的流程图Switchcase语句入库管理(case‘1’)修改数据(case‘2’)销售管理(case‘3’)查询管理(case‘4’)排序管理(case‘7’)删除管理(case‘5’)显示库存(case‘6’)结束管理(case‘8’)主函数入库管理输入入库汽车信息输入完毕返回主菜单修改管理输入要修改汽车的品牌型号存在显示汽车的基本信息提示修改项进价售价辆数修改完成是否继续返回主菜单否销售管理输入要销售汽车的品牌型号辆数输出利润显示现有库存是否继续返回主菜单查询模块输入要查询的汽车品牌型号输出查询的汽车的信息继续查询按1,退出查询按2返回主界面删除管理输入要删除的品牌型号显示删除信息确认删除显示删除后所有汽车的信息是否继续返回主菜单12显示模块判断文件是否存在是导入文件输出对应汽车信息结束否2.重点设计及编码structcarmarket{charcarname[15];//品牌名charmodel[10];//型号floatsaleprice;//进价floatsoldprice;//售价intnum;//数量floatgain;//盈利}car[1000];voidmain()排序管理选择排序方式按品牌排序按进价排序按利润排序是否继续返回主菜单否是{charselect=0;chartemp1[15],temp2[10];structcarmarketcarname_order;structcarmarketprice_order;floatsum;FILE*fp;intm,n,i,j,k,temp3;intx=3;intflag=0;chars[8];system(color1b);五.测试数据及运行结果1.正常测试数据和运行结果1:入库管理2:修改管理3:销售管理2.异常测试数据及运行结果1:查询管理2:删除管理六.调试情况,设计技巧及体会1.改进方案程序大体上还算成功,其中的几个模块都达到了我预期想要的效果,条理也较清晰,这是我比较满意的地方。但是也有不足之处,就是密码不能进行修改的操作,而只是简单的事永远是使用原始密码,这是有待完善的,而且有些地方用起来不大方便,不好操作,需要进一步完善。2.体会1)对C语言的编程实践有所认识。2)在遇到程序调试不通过时,会通过缩小范围的分析来锁定问题所在。3)通过这次实验,熟悉了从自然语言转换成伪代码再转换为流程图的过程。各功能函数的流程图4)在程序中设定合适的全局变量,可以简化程序的编写难度。5)通过本次C语言上机实验,我对这个介于人类与非人类之间的计算机编程语言有了一定的体验。随着实验的成功与报告的完成,有点微微的成就感使人难忘。伴随着学习的深入,我发现高深的东西还有很多很多,等待着我自己去挖掘。对C语言的学习,我会加倍努力。七.参考文献《C语言程序设计》(王曙燕/主编科学出版社)《C程序设计》(谭浩强/主编清华大学出版社)《C语言程序设计习题解析与应用案例分析》(黄维通谢孟荣编著)八.附录:源程序#includestdio.h#includestring.h#includestdlib.h#includeconio.hstructcarmarket{charcarname[15];//品牌名charmodel[10];//型号floatsaleprice;//进价floatsoldprice;//售价intnum;//数量floatgain;//盈利}car[1000];charpassword[7]=000000;//定义初始密码voidmain(){charselect=0;chartemp1[15],temp2[10];structcarmarketcarname_order;structcarmarketprice_order;floatsum;FILE*fp;intm,n,i,j,k,temp3;intx=3;intflag=0;chars[8];system(color1b);do{printf(请输入密码:\n);scanf(%s,s);if(!strcmp(s,password))/*进行密码验证*/{printf(PASS\n\n\n);flag=1;break;}else{printf(密码错误,请重新输入:\n);x--;}}while(x0);if(!flag){printf(你已经输入三次错误密码!);exit(0);}back://goto点0system(cls);//清屏包含在stdlib.h头文件中,执行清屏操作//系统菜单puts();puts();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($$);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+方式打开gotoback;//返回点0}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(录入新车请按1.\n\n);scanf(%d,&temp3);//输入选项if(temp3==1){system(cls);printf(要录入的汽车有几种:);scanf(%d,&n);//输入要录入的汽车有几种for(i=0;in;i++)//依次录入库存{system(cls);printf(请输入汽车信息\n品牌名:);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;in;i++)//将文数据件写入文件中fprintf(fp,%7s%7s%7.2f%7.2f%7d0.00\n,car[m+i].carname,car[m+i].model,car[m+i].saleprice,car[m+i].soldprice,car[m+i].num);//格式控制0.00为盈利值fclose(fp);//关闭文件printf(您的操作已经完成!\n);printf(品牌型号进价售价辆数\n);//在屏幕上输出录入的信息for(i=0;in;i++)//左对齐输出printf(%-7s%-7s%-7.2f%-7.2f%-7d\n,car[m+i].carname,car[m+i].model,car[m+i].saleprice,car[m+i].soldprice,car[m+i].num);printf(请按任意键返回主菜单\n);getch();}gotoback;//返回点0}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点1system(cls);//清屏printf(品牌型号进价售价辆数\n);for(k=0;km;k++)//输出原来汽车库存的信息printf(%-7s%-7s%-7.2f%-7.2f%-7d\n,car[k].carname,car[k].model,car[k].saleprice,car[k].soldprice,car[k].num);printf(\n请输入品牌名:);//输入要改变库存量的信息scanf(%s,temp1);printf(\n请输入型号:);scanf(%s,temp2);for(k=0;km;k++
本文标题:汽车销售管理系统-C语言版
链接地址:https://www.777doc.com/doc-4360163 .html