C语言课程设计——让我帮你把界面美观分拿满

哈喽大家好,在C语言程序设计中,界面美观是评分标准之一。
下面向大家介绍几个有助于界面美观的小技巧

光标移动函数

无需考虑太多,哥给你封装了个函数,直接用。
调用传值函数: goto_xy(2,3); 
即可实现在控制台界面将光标移动至第二行,第三列。
记得引用头文件 #include<Windows.h> 以及 #include<stdio.h>
attention : 以左上角为坐标原点,从 0 开始,向下为向右为正方向。
代码如下:
void goto_xy(short x, short y)//定位光标位置到指定坐标
{
	HANDLE hOut;
	hOut = GetStdHandle(STD_OUTPUT_HANDLE);
	COORD pos = { x,y };
	SetConsoleCursorPosition(hOut, pos);
}

实现输入密码变成 * ,并且可以退格

初步想法是,创建一个字符数组。每当读入一个字符,就 printf("*"); 
并且同时识别出 Backspace 和 Enter 键,通过刚才介绍的光标移动函数
即可实现退格和结束输入。
下面是代码:
#include<stdio.h>
#include<conio.h>
#include<Windows.h>
void goto_xy(short x, short y)//定位光标位置到指定坐标
{
	HANDLE hOut;
	hOut = GetStdHandle(STD_OUTPUT_HANDLE);
	COORD pos = { x,y };
	SetConsoleCursorPosition(hOut, pos);
}
int main()
{
	printf("_______________________");
	goto_xy(0,0);
	char initial_input[40] = "0";
	int i = 0;
	char ch;
	while (1)
	{
		ch = getch();
		if (ch == '\r')
			break;
		if (ch == '\b')
		{
			if (i > 0)
			{
				i--;
				initial_input[i] = '\0';
				goto_xy(i,0);
				printf("_");
				goto_xy(i,0);
				continue;
			}
			continue;
		}
		else
		{
			initial_input[i] = ch;
			i++;
			printf("*");
		}
	}
	return 0;
}
将上述代码光标跳转函数的参数进行调整(可以使用变量进行传值),
便可以很好地移植到你的程序设计中。

获取输入密码属性

刚刚以字符形式输入密码,可通过以下方式简单获知输入数字的合法性,长度和数值。
#include<stdio.h>
#include<math.h>
#include<string.h>
#include<ctype.h>
int initial_input_length = 0;
initial_input_length = strlen(initial_input); //输入数字的长度
for (int i = 0; i < initial_input_length; i++)
	{
		if (!isdigit(initial_input[i]))
		{
			break;  //检测每个输入是否都为数字
		}
	}
int count = 0;
for(int i = 0;i < initial_input_length;i++)
{
	count += (initial_input[i] - 48) * pow(10,initial_input_length - 1 - i);
}
printf("%d",count);  //输入数字的数值
上面的代码使用了 isdigit() 函数,该函数包含于 include<stype.h> 头文件中,可以便利地检测字符属性。
该头文件中还包含有很多其他便于检测字符属性的函数,
[进入这个网页,了解更多 ctyep.h ](https://blog.csdn.net/m0_61030119/article/details/121674665)

清屏、睡眠函数

在程序设计中,常常从一个页面进入下一个页面。如果一直 print 页面信息,效果相当不美观。
这时可以使用法宝:清屏函数。
#include<stdio.h>
#include<Windows.h>
int main()
{
	
	printf("123");
	system("cls");
	return 0;
}

清屏函数包含于头文件 #include<Windows.h> 中,同样包含于这个头文件中的另一个很好用的函数是睡眠函数。

#include<stdio.h>
#include<Windows.h>
int main()
{
	
	printf("123");
	Sleep(2000);
	system("cls");
	return 0;
}

睡眠函数 Sleep() 使得程序执行到这段代码的时候稍作休息。
括号内的数字表示毫秒,所以 Sleep(2000) 即代表程序暂停两秒钟。

改变字体颜色和字体背景色

黑白框框看腻了吗?改变控制台字体颜色,来点儿新鲜的吧。在笔者上一篇 SCDN 中详细介绍了三种改变控制台字体颜色和背景色的方法。戳我查看详情

好啦,今天的介绍就到这里,希望上述内容可以帮到你

在这里插入图片描述

  • 3
    点赞
  • 46
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值