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 运筹学中在线排序的时间在线排序的在线LPT算法
  • ¥30 求一段fortran代码用IVF编译运行的结果
  • ¥15 深度学习根据CNN网络模型,搭建BP模型并训练MNIST数据集
  • ¥15 lammps拉伸应力应变曲线分析
  • ¥15 C++ 头文件/宏冲突问题解决
  • ¥15 用comsol模拟大气湍流通过底部加热(温度不同)的腔体
  • ¥50 安卓adb backup备份子用户应用数据失败
  • ¥20 有人能用聚类分析帮我分析一下文本内容嘛
  • ¥15 请问Lammps做复合材料拉伸模拟,应力应变曲线问题
  • ¥30 python代码,帮调试,帮帮忙吧