C++ 可编辑控制台输出
下面是我试图编写的一些代码的一部分:C++ 可编辑控制台输出,c++,console,conio,C++,Console,Conio,下面是我试图编写的一些代码的一部分: //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"<<
//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);
}
我希望“Choice:A”行每次都使用最近输入的选项进行更新。我希望以前选择的选项(选项A!)的输出替换为新选择的选项的输出
Menu
A. Option A
B. Option B
C. Option C
Q. Quit
Choice: A
Option A!
您可能已经注意到,我尝试使用“\r”。这不起作用,因为它给我一个回车,也就是说,它移回到行的开头。我希望它只向后移动一个字符,而不是移到行的开头。这是:
#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;
do
{
choice=getch();
cout << "\r" << "Choice:\t"; // Moved into the loop
switch(choice)
{
case 'A':
{
cout << "Option A!"; // No more endl
break;
}
case 'B':
{
cout << "Option B!";
break;
}
case 'C':
{
cout << "Option C!";
break;
}
case 'Q':
{
return 0;
}
default:
{
cout << "Invalid Choice! Please try again.";
break;
}
}
}while(1);
cout << endl; // New sole endl
}
#包括
#包括
int main()
{
字符选择;
coutconio应该有一个移动光标的功能。试试看:gotoxy(intx,inty)在标记中添加了conio
,因为我没有注意到你已经在使用这个库了-重新标记可能有助于找到conio专家(并避免像我这样的答案(现在已删除))。