学习日志4

姓名:吴夕雨 日期:2018-9-13
今日学习任务:利用栈和队列来编写一个具有定时功能的停车场程序

今日任务完成情况:虽然其中遇到一些困难,有些不该出的错,但是最终都按要求完成了任务,今日代码达到440行左右。

今日出现的问题汇总:出现次数最多的是大括号不对应,还有一些字母大小写的问题,以及少数函数变量的问题。

今日的开发收获:这个程序我觉得是对之前学习的所有知识的一个汇总,可以说是一个总结和复习,用一个具有实际意义的项目来进行回顾并加以实践并且运行成功,也让我有种成就感。

自我评价:通过这几天对于编程的训练,让我对程序又多了新的理解,跟以前学习C语言时相比,知道了更多的知识和新的用法,尤其是通过今天的编译,相比起以前功能较少的小程序虽说复杂了很多但是能用新的知识解决。

程序部分:

#ifndef PARK_H
#define PARK_H

#include <time.h>
#include<string.h>
#define  MAXSIZE  5
#define  SUCCESS 1000
#define  FAILURE 1001
#define  FULL    1002

struct carinfo
{
    char number[10];
    time_t park_time;
   struct carinfo * next;
};
typedef struct carinfo car;

struct stackinfo
{
    car data[MAXSIZE];
    int top;
};
typedef struct stackinfo stack;

struct queueinfo
{
   car *front;
   car *rear;
};
typedef struct queueinfo queue;
void welcome();
void menu();
void bye();
void Init(stack *s1,stack *s2,queue *q);
int Initstack(stack *s);
int InitQueue(queue *q);
int push(stack *s,char *id);
int EnterQueue(queue *q,char *id);
void EnterPark(stack *s,queue *q);
void ShowParkInfo(stack *s);
int EmptyQueue(queue *q);
void ShowWaitInfo(queue *q);
car pop(stack *s);
void LeavePark(stack *s1,stack *s2,queue *q);
int EmptyStack(stack *s);
char *DelQueue(queue *q);

#endif



main.c

#include<stdio.h>
int main()
{
   int choice;
   stack park_stack,leave_stack;
   queue wait_queue;

   welcome();
   Init(&park_stack,&leave_stack,&wait_queue);


   while(1)
  {
     menu();
    scanf("%d",&choice);
   switch(choice)
{
  case 1:
   EnterPark(&park_stack,&wait_queue);
  break;
  case 2:
     LeavePark(&park_stack,&leave_stack,&wait_queue);
  break;
  case 3:
     ShowParkInfo(&park_stack);
  break;
  case 4:
     ShowWaitInfo(&wait_queue);
  break;
  case 5:
  bye();
  break;
  default:
 printf("shuruyouwu\n");
  break;
  }
}


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值