考勤模拟shell程序设计

上传人:新** 文档编号:419712835 上传时间:2022-11-03 格式:DOCX 页数:9 大小:192.19KB
返回 下载 相关 举报
考勤模拟shell程序设计_第1页
第1页 / 共9页
考勤模拟shell程序设计_第2页
第2页 / 共9页
考勤模拟shell程序设计_第3页
第3页 / 共9页
考勤模拟shell程序设计_第4页
第4页 / 共9页
考勤模拟shell程序设计_第5页
第5页 / 共9页
点击查看更多>>
资源描述

《考勤模拟shell程序设计》由会员分享,可在线阅读,更多相关《考勤模拟shell程序设计(9页珍藏版)》请在金锄头文库上搜索。

1、Linux 操作系统实验报告实验题目实验八:Linux下的SHELL编程实验2姓名HSX学号2016*院(系)电子与信息工程学院专业、年级计算机科学与技术2016级2班指导老师GLY上课时间2018年6月3日湖南科技学院教务处编印实验题目实验八:Linux下的SHELL编程实验2评分上课地点E-4051.实验目的:1、学会使用分支结构。2、学会使用循环结构。3、理解Shell程序的设计方法,能够运用shell编程解决一些问题。2.实验内容:设计一个考勤系统,实现如下功能:1:上班签到2:下班签出3:缺勤信息查阅程序要求用户输入账号密码,和文件userinfo.dat中的内容比对,验证无误后进仃

2、其他操作。 上班签到,签到时间迟于8点,就提示迟到,并将信息记录到/check.dat中。下班签出,签出时间早于18点,就会提示用户早退,并将信息记录到/小6。直宀&t。 选择确信信息查询,则将/check.dat中对应的用户迟到早退的信息查询出来并显示。注意:读文件:while read fname fpassworddoecho $fnameecho $fpassworddone check.da t找出文件中与$name相关的内容:cat check.dat|grep $name获取当前时间的时分秒:hour二date +%Hminute=date +%Msecond二date +%S源

3、代码:#!/bin/bashaccount=#account_passwd= function read_data()flag=0;account=$1;password=$2;while read fname fpassworddoif $account = $fname ;thenif $password = $fpassword ;then account=$fname# account_passwd=$fpasswordflag=1breakelseflag=2 break fielseflag=3fidone check.dat# echo $judge_correct_late_f

4、lag case $judge_correct_late_flag in1) echo 沫到上班时间叫;2) echo 签到成功,早上好! ”echo $name 上午上班签到成功日期:datecheck.dat;3) echo 签到成功,下午好! ”echo $name 下午上班签到成功日期:datecheck.dat;4) echo 上班时间,请勿提前下班签到,下班早退已记录echo $name 下班早退日期:datecheck.dat;5) echo 未到上班时间,请勿下班签到”;6) echo 下班签到成功echo $name 下班签到成功日期:datecheck.dat;7) ech

5、o 您迟到了! ”echo $name 上班迟到日期:datecheck.dat;8) echo 今天工作已经结束,请勿上班签到”;*) echo ErrorWrite_dataesacfunction check_data()name=$1 check_data_flag=$2 case $check data flag in1) cat check.dat|grep $name;2) echo -e 密码不正确n;3) echo -e 账户不正确n;esacfunction judge_late() judge_late_flag=$1 hour=date +%H# mimute=date

6、 +%M# second=date +%S hour=$(10#$hour)# mimute=$(10#$mimute)# second=$(l0#$second)time_flag=0if ($hour=0&$hour=8&$hour=9&$hour=12&$hour=13&$hour=14&$hour=17&$hour24);then if (judge_late_flag=2);thent ime_flag=6 #6下班签到成功else time_flag=8#8今天工作已经结束,请勿上班签到fifireturn $time_flag -function judge_correct()

7、judge_correct_flag=$1 read -p 请输入您的姓名:” name read -p 请输入您的密码:” input_password read_data $name $input_password Flag=$?user=$accountif $judge_correct_flag = 3 ;thencheck_data $name $Flagfi-if $judge_correct_flag = 1 | $judge_correct_flag = 2 ;then case $Flag in1) if (Flag=1);then# echo 签到成功judge_late

8、$judge_correct_flagjudge_late_time_flag=$?# echo $judge_late_time_flagwrite_data $user $judge_late_time_flagfi ;2) if (Flag=2);thenecho -e 密码不正确nfi ;3) if (Flag=3);thenecho -e 账户不正确nfi ;*) echo Error;esac# else echo 您输入的选项有误fifunction main()while (1)dohour=date +%Hmimute=date +%Msecond=date +%Secho

9、-e n欢迎使用本系统echo1上班签到echo2下班签出”echo3考勤信息查询echo4退出本系统echo 现在时间是:$hour:$mimute:$secondechoecho-eByHSXnread-p请输入您的选项:op tionif $option = 1 | $option = 2 | $option = 3 ;then judge_correct $optionelif $option = 4 ;thenecho 感谢您使用本系统 echo 系统已经退出! ” echo By HSXbreakelse echo 您输入的选项有误,请重新输入:fidonemain运行截图:sna

10、ilionSsnailion-virtual-Fiachine:/Prectice/Linux_8_Prectice$ bash TheKaoQingsh欢迎使用本系统1:上班签到下班签出3:考勤信息查询4:退出本系统现在时间是:08:02:25 ByHSX请输入您的选项:1 请输入您的姓名:HSX 请输入您的密码:123签到成功,早上好!欢迎使用本系统1:上班签到2:下班畫出3:考勤信息查询4:退出本系统 现在时间是:08:02:30-ByHSX请输入您的选项:请输入您的选项:2请输入您的姓名:HSX请输入您的密码:123上班时间,请勿提前下班签到,下班早退已记录欢迎使用本系统上班签到2:下

11、班签出3:考勤信息查询4:退出本系统现在时间是:10:03:13-By HSX请输入您的选项:请输入您的选项:1 请输入您的姓名:HSX 请输入您的密码:123 籃到成功,下午好!欢迎使用本系统 1:上班签到 2:下班签出 3:考勤信息查询 4:退出本系统现在时间是:13:95:11By HSX请输入您的选项:欢迎使用本系统1:上班签到2:下班签出3:者勤信息杳询4:退出本系统现衽时间是:10:93:13By HSX请输入您的选项:3 请输入您的姓名:H5K 请输入您的密码:123HSX下班签到成功HSX上班迟到HSX下班早退HSX下班签到成功H5X上班迟到HSX上午上班签到成功-HSX下班早退欢迎使用本系统 1:上班签到 2:下班签出 昭考勤信息杳询 4:退出本系统现衽时间是:10:03:52m2 nn m2 m2 BM 1:t

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 建筑/环境 > 建筑资料

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号