qq_37887964 2017-04-03 15:11 采纳率: 0%
浏览 1099

求问数据结构基础循环队列问题,完善修改一下代码

编程建立循环队列存储结构,对排队买票过程进行模拟,要求程序在控制台屏幕上显示菜单:1.排队—输入新到达的买票人姓名,加入买票队列中。 2.售票—排队队列中最前面的人买票成功,显示信息并将其从队列中删除。3.—查看队列—从队首到队尾依次列出所有排队人姓名;4.—结束退出系统。 “排队”时,若队满,提示等待。 售票时,若队空,提示无人排队(售票失败)

#include <string>
using namespace std;


typedef string QElemType;
typedef int Status;


//--------------(队列的顺序存储结构)-------------  
typedef struct QUEUE
{
    QElemType *base;//初始化的动态分配存储空间  
int front;//头指针  
int rear;//尾指针  
}SqQueue;
Status InitQueue(SqQueue &Q)
{
    Q.base = (QElemType*)malloc(10*sizeof(QElemType));//初始化队列  
    if (!Q.base)
    {
        exit(0);
    }
    Q.rear  = Q.front = 0;
    return 1;
}
Status QueueEmpty(SqQueue Q)//判断队空
{
    if (Q.front == Q.rear)
    {
        return 1;
    }else
    {
        return  0;
    }
}
Status EnQueue(SqQueue &Q, QElemType e)//排队
{
    if ((Q.rear+1) % 10==Q.front)//如果队满  
    {
        return 0;
    }
    Q.base[Q.rear] = e;
    Q.rear = (Q.rear+1) %10;
    return 1;
}
Status Dequeue(SqQueue Q, QElemType &e)//售票
{
    if (Q.front == Q.rear)//队空   
    {
        return 0;
    }
    e = Q.base[Q.front];
    Q.front = (Q.front + 1) %100;

    return 1;
}
Status QueueTraverse(SqQueue Q, QElemType e)//查看队列
{
    int i;
    i = Q.front;
    while (i!= Q.rear)
    {   cout << Q.base[i];
        i = (i + 1) %10;
    }
    cout << endl;

    return 1;
}

int main()
{
    cout << "排队:1    售票:2    查看队列:3   结束:4" << endl;
    Status InitQueue();
    int a;
    loop:cin >> a;
    if (a == 1) {
        int b;
        string e;
        cin>>e;
        Status EnQueue(SqQueue &Q, QElemType e);
        b = EnQueue;
        if (0); cout<< "waiting" <<endl;
        goto loop;
    }
    if(a==2)
    {
        char e;
        Status Dequeue(SqQueue Q, QElemType &e);
        if (Dequeue==0); cout << "no man waiting!" << endl;
        if (Dequeue==1); cout << e << "购票成功" << endl;
        goto loop;
    }
    if (a == 3)
    {
        Status QueueTraverse();
        goto loop;

    }
    if (a == 4); return 0;
}

```不懂返回值。。

  • 写回答

1条回答 默认 最新

  • threenewbee 2017-04-03 15:34
    关注
    评论

报告相同问题?

悬赏问题

  • ¥15 名为“Product”的列已属于此 DataTable
  • ¥15 安卓adb backup备份应用数据失败
  • ¥15 eclipse运行项目时遇到的问题
  • ¥15 关于#c##的问题:最近需要用CAT工具Trados进行一些开发
  • ¥15 南大pa1 小游戏没有界面,并且报了如下错误,尝试过换显卡驱动,但是好像不行
  • ¥15 没有证书,nginx怎么反向代理到只能接受https的公网网站
  • ¥50 成都蓉城足球俱乐部小程序抢票
  • ¥15 yolov7训练自己的数据集
  • ¥15 esp8266与51单片机连接问题(标签-单片机|关键词-串口)(相关搜索:51单片机|单片机|测试代码)
  • ¥15 电力市场出清matlab yalmip kkt 双层优化问题