停车场管理系统 C语言实现 EasyX图形库

一、设计目的

软件算法综合设计是理论教学的深化和补充,具有较强的实践性,是电气信息类各专业的一门重要的实践环节必修课,涵盖《程序设计基础》、《离散结构》、《面向对象程序设计》、《算法与数据结构》等课程知识。为了帮助学生更好地学习,理解和掌握算法设计所需的技术,为整个专业学习打好基础,要求运用所学知识,上机解决些典型问题, 通过分析、设计、编码、调试等各环节的训练,使学生深刻理解、牢固掌握所用到的些技术。本综合设计着眼于原理与应用的结合点,使学生学会如何把书上学到的知识用于解决实际问题,培养软件工作所需要的动手能力。设计还能使书上的知识变“活”,达到深化理解和灵活掌握教学内容的目的。平时的练习较偏重于如何编写功能单一的“小”算法,而综合设计是软件设计的综合训练,包括问题分析,总体结构设计,用户界面设计,程序设计基本技能和技巧,多人合作,以至一整套软件工作规范的训练和科学作风的培养。

二、设计内容

设停车场是一个可停放n辆汽车的狭长通道,且只有一个大门可供汽车进出。汽车在停车场内按车辆到达时间的先后顺序,依次由北向南排列(大门在最南端,最先到达的第一辆车停放在车场的最北端),若车场内己停满n辆汽车,则后来的汽车只能在门外的便道上等候,且有车开走,则排在便道上的第一辆车即可开入;当停车场内某辆车要离开时,在它之后开入的车辆必须先退出车场为它让路,待该辆车开出大门外,其它车辆再按原次序进入车场,每辆停放在车场的车在它离开停车场时必须按它停留的时间长短交纳费用。试为停车场编制按上述要求进行管理的模拟程序。

三、设计任务和要求

1.设计任务

①巩固和加深学生对课程理论知识的理解,提高综合运用书上学到的知识解决实际问题的能力。

②培养学生选用参考书,查阅手册及文献资料的能力。

③使学生能够按要求编写课程设计报告书,正确阐述设计和设计结果、正确绘制程序框图。

2.设计要求

以栈模拟停车场,以队列模拟车场外的便道,按照从终端读入的输入数据序列进行模拟管理。每一组输入数据包括三个数据项:汽车“到达”或“离去”信息、汽车牌照号码及到达或离去的时刻,对每一组输入数据进行操作后的输出信息为: 若是车辆到达,则输出汽车在停车场内或便道上的停车位置:若是车辆离去,则输出汽车在停车场内停留的时间和应交纳的费用(在便道上停留的时间不收费)。栈以顺序结构实现,队列以链表结构实现。

四、可选器材

Visual Studio 2019 、EasyX图形库

五.参考资料

[1]李春葆.数据结构(C语言版)习题与解析[M].北京:清华大学出版社,2009.

[2]严蔚敏 吴伟民.数据结构(C语言版) [M].北京:清华大学出版社,2007.

 

部分代码如下:

#include<stdio.h>#include<string.h>#include<math.h>#include<time.h>#include<conio.h>#include<tchar.h>#include<graphics.h>#include <winsock.h>#include<stdlib.h>//定义的全局变量int STACKSIZE = 50;//停车场的最大容量float price = 0.00055;//每秒停车的价格int nUsersNum = 0;//注册的用户编号(从0开始) int nUsersFlag = 0;//定义判断用户是否登录的标志变量int usersnum = 0;//定义登录的用户编号//宏定义#define USENUM 20000//最大用户数#define STRLENGTH 30//定义用户名长度#define NUMLENGTH 12//定义密码长度 //结构体typedef struct node{wchar_t plate[10];time_t start;time_t end;}Car;//每辆车typedef struct Stack{int top;Car* stack[51];}SqStack;//停车场(顺序栈)typedef struct qnode{Car* data;struct qnode* next;}QNode;typedef struct Node{QNode* front;QNode* rear;int num;}LinkQueue;//便道(链队列)struct Users{wchar_t szName[STRLENGTH];//定义用户名wchar_t password1[NUMLENGTH];//账户密码wchar_t password2[NUMLENGTH];//二次输入密码int nSerialNum;//用户序号(从1开始) }use[USENUM];//每名用户//函数的声明void Welcome(FILE* fp, SqStack s, SqStack* temp, LinkQueue* q);void SaveFile(FILE* fp);void Select_MainMenu(FILE* fp, SqStack* s, SqStack* temp, LinkQueue* q);void Login(FILE* fp);void Register(FILE* fp);void Reset_Password(FILE* fp);void ParkingLot(FILE* fp, SqStack* s, SqStack* temp, LinkQueue* q);SqStack* InitStack(SqStack* s);int InitQueue(LinkQueue* Q);void Parking(FILE* fp, SqStack* s, SqStack* temp, LinkQueue* q);void Leaving(FILE* fp, SqStack* s, SqStack* temp, LinkQueue* q);void Situation(FILE* fp, SqStack* s);void Users_Exit(FILE* fp, SqStack* s, SqStack* temp, LinkQueue* q);

界面展示如下:

 

watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L20wXzQ2OTQzODY3,size_16,color_FFFFFF,t_70

每个模块的功能完整,需要源码可前往:停车场管理系统C语言EasyX图形库-C/C++文档类资源-CSDN下载 

 

 

  • 1
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 6
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 6
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

是不是应该好好学习呢?

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值