C++ 在c+中显示弹出的元素+;?
我在这个节目的最后部分遇到了问题。如何显示已弹出的元素 我试图改变循环,但不能C++ 在c+中显示弹出的元素+;?,c++,C++,我在这个节目的最后部分遇到了问题。如何显示已弹出的元素 我试图改变循环,但不能 #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(ti
#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->Push\t\n 2->Pop \t\n 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->Push\t\n 2->Pop \t\n 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 Penuh\n";
else
{
cout<<"\nHuruf Character: ";
cin>>data;
t->atas++;
t->senarai[t->atas]=data;
cout<<"\nKandungan Timbunan :\nIndex | Data\n";
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 Kosong\n";
else
{
t->atas--;
cout<<"\nkandungan Timbunan :\nIndex | data\n";
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];
}
}
#包括
typedef结构TINDANAN
{
int atas;
char senarai[4];
}丁达南;
无效cipta(tindanan*t);
无效推力(tindanan*t);
void pop(tindanan*t);
内特佩努(tindanan*t);
国际歌松(tindanan*t);
void main()
{
i.贾瓦潘市皮利汉内;
丁达南t;
cipta&t;
库特>比利汉;
while(比利汉!=3)
{
开关(皮利汉)
{
案例1:推送(&t);
打破
案例2:pop&t;
打破
默认值:cout>pilihan;
}
}
无效cipta(tindanan*t)
{
t->atas=-1;
}
内特佩努(廷达南*t)
{
如果(t->atas==3)
申报表(1);
其他的
返回(0);
}
无效推力(tindanan*t)
{
int i;
字符数据;
如果(penuh(t)==1)
coutsenarai[t->atas]=数据;
cout-1;我--)
无法使pop返回一个值,并使该值等于正在弹出的元素(在我看来,这是您打印的值)。我不确定您在pop函数中的第二个循环中到底想做什么,但此修改的pop应显示弹出的值以及现有内容
void pop (tindanan *t)
{
int i;
if(kosong(t) == 1)
cout<<"\nTindanan Kosong\n";
else
{
cout<<"\nPop Item: " << (t->senarai[t->atas]);
t->atas--;
cout<<"\nkandungan Timbunan :\nIndex | data\n";
for(i = t->atas; i > -1; i--)
cout<<" | "<<i<< " | "<<( t->senarai[i]);
}
}
void pop(tindanan*t)
{
int i;
if(kosong(t)==1)
cout将其翻译成英语将是一个很好的第一步。如果您修复代码格式,您可能会得到更多答案。添加选项卡等。也有一段时间没有看到使用
了!是否要显示每个弹出的itme?除了使用cout
,这看起来不像是一个很好的C++
解决方案。再买一本书或者teacher.ya,显示每个元素被弹出的时间。如何显示值被弹出?或者被删除。在你减少atas(t->atas--)之前,这个(t->senarai[t->atas])就是弹出的值。所以,打印出来,或者从函数返回。好的,非常感谢你的帮助。
char pop (tindanan *t)
{
char popped_item = -1;
int i;
if(kosong(t) == 1)
cout<<"\nTindanan Kosong\n";
else
{
cout<<"\nPop Item: " << (t->senarai[t->atas]);
popped_item = t->senarai[t->atas];
t->atas--;
cout<<"\nkandungan Timbunan :\nIndex | data\n";
for(i = t->atas; i > -1; i--)
cout<<" | "<<i<< " | "<<( t->senarai[i]);
}
return popped_item;
}