收藏 分销(赏)

C语言课程设计报告泊车系统.doc

上传人:丰**** 文档编号:9701880 上传时间:2025-04-03 格式:DOC 页数:7 大小:58KB
下载 相关 举报
C语言课程设计报告泊车系统.doc_第1页
第1页 / 共7页
C语言课程设计报告泊车系统.doc_第2页
第2页 / 共7页
点击查看更多>>
资源描述
C语言课程设计报告 题 目: 泊车管理系统 学 院: 学 号: 姓 名: 指导教师: 成 绩: 日期: 《泊车管理系统》 一、课程设计的目的与要求 1.目的 本课程设计是学生学习完《C语言程序设计》课程后,进行的一次全面的综合训练,通过课程设计,更好地掌握使用C语言进行程序设计的方法,加深对C语言特点和使用C语言进行程序设计开发过程的理解,加强动手能力。其主要目的是: (1) 进一步培养学生结构化程序设计的思想,加深对高级语言基本语言要素和控制结构的理解; (2) 针对C语言中的重点和难点内容进行训练,独立完成有一定工作量的程序设计任务,同时强调好的程序设计风格。 (3) 掌握C语言的编程技巧和上机调试程序的方法。 (4) 掌握程序设计的常用算法。 2.要求: (1) 要求从所给题目中任选若干个,每个学生必须独立完成课程设计,不能互相抄袭。 (2) 设计完成后,对所完成的工作进行答辩。 (3) 要求写出一份详细的课程设计报告。 (4) 程序设计题目,须提交相应的程序,并需提供加注释的源程序,能正常运行。 二、开发环境 1.硬件环境 : 机器型号: Hewlett-Packard Compaq Presario CQ40 Notebook PC 内存配置: DDR2 SDRAM SO-DIMM 2.软件环境 :操作系统:jdk1.5 + tomcat6 + mysql . 开发工具:Microsoft Visual C++ 6.0 三、题目描述及分析 题目描述: 本程序属于非数值计算型算法设计,学生需要设计出一个简单的泊车模拟系统所需要的基本功能,并设计简单的界面(无需图形化)。假定有10个车位,汽车在到来的时候首先选择车位,然后记录当前停车的时间,在取车的时候再记录取车时间,根据停了多长时间来给出费用,本程序主要考察对自定义函数的熟悉程度,本程序中主要使用到的是数组的相关操作,包括数组的输入、输出、查找、插入、删除等操作,需要对数组有比较深入的掌握。 题目分析: (1)通过提示菜单选择可以进行的操作。 (2)本系统设计不存在需要存放的数据,因此不需要文件操作。 (3)本系统假设收费时间固定,假定每小时收费为5元 (4)本停车场分为两个部分,一部分是停车位(10个),一部分是等候位(3个),所谓等候位就是目前停车场暂时全满,当有一辆车离开腾出一个停车位后,等候位的第一位用户就可以马上停车 (5)等用户选择离开停车场后,根据停车时间给出停车费用 (6)本系统主要包括的功能为: a) 查看目前停车场的停车情况 b) 进入停车场,如果停车场满而等候位不满则可以提示用户是否要在等候位等候,如果用户选择是,则将该车辆放入等候位;如果停车场满而且等候位也满,则提示已无法停车。用户在停车的时候需要选择要停靠的停车位,此时可以根据情况选择是否对输入的停车位正确性作判断,在停靠的时候需要输入牌照和停车位号码 c) 离开停车场,此时输入牌照,系统将计算费用并显示,同时查看等候位是否有车辆,如果有车辆则将等候位的第一辆车移入刚刚的车位,同时将等候位的其他车辆往前移,如果等候位没有车辆则将该停车位清空,需要对输入的牌照进行判断,如果输入错误应给出提示 d) 退出系统 四、程序中使用函数说明 situation():查看停车的情况 parking() :停车的操作 getting() :取车的操作 exit() :退出系统 clock() :时间函数,返回近似调用程序运行时间量的值,该值除以CLOCKS_PER_SEC后转换为秒数。 (clock_t start[10]; clock_t end[10];则是应用的时间函数来计算时间。) 五、课程设计总结或结论 经过这次泊车系统程序设计,让我对自定义函数有了更多的了解。这次泊车系统主要运用了自定义函数,每一个自定义函数中又包括了顺序,选择,循环等结构,使我对这学期所学的编写程序的知识有了更多的认识,也更能熟练的运用。数组的运用使泊车系统程序变的简明,也让我巩固了数组知识。在这次程序设计中,还学会了运用时间函数去求时间,还有控制台的输出输入。这一次完整的程序设计,让我全面的了解了程序设计,无论是从知识方面还是从实践方面,我都有所进步,也使我对程序设计有了更多的兴趣。 六、代码 #include<stdio.h> #include<conio.h> //控制台输入,输出 #include<time.h> void situation(); //停车情况 void parking(); //停车 void getting(); //取车 void exit(); //退出系统 clock_t start[10]; //时间开始 clock_t end[10]; //时间结束 int park[10]={0},wait[3]={0},sum=0;//车位数组,等待车位数组,总车位的和 int select; //操作的选择 void main() { do //主界面 { printf("===========Welcome to Car Parking System==============\n"); printf("1.Show Parking Situation\n"); printf("2.Parking Car\n"); printf("3.Getting Car\n"); printf("4.Exit\n"); printf("======================================================\n"); printf("Please Select:"); scanf("%d",&select); switch(select) //用户选择 { case 1: situation(); break; case 2: parking(); break; case 3: getting(); break; case 4: exit(); break; } getch(); } while(select>=1&&select<4); } void situation() { int i; printf("park area car number\n"); for(i=0;i<10;i++) { if(park[i]==0) printf("%d; no car\n",i); //没有停车的车位 else printf("%d: %d\n",i,park[i]); //已停车的车位 } printf("\n"); } void parking() { int j,b,d; char c; if(sum==13) //是否总车位已满 printf("No parking area!\n"); //既没有空余的车位也没有空余的等候车位 else if(sum>=10) //是否有等候车位 { printf("There are ten parking area!\n"); printf("Now Left No Area!\n"); printf("Do you want to wait?<Y/N>"); //是否想停入等候车位 scanf("%c",&c); //输入Y或N switch(c) { case 121: //停入等候车位 { int m,h; printf("Please input car number:"); scanf("%d",&h); for(m=0;m<3;m++) { if(wait[m]==0) { wait[m]=h; break; } } sum=sum+1; } case 110: //不停入等候车位 printf("Thank you for using this system\n"); printf("\n"); select=4; break; } } else if(sum>=0&&sum<10) //有车位 { printf("There are ten parking area!"); printf("Now Left"); for(j=0;j<10;j++) //空余车位 { if(park[j]==0) printf("%d",j); } printf("Area!\n"); printf("Which one do you want to park?"); scanf("%d",&b); //输入停入的车位号 if(park[b]!=0) printf("There is a car in this area!\n"); else if(b<0||b>9) { printf("No this parking area number!\n"); } else { printf("Please input car number:"); //输入车牌号 scanf("%d",&d); park[b]=d; start[b]=clock(); sum=sum+1; } } printf("\n"); } void getting() { int n,a; double t,money; printf("Please input you car number:"); scanf("%d",&a); for(n=0;n<10;n++) { if(park[n]==a) { end[n]=clock(); t=(end[n]-start[n])*1.0/CLOCKS_PER_SEC; //计算总共时间秒数 money=t/3600*5; //需支付的钱数 printf("You must pay %lf yuan\n",money); sum=sum-1; if(wait[0]!=0) //等候车位的第一位代替取走车得车位 { park[n]=wait[0]; int p; for(p=0;p<2;p++) //每个等候车位向前前进一个车位 { wait[p]=wait[p+1]; } wait[2]=0; } else { park[n]=0; } select=4; break; } } if(n==10) printf("Cannot find this car!\n"); //错误提醒 printf("\n"); } void exit() { printf("\n"); }
展开阅读全文

开通  VIP会员、SVIP会员  优惠大
下载10份以上建议开通VIP会员
下载20份以上建议开通SVIP会员


开通VIP      成为共赢上传
相似文档                                   自信AI助手自信AI助手

当前位置:首页 > 包罗万象 > 大杂烩

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        抽奖活动

©2010-2025 宁波自信网络信息技术有限公司  版权所有

客服电话:4009-655-100  投诉/维权电话:18658249818

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :微信公众号    抖音    微博    LOFTER 

客服