您的位置:首页 > 编程语言 > C语言/C++

C语言封装控制输入输出函数

2019-04-20 19:54 106 查看

封装控制输入函数

/*******************************************************************
名称:允许输入字母和数字的函数
参数:
acStr 表示: 保存的数组
iMaxLen表示: 最大输入字符数
iPutType表示:
0 (无控制) 1(只能输入数字) 2(只能输入字母)
3 (只能输入数字和字母)
isPlaintext表示是否显示明文 1表示明文
***************************************************************/
int glb_putString(char acStr[100], int iMaxLen, int iPutType, int isPlaintext)
测试:参考点菜机项目手册的登录功能,实现用户名和密码的控制输入(用户名要求明文、最长8位、只可数字和字母组成,密码要求暗文及号显示、最长6位、只可数字组成)。如输入的用户名为admin,密码为123456则提示登录成功,否则提示登录失败。

void scanf_(char str[],int maxLen,int type,int isplainText)
{
char ch;
int iLen = 0;
while(1)
{
ch = _getch();
if(iLen>0)
{
if(ch == '\b')
{

printf("\b \b");
iLen--;

}
if(ch == '\r')
{

str[iLen] = '\0';
break;

}
}
if(iLen<maxLen)
{
switch(type)
{
case 0://无控制
{
if(isplainText == 0)
{
putchar(ch);
}
else
{
putchar('*');
}
str[iLen] = ch;
iLen++;
}
break;
case 1://数字输入
{
if(ch >= '0' && ch <= '9')
{
if(isplainText == 0)
{
putchar(ch);
}
else
{
putchar('*');
}
str[iLen] = ch;
iLen++;
}
}
break;
case 2://英文输入
{
if(ch >= 'a' && ch <= 'z' || ch >= 'A' && ch <= 'Z')
{
if(isplainText == 0)
{
putchar(ch);
}
else
{
putchar('*');
}
str[iLen] = ch;
iLen++;
}
}
break;
}
}
}

}

后面其他控制输入功能将后续更新。

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: