我目前正在做我的第一个学校项目,它涉及一个有多个选项的菜单。
我决定做的是,每次从菜单中选择一个选项,它会清除屏幕,只显示最重要的东西。
。
do {
printf("Menun");
printf("1 - Xn");
printf("2 - Yn");
printf("0 - Exit");
scanf("%i",&op);
switch(op)
{
case 1: {
system("clear");
printf("Option chosen: 1nn");
// The rest of the code inserting into arrays
system("clear");
printf("Option 1 resultsnn");
// Results
break; }
case 2: {
// Other code about listing, for example
break; }
}while(op != 0);
现在,问题是:
在第一次插入时一切顺利,但例如,如果我尝试插入另一个,printf("Option 1 resultsnn");将出现在顶部并且不会被清除。所以它会是这样的:
"Option 1 results"
"Option chosen: 1"
//在文本中插入printfs
应该是:
"Option chosen: 1"
//在文本中插入printfs
我做错了什么吗?
命令为"cls"而非"clear"
try system("cls");
清除屏幕(在Windows上)的更好的方法是包含conio.h
,然后调用函数clrscr()
。它将清除屏幕并将光标放置在终端的开始处。
在conio.h
中有许多功能,可以将光标放置在某个位置或改变终端的颜色