shell 编程实验--实现学生成绩管理系统
来源:互联网 发布:python 2.7.9 64位 编辑:程序博客网 时间:2024/05/22 07:43
主要函数:
colour () 设置界面颜色
search () 查询学生信息
add() 增加记录
delete() 删除记录
display() 显示所有记录
edit() 编辑
help() 帮助
quit() 退出
使用截图:
主界面
1、添加
2、显示全部
3、查找
4、删除
删除存在的人:
删除不存在的人:
5、显示全部
参考代码:
#!/bin/bash#colour 函数colour (){#格式为背景:前景m,主要实现屏幕颜色显示case $1 in black_white ) #背景为黑色,前景为白色echo -e "\033[40;37m";;black_green ) #背景为黑色,前景为绿色echo -e "\033[40;32m";;black_cyan ) #背景为黑色,前景为青色echo -e "\033[40;36m";;red_yellow ) #背景为红色,前景为黄色echo -e "\033[41;33m";;yellow_blue ) #背景为黄色,前景为蓝色echo -e "\033[43;34m";;esac}#查询函数search(){colour black_whiteclearecho -e "Please Enter Name >>>\c"read NAME# 如果无记录时if [ ! -f ./record ]; thenecho "You mush have some scores before you can search !"sleep 2clearreturnfi# 没有输入名字查询时候if [ -z "$NAME" ]; thenecho "You didn't enter a name!"echo -e "Please Enter Name >>>\c"fiecho "你查询的信息是: $NAME"grep "$NAME" ./record 2> /dev/nullcase "$?" in1 ) echo "Name not in record.";;2 ) echo "You didn't enter a name to search."sleep 2search # 继续查询;;esac}#增加记录函数add(){clearecho "Enter name and score of a record."echo -e "\c"if [ ! -f ./record ]; thentouch recordfiread NEWNAMEecho "$NEWNAME" >> ./record# 排序后写回文件sort -o ./record ./recordecho "添加成功"sleep 2}#删除记录函数delete(){clearecho -e "Please Enter Name >>> "read NAMEif [ ! -f ./record ]; thenecho "记录为空请先添加!"elsecp record record.bakgrep "$NAME" ./record.bak > /dev/nullif [ $? != 0 ]; thenecho "此人不存在"else # -v 表示 not grep -v "$NAME" ./record.bak > record echo "删除成功"firm -f record.bakfisleep 1}#显示所有记录display(){colour black_whitemore ./record}#利用vim编辑器编译edit(){vim ./record}#屏幕帮助函数help(){clearcolour black_cyanecho "This is a student's record program by!"}#退出程序quit(){clearcolour black_whiteexit}clearwhile :docolour red_yellowecho "***********************************************************"echo "* STUDENT'S RECORD MENU *"echo "***********************************************************"colour yellow_blueecho "###########################################################"echo "# 1. 查找 #"echo "# 2. 添加 #"echo "# 3. 删除 #"echo "# 4. 显示全部 #"echo "# 5. 编辑记录 #"echo "# H: Help Screen #"echo "# Q: Exit Program #"echo "###########################################################"colour black_greenecho -e -n " Please Enter Your Choice [1, 2, 3, 4, 5, H, Q]:\c"read choicecase $choice in1 ) search;;2 ) add; clear;;3 ) delete; clear;;4 ) display;;5 ) edit; clear;;H | h ) help;;Q | q ) quit;;* ) echo "Invalid Choice !"sleep 2clear;;esacdone
总结:
1、sort -o file file 可以将本文件排序后再写回
2、grep -v "string" file 可以将除string 之外的信息过滤出来
3、进一步熟悉流程控制函数等概念。
阅读全文
0 0
- shell 编程实验--实现学生成绩管理系统
- 学生成绩管理系统 - Linux Shell 编程
- 学生成绩管理系统实验报告
- Shell学生成绩管理系统
- 类实现学生成绩管理系统
- 学生成绩管理系统(Linux Shell版)
- java编程实现学生成绩管理系统,采用顺序存储结构
- 用文件实现学生成绩管理系统
- 学生成绩管理系统 c语言实现
- 学生成绩管理系统及源代码实现
- c实现学生成绩管理系统 MIS
- C语言实现学生成绩管理系统
- 学生成绩管理系统(java实现)
- 学生成绩管理系统链表实现
- C语言实现---学生成绩管理系统
- C语言实现学生成绩管理系统
- C#语言实现《学生成绩管理系统》
- 数据结构实验 第一单元 学生成绩管理系统(链表版)
- FastJson过滤字段
- js监听html页面的上下滚动事件
- Bucket Cache源码阅读
- C#学习笔记(9)—–多线程基础(下)
- 火狐浏览器 谷歌浏览器 安装vlc插件 播放摄像头 rtsp视频流
- shell 编程实验--实现学生成绩管理系统
- AndroidUtilCode
- MtVerify.h 头文件内容,用的时候添加到工程就行了
- 浏览器数据存储
- 【Java】字符串截取split
- 终于解决 Can't connect to MySQL server on '127.0.0.1' (10061) (2003)
- Sigslot介绍
- 随时间变化的数据,官方实例
- Delphi 接口:两个接口有相同名称的方法