c语言如何先显示scanf后面printf再输入 就是要打印出一个框 输入光标在...
发布网友
发布时间:2024-10-20 16:08
我来回答
共4个回答
热心网友
时间:2天前
这样吗?
#include "windows.h"
struct point
{
int x;
int y;
} pt;
void setxy(int x, int y)
{
COORD coord = {x, y};
SetConsoleCursorPosition(GetStdHandle(STD_OUTPUT_HANDLE), coord);
}
void getxy()
{
HANDLE hConsole = GetStdHandle(STD_OUTPUT_HANDLE);
COORD coordScreen = {0, 0}; //光标位置
CONSOLE_SCREEN_BUFFER_INFO csbi;
if (GetConsoleScreenBufferInfo(hConsole, &csbi))
{
pt.x=csbi.dwCursorPosition.X;
pt.y=csbi.dwCursorPosition.Y;
}
}
int main(int argc, char *argv[])
{
int n;
printf("想在这里输入:");
getxy();
printf("\n\n想在上面一行输入");
setxy(pt.x,pt.y);
scanf("%d",&n);
return 0;
}
热心网友
时间:2天前
这么实现比较不常用,所以,建议你放弃这种实现想法,就算费半天劲实现了,也没有什么意义,目前你应该多关注c的算法实现,使用问答形式的输入很好,即一个printf,一个scanf
如果追求界面的友好,使用vc
热心网友
时间:2天前
没办法 除非你去写界面 要不然 按照控制台的习惯 每次光标都会在最后一个
热心网友
时间:2天前
#include<stdio.h>
#include<windows.h>
void gotoxy(int y , int x)
{
COORD pos = {x,y};
HANDLE hOut = GetStdHandle(STD_OUTPUT_HANDLE);
SetConsoleCursorPosition(hOut, pos);
}
main()
{
int i,j,k,n;
for(j=25,k=45,i=10;i<17;i++)
{
gotoxy(i,j);
putchar('*');
gotoxy(i,k);
putchar('*');
}
for(j=10,k=16,i=26;i<45;i++)
{
gotoxy(j,i);
putchar('*');
gotoxy(k,i);
putchar('*');
}
gotoxy(13,35);
scanf("%d",&n);
}