打印出站车的信息。
(3)库函数
Stdio.h /*标准输入/输出头文件*/
String.h /*包含字符串处理函数头文件*/
Stdlib.h /*包含动态存储与释放函数头文件*/ Malloc.h /*包含内存分配头文件*/
4.主要函数思想
本程序是个简单的栈与队列的应用程序,其所用的函数也是栈与队列的基本函数,但在编写函数时应特别注意它的面向对象性与窗口化设计,切身为使用者着想.所以在运用一些函数时调用的基本语句有太多的重复,其目的在于实现它本来的基本目的.
六、软件说明书
本系统为存车信息管理软件,能实现车场存车及便道存车信息的输入,输出,查找等功能,并建立和更新的存车费用信息保存于文件输出或打印。每辆车的相关信息包括:车牌号,进站时间,出站时间,存车位置,(非)会员停车费用等。
该程序是简单的用于运用栈与队列基本知识的工具,不能用于现实中,特别是栈“先进后出”的规则大大限定了该程序的推广,现实世界的车站管理系统比这个远远复杂的多。
--------------------------------------------------------- ※进入演示系统后首先会出现欢迎动画,是一个用户及管理员使用注意事项界面。
该停车场管理系统是个比较简单系统,在应用的时候请注意要求! 如果您有任何问题,请及时联系我们,谢谢合作!
╭------ ╮ ╰-╮ ╭-╯ ..____.╭╮╭╮.___.. ╭╯╰- ╯╰╮-╮ .._.. ╭-┴┴★ ╮ .._.. |◢█◣◢█◣ ||| .._...│ ︵ │ .._.. |██████ ||| .._...│◎ │.._.. |◥████◤ ||| ..※※※╰○---○╯※※※..
11
| ◥██◤ |╯╯ ............................... | ◥◤ | ★∵∴☆★∵∴★∵∴☆★∵∴☆ ╰=============╯
※进入注意事项界面后系统会提示你停车场所容纳的车辆数,输入可容纳车辆后(1-10),进入管理系统界面
◆ * ★☆★☆欢迎使用本停车管理系统☆★☆★ * ◆
*************************************************************** ※ --※ 1. 车辆到达 ※-- ※ ※ --※ 2. 车辆(位置 )离开 ※-- ※ ※ --※ 3. 车辆(车牌号)离开※-- ※ ※ --※ 4. 列表显示 ※-- ※ ※ --※ 5. 退出系统 ※-- ※
*************************************************************** *本停车场管理实行24小时制*\\n\
*本停车场有会员服务,会员0.05/每分钟,非会员0.1/每分钟*
请选择所需要的服务:1|2|3|4|5.
※这时可按照提示进行你想要的操作,对于1-5的具体操作与内容请详见前面的调试分析,您便可以轻松操作了! !注意事项:
1、注意按提示内容输入,以免出错。
2、本系统功能还需完善,操作简单,只是供学习之用,并不能作 为实际生活使用。 七、源程序清单
#include
/*------------------------------------------------------------------------------*/ #define Max 10 char NUM[10];
12
int getn() {
int n;
printf(\请输入停车场可容纳的车(最多10辆):\ scanf(\
fflush(stdin);/*用来清空输入缓存,以便不影响后面输入的东西*/ do{
if(n<1 || n>10) {
printf(\输入的车辆数不在要求范围内,请重新输入!\ scanf(\ fflush(stdin); }
else break; }
while(n<1 || n>10); return n; }
typedef struct time{ int hour; int min;
}Time; /*时间结点*/ typedef struct node{ char num[10]; Time reach; Time leave;
}CarNode; /*车辆信息结点*/ typedef struct NODE{
CarNode *stack[Max+1]; int top; int n;
}SeqStackCar; /*模拟车站*/ typedef struct car{ CarNode *data; struct car *next;
}QueueNode; /*队列结点*/ typedef struct Node{
13
QueueNode *head; QueueNode *rear;
}LinkQueueCar; /*模拟通道*/
void InitStack(SeqStackCar *,int n); /*声明栈*/ int InitQueue(LinkQueueCar *); /*声明便道*/
int Arrival(SeqStackCar *,LinkQueueCar *,int n); /*车辆进站*/
void Leave(SeqStackCar *,SeqStackCar *,LinkQueueCar *,int n); /*车辆出站*/
void List(SeqStackCar,LinkQueueCar); /*显示存车信息*/ /*开头动画*/ void dh1() { printf(\◆ * ★☆★☆欢迎使用本停车管理系统☆★☆★ * ◆ \\n\ printf(\╭/\☆------/\╮ ╭/\------☆/\ ╮\\n\ printf(\│ │ │ \ / │\\n\ printf(\│ ● ● │ │ ● ● │\\n\ printf(\│○ ╰———╯ ○ │ │ 〃╰┬┬┬╯〃 │\\n\ printf(\│ │ │ ╰—╯ │\\n\ printf(\│ │ │ │\\n\ printf(\╰—┬○———○┬—╯ ╰—┬○———○┬—╯\\n\ }
void set1() {
for (int i=15; i>1; i--) {
system(\
for (int j=0; j
printf(\ } dh1(); }
system(\ fflush(stdin); }
/*结束动画*/
void dh2() {
14
printf(\│\__╭╭╭╭╭__/│\\n\ printf(\│ │\\n\ printf(\│ │\\n\ printf(\│ │\\n\ printf(\│ ● ● │\\n\ printf(\│≡ ╰┬┬┬╯ ≡│\\n\ printf(\│ ╰—╯ │\\n\ printf(\│ │\\n\ printf(\│ │\\n\ printf(\╰——┬O———O┬——╯\\n\ printf(\ │ 欢迎下次 │ \\n\ printf(\ │ 光临 │ \\n\ printf(\ ╰┬———┬╯ \\n\}
void out2() {
for (int i=1; i<10; i++) {
system(\
for (int j=0; j
printf(\ }
dh2(); }
exit(0); }
void InitStack(SeqStackCar *s,int n) /*初始化栈*/ {
int i;
s->top=0;
for(i=0;i<=n;i++)
s->stack[s->top]=NULL; }
int InitQueue(LinkQueueCar *Q) /*初始化便道*/ {
15