可编辑控制台输出
Editable Console Output
这是我想写的一些代码的一部分:
//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',你可能已经注意到。这不起作用,因为它给了我一个回车,即它移动到行开头。我希望它只向后移动一个字符,而不是移到行首
This This:
#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
}
这不是你想要的,但它是最接近的,可以用最少的返工。
相关文章:
- C++:将控制台输出存储在宏中更好吗
- 在while循环中输入带有std::cin的字符串后,控制台会输出大量胡言乱语
- 如何修复此iFile以将.txt输出到控制台
- 在Qt Creator中,如何在连接到正在运行的进程后查看控制台输出
- 控制台输出在 Qt5 中未正确显示
- 有人可以向我解释为什么控制台输出 0 吗?
- 如何从 Win32 C++ 应用程序输出到父控制台窗口?
- 为什么即使使用 for 循环遍历我的向量,它也没有输出到控制台?(C++)
- 使用 std::string_view 的子字符串控制台输出
- 从文件读取并通过矢量输出到控制台
- 在这种情况下,如何防止C++输出/控制台窗体关闭
- 如何在C++中居中输出控制台窗口
- boost::log 输出到 Visual Studio 输出控制台 - 为格式添加额外的 LF/CR
- C++:我如何保持我的程序(输出控制台)的活力
- 如何在Visual Studio中设置输出控制台宽度
- 如何在Qt GUI应用程序中嵌入输出控制台窗口
- 在Visual Studio中使用GLUT库,没有错误,但输出控制台不起作用
- 只在调试模式下输出控制台
- 简单的输入/输出控制台应用程序,不按给定的顺序(结构)打印问题
- Visual Studio 2012 - 嵌入式输出控制台,而不是cmd