该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
提示输入用户名和密码。
printf输出提示,scanf读取输入字符串。
并根据其权限提供不同操作界面。如未能通过验证则提示用户重新登录,超过三次则强制退出系统。
定义一个结构体用于保存权限、用户名及密码;
声明一个结构体数组,赋初始值,也就是预先存入不同权限的帐号及它的密码。
再用for循环挨个读取这个结构体数组中的每一个元素;
if语句 + strcmp()函数用来判断输入的帐号是否等于这个预设的帐号;
找到后,再用if语句 + strcmp()函数来判断预设的密码和输入的密码是否一样;
不一样就++错误次数,直到错误次数大于等于3为止,退出程序,可用exit()函数退出整个程序。
密码正确,用if判断一下权限,不同的权限进入不同的菜单,还不如用一个自定义的函数来作为不同权限的操作界面。
如果直到for循环自动结束,那就证明输入的帐号不是预设的帐号,提示重新输入帐号密码,你可以用goto,也可以在外面套个循环。
客户登录到系统后允许使用的系统功能和用户权限有关,普通用户只能进行查询和浏览,具有管理员权限的用户则可进行对商品信息的增、删、改和用户登录信息的管理。
至于权限,你可以用一个变量表示所有权限,例如:
增:1 二进制:00000001
删:1<<1 二进制:00000010
改:1<<2 二进制:00000100
管理:1<<3 二进制:00001000
假设保存权限的变量为“权限”,如果这个“权限” == 15,那就说明有这4个权限,因为15的二进制是:00001111
判断“权限”是否有权限1,就用下面代码:
if((权限 & 权限1) == 增)
return 有该权限;
else return 无该权限;
提示:
& 是按位“与”的运算符,<< 是按位左移的运算符。
能干什么,用if判断一下权限,看看是否能干这个。
比如某XX用户要进行对商品信息的增操作,那就先:if((权限 & 权限1) == 增) 判断一下,有就让他进行增操作,没有就提示他无权限操作。