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

上传人:b****4 文档编号:12160298 上传时间:2023-04-17 格式:DOCX 页数:39 大小:24.35KB
下载 相关 举报
汽车销售管理系统C语言版.docx_第1页
第1页 / 共39页
汽车销售管理系统C语言版.docx_第2页
第2页 / 共39页
汽车销售管理系统C语言版.docx_第3页
第3页 / 共39页
汽车销售管理系统C语言版.docx_第4页
第4页 / 共39页
汽车销售管理系统C语言版.docx_第5页
第5页 / 共39页
点击查看更多>>
下载资源
资源描述

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

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

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

汽车销售管理系统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‘5’)

 

显示库存(case‘6’)

 

排序管理(case‘7’)

 

结束管理(case‘8’)

 

入库管理

 

输入入库汽车信息

 

.

优选文档

 

输入达成

 

返回主菜单

 

存在

提示更正项

 

 

修改完成可否连续

 

.

优选文档

 

返回主菜单

 

输入要销

输出利润

显示现有

售汽车的

库存

品牌型号

辆数

 

盘问模块

 

输入要盘问的汽车品牌型号

 

输出盘问的汽车的信息

 

连续盘问按1,退出盘问按2

 

返回主界面

 

 

是否

连续

 

.

 

除除

 

显示模块

 

判断文件可否存在

 

 

否导入文件

 

输出对应汽车信息

 

结束

优选文档

 

确认

显示

删除

删除

后所

有汽

车的

信息

 

1

 

 

2

 

返回主菜单

 

.

优选文档

 

按品牌排序

按进价排序

按利润排序

 

 

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");//清屏包含在头文件中,执行清屏操作

 

//系统菜单

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

包含在

头文件中

 

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

%7d

0.00\n",car[m+i].carname,car[m+i].model,car[m+i].saleprice,car[m+i].soldprice,car[m+i].num);//

格式控制

盈利值

fclose(fp);//

关闭文件

printf("

您的操作已经达成!

\n");

printf("

品牌

型号进价售价

辆数\n");//

在屏幕上输出录入的信息

for(i=0;i

左对齐输出

printf("%-7s

%-7s

%-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

%-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

%-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%-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

%-7d

\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("请返回重新输入按任意键...");

get

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 考试认证 > 公务员考试

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1