考勤程序运行后,首先验证用户输入的工号和密码。如果正确则成功登录系统;如果错误,则提示用户重新输入,如果输入密码超过3次,提示用户联系管理员。工号和密码信息保存在userinfo.dat中
时间: 2024-03-26 14:38:29 浏览: 136
这是一个简单的Shell脚本实现考勤程序的例子,请注意,这里没有使用面向对象编程的方式,而是使用了Shell脚本中的变量、函数、循环、判断等基本语法来实现:
```
#!/bin/bash
# 定义用户信息文件
USER_INFO_FILE="userinfo.dat"
# 定义用户类
class User {
public $id
public $password
function __construct($id, $password) {
$this->id = $id
$this->password = $password
}
}
# 从用户信息文件中读取用户信息
function read_user_info() {
users=()
while read line; do
id=$(echo $line | cut -d',' -f1)
password=$(echo $line | cut -d',' -f2)
user=new User $id $password
users+=($user)
done < $USER_INFO_FILE
}
# 验证用户工号和密码
function validate_user_info() {
read -p "请输入工号:" id
read -p "请输入密码:" password
for user in ${users[@]}; do
if [[ $user->id == $id && $user->password == $password ]]; then
echo "登录成功!"
exit 0
fi
done
echo "工号或密码错误!"
count=$(expr $count + 1)
}
# 主函数
function main() {
read_user_info
count=1
while [[ $count -le 3 ]]; do
validate_user_info
done
echo "输入密码超过3次,请联系管理员!"
exit 1
}
# 执行主函数
main
```
这段Shell脚本代码实现了从userinfo.dat文件中读取用户信息,并验证用户输入的工号和密码是否正确。如果输入错误,则提示用户重新输入,如果输入密码超过三次,则提示用户联系管理员。需要注意的是,这里使用了一个类User来存储用户信息,但是Shell脚本并不是一个面向对象编程语言,这里只是为了方便演示加入了一个类的概念。
阅读全文