C语言程序设计实习报告_第1页
C语言程序设计实习报告_第2页
C语言程序设计实习报告_第3页
C语言程序设计实习报告_第4页
C语言程序设计实习报告_第5页
已阅读5页,还剩3页未读, 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

本文格式为Word版,下载可任意编辑——C语言程序设计实习报告

C语言课程设计实习报告

姓名:成帅安学号:20231002605院(系):工程学院专业:土木工程

2023年6月

2023.6中国地质大学C语言课程设计

1

第一章停车场管理系统

§1.1题目描述

1、有一个两层的停车场,每层有6个车位,当第一层车停满后才允许使用其次层,(停车场可用一个二维数组实现,每个数组元素存放一个车牌号)每辆车的信息包括车牌号,层号,车位号,停车时间共4项,其中停车时间按分钟计算。

2、假设停车场初始状态为第一层已经停有4辆车,其车位号依次为1-4,停车时间依次为20,15,10,5。即先将这四辆车的信息存入文件“car.dat\中(数组的对应元素也要进行赋值)。

3、停车操作:当一辆车进入停车场时,先输入其车牌号,再为它分派一个层号和一个车位号(分派前先查询车位的使用状况,假使第一层有空则必需停在第一层),停车时间设为5,最终将新停入的汽车的信息添加文件\中,并将在此之前的所有车的停车时间加5。

4、收费管理(取车):当有车离开时,输入其车牌号,先按其停车时间计算费用,每5分钟0.2元。(停车费用可设置一个变量进行保存),同时从文件\中删除该车的信息,并将该车对应的车位设置为可使用状态(即二维数组对应元素清零)。按用户的选择来判断是否要输出停车收费的总计。

5、输出停车场中全部车辆的信息。6、退出系统。

§1.2算法设计

1、需求分析:车辆信息用文件储存,提供文件的输入输出操作;当车离开时要删除文件中该车的信息,因而要提供文件的删除操作;用键盘式菜单实现功能选择。

2、总体设计思路:整个管理系统设计可设计为停车模块、取车模块、车辆浏览信息模块。

另外车辆停放信息涉及到从car.dat中读取,保存和修改,为了便利起见和程序的模块化,我将文件的读入和保存单独设计为两个子程序。整体模块图如下:

2023.6成帅安2

Main键盘式菜单

输入车辆车牌号存车putCar停车模块saveAll将车辆信息存入car.dat输入车牌号码取车getCar取车模块删除车辆信息显示停车费用showInfo车位信息Exit退出图1.整体模块图3、各子程序设计如下:

(1)使用全局变量数组,用一个二维数组实现停车场车位的信息,intcars[12][4];

2023.6中国地质大学C语言课程设计

3

(2)通过读取car.dat的数据,对程序初始化。下图为car.dat的初始数据:

在init()通过一个for循环完成对car.dat中数据的读取。

for(i=0;i9999)flag=0;

printf(\请重新输入五位数车牌号\\n:\}while(!flag);

其次,读取的车牌号正确之后对标志量清零flag=0,代表没有没有找到车位,进行为车辆找停车位的操作,如下:

flag=0;

for(i=1;i2023.6中国地质大学C语言课程设计

5

其次步,对于输入正确的车辆进行操作:删除车辆信息,再计算费用,再对时间清零并标志取车成功。

第三步,进过上一步后取车不成功时即flag还是为0时,提醒重复输入车牌号直道成功为止。

程序如下:do{

scanf(\

if((temp>9999)i#include#include#include

intpark[12][4];/*停车场使用数组*/voidinit()/*初始化*/{

charfilename[]=\FILE*fp;inti;

if((fp=fopen(filename,\printf(\无法开启文件\\\return;}

for(i=0;i9999)flag=0;

printf(\您输入的车牌号格式有误\}while(!flag);flag=0;

2023.6成帅安8

for(i=0;i9999)i2023.6成帅安10

printf(\*******\\n\

printf(\地大停车场管理系统*\\n\

printf(\1.停车*\\n\

printf(\2.取车*\\n\

printf(\3.当前车位信息*\\n\

printf(\4.退出*\\n\

printf(\*\\n\

printf(\请输入选项:\scanf(\

switch(a){/*菜单项选择择*/case1:putCar();break;case2:getCar();break;case3:showInfo();break;case4:exit(0);break;

default:printf(\您输入的信息有误!\\n\};getchar();}while(1);return0;

}

§1.4试验数据及运行效果截图

1、开启程序进入键盘式界面菜单,选择您所需要进行的操作选项:

2023.6中国地质大学C语言课程设计

11

2、车辆车位的初始化,查看当前车位信息如下:

3、停入车牌号为12345的车

2023.6成帅安12

4、查看当前车位信息:

5、取车并显示费用:

2023.6中国地质大学C语言课程设计

13

6、连续停入多辆车,当停第13辆车时:

7、查看当前车位信息:

2023.6成帅安14

8、输入4程序退出。

§1.5设计中出现的错误及解决方法

错误:停车时车辆无法依照楼层和车位要求停放,查看当前车辆信息时显示为0.

解决方法:对car.dat进行修改楼层号初始化为111111222222车位号初始化为123456123456。在使用停车操作时,车辆从一楼到二楼依次按序停放。即:

2023.6中国地质大学C语言课程设计

15

修改后的程序运行如下:

运行正确。

检验其他功能能否正常运行:取车并计算费用:

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论