#include
typedef
struct
{
long
number
//用户编号
6位
char
name[20]
/姿宴/用户态闭名
char
password[8]
//用户密码
int
power
//权限判断
1
为管理帆册裂员2为普通用户
}
user
user
yh[100]={100000,"gavin","gavine",1,100001,"wnag","wangf",2}
int
length
=
2
int
checkuser(long
num,
const
char
*nm,
const
char
*pwd)
{
int
i
for
(i
=
0
i
<
length
++i)
{
if
(yh[i].number
==
num
&&
!strcmp(yh[i].name,
nm)
&&
!strcmp(yh[i].password,
pwd))
{
if
(1==yh[i].power)
return
1
else
return
2
}
}
}
void
main()
{
printf("%d\n",
checkuser(100000,
"gavin",
"gavine"))
}
- -|这么多问题才10分...
给你一个密文输出的程序好了做搭..
其他自己想.
#include <stdio.h>
main()
{
char str[9] //密码串长9为
inputPW(str,8) //有效密码长为8 最后一位要放\0 结束符的!
printf("\n密码为: %s",str)
}
inputPW(char * s,int len)//自己写的密码输入的函数
{
int i
fflush(stdin) //清输入流 跟flushall()类似
for(i=0i++)
{
s[i]=getch()
if(s[i]==13) //输入结束 不能用=='\n'来判断!!
//因为对于回车来说getchar()='\n'=10而getch()=13 !='\n' 这个要知道!
break
if(s[i]==8 &&i>0) //如果用户按退格扮胡宽键 并且要有格可退时候
{
printf("\b \b") //显示退一格
i=i-2 //输入数据退2(因为for循环体会加1 所以实际就是退了1)
continue
}
if(i==len) {i--continue}
printf("*")
}
s[i]='\0' /厅亮/末尾补\0 所以该密码实际有效长度为i-1定义有效长为len 实际定义的串长为len+1
}
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)