在c++中显示弹出的元素

show the popped element in c++?

本文关键字:元素 显示 c++      更新时间:2023-10-16

我在这个程序的最后一部分有问题。如何显示已弹出的元素?

我试图改变循环,但不能…

#include<iostream.h>
typedef struct TINDANAN
{
    int atas;
    char senarai[4];
} tindanan;
void cipta(tindanan *t);
void push(tindanan *t);
void pop(tindanan *t);
int penuh(tindanan *t);
int kosong(tindanan *t);
void main()
{
    int pilihan,jawapan,i;
    tindanan t;
    cipta(&t);
    cout<<"n1->Pushtn 2->Pop tn 3-> Keluar n pilihan =";
    cin>>pilihan;
    while(pilihan !=3)
    {
        switch (pilihan)
        {
            case 1: push(&t);
                break;
            case 2: pop(&t);
                break;
            default : cout<<"nTidak Sah";
        }
        cout<<"n1->Pushtn 2->Pop tn 3-> Keluar n pilihan =";
        cin>>pilihan;
    }
}
void cipta (tindanan *t)
{
    t->atas =-1;
}
int penuh (tindanan *t)
{
    if (t->atas ==3)
        return (1);
    else
        return (0);
}
void push (tindanan *t)
{
    int i;
    char data;
    if (penuh(t) ==1)
        cout<<"nTindanan Penuhn";
    else
    {
        cout<<"nHuruf Character: ";
        cin>>data;
        t->atas++;
        t->senarai[t->atas]=data;
        cout<<"nKandungan Timbunan :nIndex | Datan";
        for(i=t->atas;i>-1;i--)
            cout<<"| "<<i<< " | "<< t->senarai[i];
    }
    cout<<"n";
}
int kosong (tindanan *t)
{
    if (t->atas ==-1)
        return (1);
    else
        return (0);
}
void pop (tindanan *t)
{
    int i;
    if(kosong(t) == 1)
        cout<<"nTindanan Kosongn";
    else
    {
        t->atas--;
        cout<<"nkandungan Timbunan :nIndex | datan";
        for(i=t->atas;i>-1;i--)
            cout<<" | "<<i<< " | "<<( t->senarai[i]);
        cout<<"nPop Item";
        for(i=3;i>t->atas;i--)
            cout<<"| "<<i<< " | "<< t->senarai[i];
    }
}

对不起,我今年刚学c++。

我不确定你在pop函数中的第二个循环要做什么,但是这个修改后的pop应该显示弹出的值以及现有的内容。

void pop (tindanan *t)
{
  int i;
  if(kosong(t) == 1)
    cout<<"nTindanan Kosongn";
  else
  {
    cout<<"nPop Item: " << (t->senarai[t->atas]);
    t->atas--;
    cout<<"nkandungan Timbunan :nIndex | datan";
    for(i = t->atas; i > -1; i--)
      cout<<" | "<<i<< " | "<<( t->senarai[i]);
  }
}    

但是一般来说,让pop返回项目是有意义的,因为这是事情通常的工作方式。不过,push通常也会获取要推送的项。

或者你可以像这样写pop,它会返回弹出的项目,然后你可以按照你想要的方式显示它。

char pop (tindanan *t)
{
  char popped_item = -1;
  int i;
  if(kosong(t) == 1)
    cout<<"nTindanan Kosongn";
  else
  {
    cout<<"nPop Item: " << (t->senarai[t->atas]);
    popped_item = t->senarai[t->atas];
    t->atas--;
    cout<<"nkandungan Timbunan :nIndex | datan";
    for(i = t->atas; i > -1; i--)
      cout<<" | "<<i<< " | "<<( t->senarai[i]);
  }
  return popped_item;
}    

使pop返回一个值,并使该值等于您正在弹出的元素(在我看来,这是您打印的值)。

相关文章: