これが私が書き込もうとしているコードの一部です:
//Choice Based Menu
#include <iostream.h>
#include <conio.h>
int main()
{
char choice;
cout<<"Menu"<<endl<<endl;
cout<<"A. Option A"<<endl;
cout<<"B. Option B"<<endl;
cout<<"C. Option C"<<endl;
cout<<"Q. Quit"<<endl;
cout<<endl<<"Choice:\t";
do
{
choice=getch();
cout<<choice<<"\r";
switch(choice)
{
case 'A':
{
cout<<endl<<"Option A!";
break;
}
case 'B':
{
cout<<endl<<"Option B!";
break;
}
case 'C':
{
cout<<endl<<"Option C!";
break;
}
case 'Q':
{
return 0;
}
default:
{
cout<<endl<<"Invalid Choice! Please try again.";
break;
}
}
}while(1);
}
ループは無期限に続くため、前に選択したオプションのコードを実行した後、別の入力オプションを待ちます。
Menu
A. Option A
B. Option B
C. Option C
Q. Quit
Choice: A
Option A!
「Choice:A」の行を、最後に入力したオプションで毎回更新したいと思います。そして、以前に選択したオプション(オプションA!)の出力を、新しく選択したオプションの出力に置き換えたいと思います。
お気づきかもしれませんが、「\r」を使ってみました。キャリッジリターンが表示されるため、これは機能しません。つまり、行の先頭に戻ります。行頭ではなく、1文字だけ後ろに移動したい。