如果您无法下载资料,请参考说明:
1、部分资料下载需要金币,请确保您的账户上有足够的金币
2、已购买过的文档,再次下载不重复扣费
3、资料包下载后请先用软件解压,在使用对应软件打开
实验一Shell编程
[实验目的]
理解Shell程序的设计方法;熟悉Shell程序的编辑、运行、调试方法与过程。
[实验内容]考勤模拟Shell程序设计
用shell设计一个考勤模拟程序,实现如下功能选择界面:
1.上班签到
2.下班签出
3.缺勤信息查阅
考勤程序运行后,提示用户输入上述功能选择,并验证用户输入的用户名和密码;用户信息保存在userinfo.dat中。
如果是上班签到,记录签到信息,如果签到时间大于上午8时,则提示用户迟到,并记录该迟到信息到check.dat。
如果是下班签出,记录签出信息,如果签出时间小于下午6时,则提示用户早退,并记录该早退信息到check.dat。
如果用户选择缺勤信息查询,则将check.dat中对应该用户的迟到早退信息查出并显示。
用户选择功能执行完,shell程序继续回到功能选择界面等待下一个用户进行操作。
[实验要求]
1、掌握Shell程序的编辑、运行、调试方法
2、完成实验内容要求实现的功能
3、撰写实验报告
[实验方法]
1、Shell程序的编辑可使用vi,emacs等Linux下的各种文本编辑器。本课程实验可使用RedHatLinux9.0下的TextEditor。
2、Shell程序的执行有两种方式:sh[Shell程序名]或./[Shell程序名]
例:设Shell程序名称为test.sh,则可以通过shtest.sh或./test.sh。但是要注意在使用./[Shell程序名]时必须确保对Shell程序具有可执行权限。
3、Shell程序的调试可以通过建立多个工作区交互进行。
[实验分析与设计]
通过对实验要求的分析,我们可以了解此系统的主要问题在于对用户的信息验证,和对文件的读写.用户验证主要就是通过读取用户信息文件与输入内容进行对比,如果匹配成功则显示所查信息.
[实验运行结果以及相关代码]
运行结果截图:
代码如下:
while[-ruserinfo.dat]
do
echo"a上班签到"
echo"b下班签出"
echo"c缺勤查询"
readchoose
a1=yes
until["$a1"=no]
do
echo"输入姓名:"
readname
pas=`grep-w$nameuserinfo.dat|cut-d\|-f2`
echo"密码:"
readpassword
userid=`grep-w$nameuserinfo.dat|wc-l`
iftest"$userid"-eq1
then
iftest"$password"="$pas"
then
a1=no
else
echo"密码错误!!"
fi
else
echo"用户不存在!"
fi
done
hour=`date+%H`
case"$choose"in
a)case$hourin
0[5-7])echo"早上好!";;
*)echo"迟到!!!"
echo$name迟到`date`>>check.dat;;
esac;;
b)case$hourin
1[89]|2[0-4])echo"一路顺风!";;
*)echo"早退!!!"
echo$name早退`date`>>check.dat;;
esac;;
c)catcheck.dat;;
esac
done
实验二文件管理
[实验目的]
熟悉LINUX环境下C语言应用程序开发的基本步骤;完成简单文件管理C应用程序的开发。
[实验内容]文件复制程序设计
编写C语言程序使其完成:对用户输入的文件名的内容进行拷贝。例如:“%EXEaFilebFile”将文件aFile的内容拷贝到文件bFile中。
[实验要求]
1、熟悉Linux下最常用的C程序编译器GCC的基本使用方法;
2、编写文件复制C应用程序,完成实验内容规定任务,并能上机正确编译与运行。
3、撰写实验报告
[实验方法]
1、Linux下的简单的C程序编译连接可使用GCC完成。GCC的一般命令格式是:GCC-o[exefile][sourcedile]或GCC[sourcedile],其中GCC[sourcedile]格式则生成默认的可执行文件a.out
2、C程序的运行命令:./exefile,例如:设已正确编译连接生成的可执行文件名称为test.exe,则执行命令为./test.exe
[实验分析与设计]
本实验基本思想就是对文件的读和写,首先读出文件并存入缓冲区,然后调用函数,吧缓冲区内容写入到目标文件,非常简单的思想.
[实验运行结果及相关代码]
实验结果截图如下:
代码如下:
#include<stdio.h>
#include<stdlib.h>
intmain(){
charbuf;
FILE*ft
as****16
实名认证
内容提供者
最近下载