等待用户输入,但打印下一行
C++ - Wait for user input but print the next line
所以我用ascci制作GUI,我想等待用户输入,但打印ascci边界的最后一行。到目前为止,它将等待用户输入,然后打印最后一个ascii边界行。有办法解决这个问题吗?
我想要的例子:
登录屏幕
======================================================
Welcome to Bank Beta 0.1
------------------------
(1)Login
(2)Create Account
USER INPUT HERE
======================================================
我得到的例子:
======================================================
Welcome to Bank Beta 0.1
------------------------
(1)Login
(2)Create Account
USER INPUT HERE
下面是我的代码:
void login ()
{
cout << "======================================================" << endl
<< "ttWelcome to Bank Beta 0.1" << endl
<< "tt------------------------" << endl << endl
<< "tt (1)Login" << endl
<< "tt (2)Create Account" << endl << endl;
}
int main()
{
int loginChoice;
login();
cin >> loginChoice;
cout << "======================================================" << endl;
_getch();
}
既然你是在一个基于控制台的GUI上工作,我建议使用某种光标移动功能。这也会为你在对齐"对象"上节省很多时间。
下面是win和unix中移动光标所需的代码
#ifdef _WIN32
#include <windows.h>
void gotoxy(int x, int y)
{
COORD p = { x, y };
SetConsoleCursorPosition(GetStdHandle(STD_OUTPUT_HANDLE), p);
}
#else
#include <unistd.h>
#include <term.h>
void gotoxy(int x, int y)
{
int err;
if (!cur_term)
if (setupterm(NULL, STDOUT_FILENO, &err) == ERR)
return;
putp(tparm(tigetstr("cup"), y, x, 0, 0, 0, 0, 0, 0, 0));
}
#endif
如果您不需要平台独立性,可以删除它们中的任何一个,但是同时拥有它们并没有害处。现在是有趣的部分:
void login ()
{
cout << "======================================================" << "n"
<< "ttWelcome to Bank Beta 0.1" << "n"
<< "tt------------------------" << "nn"
<< "tt (1)Login" << "n"
<< "tt (2)Create Account" << "nn";
gotoxy(0, 7);
cout << "======================================================" << "n";
gotoxy(0, 6);
cout << "tt";
}
int main()
{
int loginChoice;
login();
gotoxy(0,8);
cin >> loginChoice;
_getch();
}
现在的书写和阅读是相互独立的,你也可以更容易地乱搞所有的位置
相关文章:
- 如何使代码打印文本文件中的第一行?
- 如何让字符数组在一行而不是多行中打印出来?
- 有时打印一行,有时打印三行
- 如何在同一行内打印和返回?
- 如何在循环中打印两个相邻的行,同时在 c++ 中将它们都保留在一行中
- 如何在c ++中以一行(水平)打印两个文件的数据?如给定的.这两种形式来自两个不同的文本文件
- 使用更改此变量的函数在同一行中打印引用变量
- 在 c++ 中将uint8_t数组转换为字符串以在一行中打印
- 是否可以让 Bitset 将位打印到一行?
- 如何避免在同一行上进行这种打印?
- C++控制台打印在同一行上,带回车符
- 如何在C++的一行上打印一定数量的值?
- 为什么仅在CSV文件中打印第一行
- c++ 在同一行上打印
- cout 用于仅打印最后一行的 2D 字符串矢量
- 打印一行 2D 字符数组 (C++)
- 如何在C++的下一行打印我的名字
- 需要帮助在同一行打印不带空格的序列
- 最后一行打印两次(C++)
- 说明:如何使用同一行打印文本后删除前一行-