C – 等待用户输入但打印下一行

C – 等待用户输入但打印下一行,第1张

概述所以我用ascci制作一个GUI,我想等待用户输入打印ascci边框的最后一行.截至目前,它将等待用户输入,然后打印最后一个ascci边框线.有没有什么办法解决这一问题? 我想要的例子: 登录屏幕 ====================================================== Welcome to Bank Beta 0.1 --- 所以我用ascci制作一个GUI,我想等待用户输入但打印ascci边框的最后一行.截至目前,它将等待用户输入,然后打印最后一个ascci边框线.有没有什么办法解决这一问题?

我想要的例子:

登录屏幕

======================================================        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        << "\t\tWelcome to Bank Beta 0.1" << endl        << "\t\t------------------------" << endl << endl        << "\t\t (1)Login" << endl        << "\t\t (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));    }#endif

如果您不需要平台独立性,可以删除它们中的任何一个,但同时使用它们都不会造成任何伤害.现在有趣的部分:

voID login (){    cout << "======================================================" << "\n"    << "\t\tWelcome to Bank Beta 0.1" << "\n"    << "\t\t------------------------" << "\n\n"    << "\t\t (1)Login" << "\n"    << "\t\t (2)Create Account" << "\n\n";    gotoxy(0,7);    cout << "======================================================" << "\n";    gotoxy(0,6);    cout << "\t\t";}int main(){     int loginChoice;    login();    gotoxy(0,8);    cin >> loginChoice;    _getch();}

写作和阅读现在彼此独立,你也可以更容易地处理所有的职位.

总结

以上是内存溢出为你收集整理的C – 等待用户输入但打印下一行全部内容,希望文章能够帮你解决C – 等待用户输入但打印下一行所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/langs/1257952.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-06-07
下一篇 2022-06-07

发表评论

登录后才能评论

评论列表(0条)

保存