汽车销售管理系统C语言版.docx
- 文档编号:24668228
- 上传时间:2023-05-30
- 格式:DOCX
- 页数:34
- 大小:527.65KB
汽车销售管理系统C语言版.docx
《汽车销售管理系统C语言版.docx》由会员分享,可在线阅读,更多相关《汽车销售管理系统C语言版.docx(34页珍藏版)》请在冰豆网上搜索。
汽车销售管理系统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.各功能函数的流程图
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语言程序设计习题解析与应用案例分析》(黄维通谢孟荣编著)
八.附录:
源程序
#include
#include
#include
#include
structcarmarket
{
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(x>0);
if(!
flag)
{
printf("你已经输入三次错误密码!
");
exit(0);
}
back:
//goto点0
system("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;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;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;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点1 system("cls");//清屏 printf("品牌型号进价售价辆数\n"); for(k=0;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;k if(strcmp(car[k].carname,temp1)==0&&strcmp(car[k].model,temp2)==0) break; if(k==m)//如果不存在 { printf("您输入的汽车不存在。 \n"); printf("\n请返回重新输入按任意键..."); getch(); gotoback2;//返回点1 } printf("品牌型号进价售价辆数\n"); 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("%f",&car[k].saleprice); printf("\n请输入改变的售价: "); scanf("%f",&car[k].soldprice); printf("\n请输入改变的辆数: "); scanf("%d",&car[k].num); remove("c: \\car.txt");//删除原文件 fp=fopen("c: \\car.txt","w+");//创建新文件 for(i=0;i fprintf(fp,"%7s%7s%7.2f%7.2f%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\n"); printf("品牌型号进价售价辆数\n"); printf("%-7s%-7s%-7.2f%-7.2f%-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) gotoback2; else gotoback; } case'3': //销售管理 { 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); back3: //goto点2 system("cls"); printf("品牌型号进价售价辆数盈利\n"); sum=0;//算总盈利之用 for(k=0;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\n品牌名: ");//输入信息 scanf("%s",temp1); printf("\n型号: "); scanf("%s",temp2); for(k=0;k if(strcmp(car[k].carname,temp1)==0&&strcmp(car[k].model,temp2)==0) break; if(k==m)//如果不存在 { printf("您输入的汽车不存在。 \n\n"); printf("请返回重新输入按任意键..."); getch(); gotoback3;//返回点2 } printf("品牌型号辆数\n"); printf("\n%-7s%-7s%-7d\n",car[k].carname,car[k].model,car[k].num);//输出要销售的汽车信息 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 fprintf(fp,"%7s%7s%7.2f%7.2f%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 {//在屏幕上输出库存信息 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(temp3==1) gotoback3; else gotoback; } 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].soldprice,&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 if(strcmp(car[k].carname,temp1)==0&&strcmp(car[k].model,temp2)==0) break; if(k==m)//如果不存在 { printf("您输入的汽车信息不存在。 \n"); printf("\n请返回重新输入按任意键..."); getch(); gotoback4; } 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("是否要继续查询? \n\n1(继续)\n\
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 汽车 销售 管理 系统 语言版