




下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、西安邮电大学C语言课程设计报告题目:汽车销售管理系统院系名称:专业名称:班 级:学生姓名:学号(8位):指导教师:设计起止时间:并将这随息保存.有。文件中O2.能阙修改汽车信周售提示用户瓢入要进行P卷信息文件中有该息力在,则将提示用户输入要修的选项,显排作的产品堪称和产品型外退如果在产品并将结果保存至原产品信息文设计目的1 .对c语言基本知识的巩固和综合运用。熟练使用基本数据类型, 基本控制结构,数组,函数,指针等。2 .强化上机动手能力,在理论和实践的基础上进一步巩固C语言程序设计课程学习的内容,掌握工程化软件设计的基本方法。3 .学会将知识应用于实际的方法,提高分析和解决问题的能力,增加综
2、合能力。4 .为后续各门计算机课程的学习打下坚实基础。5 .汽车销售管理系统 的设计与实现,此次程序设计主要利用 c语言的基础知识开发一个简单 的汽车销售管理系统。汽车销售管理系统是一个企业不可缺少的一部分,它利用计算机对汽车销售进行统一管理,实现汽车销售管理工作的系统化、规范化和自动化,为企业提高工作效率。二.设计内容主要利用c语言的文件操作能力设计开发一个小型的管理信息系统,主要功能有:1 .能够实现对新车的入库工作。2 .能够修改汽车信息。3 .能按销售新车来管理汽车销售信息。4 .能够查询汽车信息。5 .能够删除汽车信息。6 .显示汽车库存信息。7. 能够实现对汽车品牌、汽车进价、姓名
3、的排序。8. 能够实现退出系统。三.概要设计1 .功能模块图;登录系统输入密码汽车销售管理系统欢迎界面1.能能快现对个模田的5述新车小人小作。创建汽车产品息文|件,根据提示输入若干汽车的信息,件,并膜示用户选择是否继续进行修改操作。3 .能按销售新车来管理汽车销售信息。创建一个销售记录文件,每完成一次销售,就按销售信息的要求输入各项数据,并将该次的销售信息添加到文件中,同时修改相应的汽车产品信息文件(主要是修改其库存数量)4 .能够查询汽车信息。输入产品名称,在汽车产品信息文件中查找相应的汽车信息并输出5 .能够删除汽车信息。提示用户输入要进行删除操作的产品名称和产品型号,如果在产品信息文件中
4、有该信息存在,则将对应的汽车信息删除,否 则输出提示信息,并提示用户选择是否继续进行删除操作。6 .显示汽车库存信息。打开汽车信息文件,输出文件内汽车信息。7. 能够实现对汽车品牌、汽车进价、姓名的排序。按不同条件进行排序操作,输出满足条件的笔记本电脑信息,8. 能够实现退出系统四.详细设计1.各功能函数的流程图修改数据(case ' 2')曲售管理(case ' 3 ') 杳询管理(case '4')删险管理(case '5') 显示库存(case ' 6') 排序管理(case '7')入库管理
5、结束管理(case ' 8')输入入库汽车信息输入完毕返回主菜单修改管理输 入 要 修 改存在/显 示 汽 车 的提示修改项汽车 修改抽成1=1是否继续销售管理返回主蒸单品聃要销售为式的品惘询模块息输出利润显示现有库存是否继续继益查询按1,退出查询按、返回主界面入显删除管理要删显淌模块确认删除1显示结束删 除删除 后所 有汽 车的 信息是否返回函1菜单选 择 排 序按品牌排序struct carmarket排序管2.重,州:计及编码返 回 主 菜1单char carname15;品牌名char model10;/ 型号float saleprice;/进价float soldp
6、rice;/售价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;char s8;system("color 1b");五测试数据及运行结果1正常测试数据和运行结果1: 入库管理2: 修改管理3: 销售管理2异常测试数据及运行结果
7、1: 查询管理2: 删除管理六调试情况,设计技巧及体会1改进方案程序大体上还算成功,其中的几个模块都达到了我预期想要的效果,条理也较清晰,这是我比较满意的地方。但是也有不足之处,就是密码不能进行修改的操作,而只是简单的事永远是使用原始密码,这是有待完善的,而且有些地方用起来不大方便,不好操作,需要进一步完善。2体会1) 对 C 语言的编程实践有所认识。2) 在遇到程序调试不通过时,会通过缩小范围的分析来锁定问题所在。3) 通过这次实验,熟悉了从自然语言转换成伪代码再转换为流程图的过程。各功能函数的流程图4) 在程序中设定合适的全局变量,可以简化程序的编写难度。5) 通过本次C 语言上机实验,我
8、对这个介于人类与非人类之间的计算机编程语言有了一定的体验。随着实验的成功与报告的完成,有点微微的成就感使人难忘。伴随着学习的深入,我发现高深的东西还有很多很多,等待着我自己去挖掘。对C语言的学习,我会加倍努力。七参考文献 C 语言程序设计(王曙燕/主编科学出版社) C 程序设计(谭浩强/主编清华大学出版社) C 语言程序设计习题解析与应用案例分析(黄维通谢孟荣 编着)八附录:源程序#include<stdio.h>#include<string.h>#include<stdlib.h>#include<conio.h>struct carmark
9、etchar 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;in
10、t 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(x>0);if(!flag)printf(" 你已经输入三次错误密码!");exit(0);back:/goto
11、点 0system("cls");/ 清屏包含在stdlib.h 头文件中,执行清屏操作/ 系统菜单puts("");puts("");puts("*");puts("$");puts("$欢迎使用汽车销售管理系统$");puts("$");puts("$1.入库管理$");puts("$");puts("$2.修改数据$");puts("$");puts("$3.销
12、售管理$");puts("$");puts("$4.查询信息$");puts("$");puts("$5.删除管理$");puts("$");puts("$6.显示库存$");puts("$");puts("$7.排序管理$");puts("$");puts("$8.退出系统$");puts("$");puts("*");printf("
13、请选择(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); / 建完
14、关闭,以便用r+ 方式打开goto back;/ 返回点 0for(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(" 录入新车请按1.nn");scanf("%d",&temp3); /输入选项if
15、(temp3=1)system("cls");printf(" 要录入的汽车有几种:");scanf("%d",&n);/ 输入要录入的汽车有几种 for(i=0;i<n;i+)/ 依次录入库存 system("cls");printf(" 请输入汽车信息n 品牌名 : ");scanf("%s",carm+i.carname);printf("n型号:");scanf("%s",carm+i.model); printf
16、("n进价:");scanf("%f",&carm+i.saleprice); printf("n售价:");scanf("%f",&carm+i.soldprice); printf("n辆数:");scanf("%d",&carm+i.num);for(i=0;i<n;i+)/ 将文数据件写入文件中fprintf(fp,"%7s %7s %7.2f %7.2f %7d0.00n",carm+i.carname,carm+i
17、.model,carm+i.saleprice,carm+i.soldprice,carm+i.num);/格式控制0.00 为盈利值fclose(fp);/ 关闭文件printf(" 您的操作已经完成!n");printf(" 品牌型号 进价 售价 辆数 n");/ 在屏幕上输出录入的信息for(i=0;i<n;i+)/左对齐输出printf("%-7s %-7s %-7.2f %-7.2f %-7dn",carm+i.carname,carm+i.model,carm+i.saleprice,carm+i.soldprice
18、,carm+i.num); printf(" 请按任意键返回主菜单n");getch();goto back;/返回点 0case '2':/ 修改数据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, &c
19、arm.gain);back2:/goto点 1system("cls");/ 清屏printf("品牌型号 进价 售价 辆数 n");for(k=0;k<m;k+)/ 输出原来汽车库存的信息printf("%-7s %-7s %-7.2f %-7.2f %-7d n",cark.carname,cark.model,cark.saleprice,cark.soldprice,cark.num);printf("n请输入品牌名: ");/输入要改变库存量的信息scanf("%s",temp
20、1);printf("n请输入型号:");scanf("%s",temp2);for(k=0;k<m;k+)/ 数据进行比较是否存在if(strcmp(cark.carname,temp1)=0&&strcmp(cark.model,temp2)=0) break;if(k=m)/ 如果不存在 printf(" 您输入的汽车不存在。n");printf("n 请返回重新输入按任意键.");getch(); goto back2;/ 返回点 1printf("品牌型号 进价 售价 辆数
21、 n");printf("%-7s %-7s %-7.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请输入
22、改变的辆数:");scanf("%d",&cark.num);remove("c:car.txt"); /删除原文件fp=fopen("c:car.txt","w+"); /创建新文件for(i=0;i<m;i+)/ 在新文件中写入fprintf(fp,"%7s %7s %7.2f %7.2f %7d %7.2fn",cari.carname,cari.model,cari.saleprice,cari.soldpri ce,cari.num,cari.gain);fcl
23、ose(fp);printf(" 修改成功nn");printf("品牌型号 进价 售价 辆数 n");printf("%-7s %-7s %-7.2f %-7.2f %-7dnn",cark.carname,cark.model,cark.saleprice,cark.soldprice,cark.num);/输出改变之后的信息printf(" 修改已完成。nn1( 继续 )nn2( 退出 )n");scanf("%d",&temp3);if(temp3=1)goto back2;el
24、segoto 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(&quo
25、t; 品牌型号 进价 售价 辆数 盈利 n");sum=0;/ 算总盈利之用for(k=0;k<m;k+)/ 在屏幕上输出库存信息printf("%-7s %-7s %-7.2f %-7.2f %-7d %-7.2fn",cark.carname,cark.model,cark.saleprice,cark.soldprice,cark.num,cark.gain);sum=sum+cark.gain;/ 计算总盈利printf("n 总盈利:%.2fnn",sum);/ 输出总盈利printf(" 请输入卖出汽车信息nn 品牌
26、名 : "); / 输入信息scanf("%s",temp1);printf("n 型号: ");scanf("%s",temp2);for(k=0;k<m;k+)/对数据进行比较if(strcmp(cark.carname,temp1)=0&&strcmp(cark.model,temp2)=0)break;if(k=m)/ 如果不存在printf(" 您输入的汽车不存在。nn");printf(" 请返回重新输入按任意键.");getch();goto bac
27、k3;/ 返回点 2printf("品牌 型号 辆数 n");printf("n%-7s %-7s %-7d n",cark.carname,cark.model,cark.num);/输出要销售的汽车信息printf("n 请输入卖出辆数:");scanf("%d",&temp3);cark.num=cark.num-temp3;/ 计算件数cark.gain=cark.gain+(cark.soldprice-cark.saleprice)*temp3;/计算盈利remove("c:car.t
28、xt"); /删除原文件fp=fopen("c:car.txt","w+"); /创建新文件for(i=0;i<m;i+)/ 在新文件中写入数据fprintf(fp,"%7s %7s %7.2f %7.2f %7d %7.2fn",cari.carname,cari.model,cari.saleprice,cari.soldpri ce,cari.num,cari.gain);fclose(fp);printf("品牌 型号 辆数 n");printf("%-7s %-7s %-7d n
29、",cark.carname,cark.model,cark.num);/输出销售后的汽车信息printf(" 您的操作已经完成!nn");printf(" 品牌型号 进价 售价 辆数 盈利 n");sum=0;for(k=0;k<m;k+) / 在屏幕上输出库存信息printf("%-7s %-7s %-7.2f %-7.2f %-7d %-7.2fn",cark.carname,cark.model,cark.saleprice,cark.soldprice,cark.num,cark.gain);sum=sum+
30、cark.gain;/ 计算总盈利printf("n 总盈利:%.2fnn",sum);/ 输出总盈利printf(" 销售已完成。nn1( 继续 )nn2( 退出 )n");scanf("%d",&temp3);if(temp3=1)goto back3;elsegoto back;case '4':/ 查询i f(fp=fopen("C:car.txt","r+")=NULL)/打开文件printf(" 文件打不能打开!n");/ 提示文件打不开g
31、etch();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);back4:system("cls");printf(" 请输入要查询的汽车的信息nn");/ 输入要查询的汽车的信息printf(" 品牌 :");scanf("%s&q
32、uot;,temp1);printf("n 型号 :");scanf("%s",temp2);for(k=0;k<m;k+)/ 数据进行比较if(strcmp(cark.carname,temp1)=0&&strcmp(cark.model,temp2)=0)break;if(k=m)/ 如果不存在printf(" 您输入的汽车信息不存在。n");printf("n 请返回重新输入按任意键.");getch();goto back4;printf("品牌 型号 进价 售价 辆数 盈利
33、 n");printf("n%-7s %-7s %-7.2f %-7.2f %-7.d %-7.2fn",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("
34、;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);back5:/goto点 5system("cls"); prin
35、tf(" 品牌型号 进价 售价 辆数 盈利 n");sum=0;/ 在屏幕上输出库存for(k=0;k<m;k+) printf("%-7s %-7s %-7.2f %-7.2f %-7.d %-7.2fn",cark.carname,cark.model,cark.saleprice,cark.soldprice,cark.num,cark.gain); sum=sum+cark.gain;/ 计算总盈利printf("n 总盈利:%.2fnn",sum);printf(" 请输入要删除的汽车的信息nn")
36、;/ 输入要删除的汽车的信息printf(" 品牌 :"); scanf("%s",temp1);printf("n 型号 :");scanf("%s",temp2);for(k=0;k<m;k+)/ 数据进行比较if(strcmp(cark.carname,temp1)=0&&strcmp(cark.model,temp2)=0) break;if(k=m)/ 如果不存在 printf(" 您输入的汽车信息不存在。n");printf("n 请返回重新输入按任意
37、键.");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:ca
38、r.txt","w+"); /创建新文件printf("n 品牌 型号 进价 售价 辆数 盈利 n");/ 删除完后在文件夹中写入和在屏幕显示剩 下的汽车信息 for(i=0;i<m;i+) if(i!=k) fprintf(fp,"%7s %7s %7.2f %7.2f %7d %7.2fn",cari.carname,cari.model,cari.saleprice,cari.soldpri ce,cari.num,cari.gain);printf("%-7s %-7s %-7.2f %-7.2f %
39、-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);printf("n 按任意键返回菜单.");getch();goto back;/ 返回主菜单case '6':/ 显示库存if(fp=fopen("C:car.txt","r+&quo
40、t;)=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"
41、);/ 在屏幕上显示数据for(k=0;k<m;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)/打开文件
42、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);back7:system("cls"); printf("n 请选择排序标准?nn1( 按品牌排序)nn2( 按进价排序)nn3( 按利润排序)n");scanf("%d",&temp3);if(temp3=1)/按品牌排序 for(i=0;i<m-1;i+) for(j=i+1;j<m;j+)if(strcmp(cari.carname,carj.carname)>0) carname_order=cari;cari=carj;carj=carname_o
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 施工安全隐患排查工具试题及答案
- 注册土木工程师考试研究生课程试题及答案
- 制造业绿色供应链管理在绿色物流中的绿色运输车辆管理优化报告
- 物理模型问题解析及答案2025年
- 2025年制造业数字化供应链协同产业协同技术创新研究报告
- 查验员考试题及答案
- 能源行业数字化转型智能电网优化:智能电网设备运维与健康管理报告
- 生鲜新零售行业2025年供应链优化与冷链物流解决方案报告
- 家具行业的市场竞争与产品设计创新相结合的研究试题及答案
- 控烟知识试题及答案解析
- 风电基础施工方案
- ICD-10疾病编码完整版
- 肩关节超声检查
- 毕业论文-中小企业防火墙的应用
- 可穿戴式设备安全可靠性技术规范 腕戴式设备
- 内科学动脉粥样硬化和冠状动脉粥样硬化性心脏病
- ×××章程修订对比表
- 《运算的意义》(教学设计)-2023-2024学年六年级下册数学北师大版
- 高效养中蜂关键技术
- 广州小学六年级英语下册知识点归纳和习题(全册)
- (正式版)JTT 1482-2023 道路运输安全监督检查规范
评论
0/150
提交评论