ユーザーからの入力を読み取る必要があります。入力値は、文字列型またはint
型の場合があります。値が次の場合int
、プログラムは値をオブジェクトに挿入します。それ以外の場合、値が文字列の場合はその文字列の値をチェックする必要があり、「終了」の場合はプログラムが終了します。
Halda h; //my object
string t;
int tint;
bool end=false;
while(end!=true)
{
if(scanf("%d",&tint)==1)
{
h.insert(tint);
}
else if(scanf("%s",t)==1)
{
if(t=="end")
end=true;
else if(t=="next")
if(h.empty()==false)
printf("%d\n",h.pop());
else
printf("-1\n");
}
}
問題は、文字列のスキャンが正しく機能していないように見えることです。私はそれを次のように変更しようとしました:if(cin>>t)
そしてそれはうまくいきました。で動作させる必要がありscanf
ます。