如果我有一个“MessageLine”来显示消息和输入提示Input:
像这样:
MessageLine: Type 123!
Input:
然后,键入错误的输入,将显示“错误!”在MessageLine
上:
MessageLine: Wrong!
Input: somewronginput
然后,用户不知道下一步该做什么,我希望第一条消息在3秒后再次显示,但是光标仍处于输入提示符,意味着MessageLine会改变它的消息而不影响输入提示。
我的“MessageLine”或其他任何解决方案都会有一个独立的序列吗?
#include <stdio.h>
#include <conio.h>
#include <dos.h>
#include <string.h>
void msgline(int msg_var){
char *msg[]={
"Type Numbers \"123\"",
"Wrong! Try Again",
"Correct! Press Any Key to Exit..."
};
gotoxy(25,1);
clreol();
printf("Message: %s",msg[msg_var]);// Message Box
}
void main()
{
char inp[256]={0},
answr[]="123";
clrscr();
do{
msgline(0);
printf("\n\nInput: ");
clreol();
scanf("%s",&inp);
if(!strcmp(inp,answr));
else{
memset(inp,0,sizeof(inp));
msgline(1); // Wrong input
delay(3000);
/* delay function also delays the loop
and the cursor is at the message's end of line */
}
}
while(strcmp(inp,answr));
msgline(2); // Correct input
getch();
}