你好,请教个c语言菜单实现清屏功能。就是用switch里面输入一个数子,就实现部分清屏或者全清屏
在标准的c语言中,没有所谓的清屏函数的,特别是部分清屏
c语言它只是一个标准,只有标准的输入/输出函数
而你要的菜单/清屏功能,必须调用系统的函数才能实现(不同系统用户界面设计方式是不同的)
如在windows下面,清屏一般用
system("cls");
而在linux下,它就没有用了,要用
system("clear");
而部分清屏,在windows下可以用
void gotoxy(int x, int y) //位置函数
{
COORD pos;
pos.X = x;
pos.Y = y;
SetConsoleCursorPosition(GetStdHandle(STD_OUTPUT_HANDLE), pos);
}
void clr_scr(int w,int h) //部分清屏,w,h为清除的宽/高
{
int i,j;
for(i=0;i<w;i++)
for(j=0;j<h;j++)
{
gotoxy(i,j);
printf(" ");
}
}
而完整的部分清屏程序如下
#include<stdio.h>
#include <windows.h>
#include <stdlib.h>
void gotoxy(int x, int y) //位置函数
{
COORD pos;
pos.X = x;
pos.Y = y;
SetConsoleCursorPosition(GetStdHandle(STD_OUTPUT_HANDLE), pos);
}
void clr_scr(int w,int h)
{
int i,j;
for(i=0;i<w;i++)
for(j=0;j<h;j++)
{
gotoxy(i,j);
printf(" ");
}
}
int main()
{
int i,j,c;
for(i=0;i<20;i++)
{
for(j=0;j<119;j++)
printf("@");
printf(" ");
}
clr_scr(80,10);
gotoxy(1,20);
}
结果