`
斌强-朱
  • 浏览: 48317 次
社区版块
存档分类
最新评论

Shell学生成绩管理系统

 
阅读更多


#!/usr/bash

#Output file save the students information
FILE=./zhubinqiang_v1.0
#temp file
TMP=./.tmp
#This is menu
menu () {
	echo "***************************************************************************"
	echo -e "\t\t1.Add a student information"
	echo -e "\t\t2.Query a student information by ID" 
	echo -e "\t\t3.Delete a student information by ID"	
	echo -e "\t\t4.Screen clearing"
	echo -e "\t\t0.Exit this program"
	echo "***************************************************************************"
	echo -n "Select:"
}
#Add a student infomation
add () {
#validate ID
	while [ 1 ];do
		echo -n "Student ID(001-999):"
		read id
	 	flag=`echo $id|grep -c "^[0-9]\{3\}$"`
		
		if [ $flag -eq 0 -o "$id" == "000" ] ; then
			echo "ID must 001-999"
			continue 
		fi
		flag2=`awk '{print $1}' $FILE | grep -c ^${id}$`

		if [ $flag2 -ge 1 ] ;then
			echo "The ID must be only one!"
			continue
		fi	

		break
	done
#validate Name	
	while [ 1 ];do
		echo -n "Student name(only a-z,A-Z and within 5 characters):"
		read name
		flag=`echo $name|grep -c "^[a-zA-Z]\{1,5\}$"`
		if [ $flag -eq 0 ] ; then
			echo "name must within 5 characters only a-z,A-Z"
		else 
			#Name into the capital letters
			name=`echo $name | tr '[a-z]' '[A-Z]'`
			break
		fi
	done
#validate Sex	
	echo -n "Student sex(M or F,default is M):"
	read sex
	if [ "$sex" = "F" -o "$sex" = "f" ] ; then
		sex=F
	else 
		sex=M
	fi
#validate Class
	while [ 1 ]; do
		echo -n "Student class(01-99 default is NULL):"
		read class
		if [ "$class" == "" ];then
			class=NULL
			break
		fi
 		#Class match 00-99
		flag=`echo $class|grep -c "^[0-9]\{2\}$"`
#check ?
		if [ $flag -eq 0 -o "$class" == "00" ] ; then
			echo "class must 01-99"
		else
			break
		fi
	done

	echo -e "$id\t$name\t$sex\t$class" >> $FILE
}

#Query a student by ID
query () {
	echo -n "Input the student ID:"
	read id
	if [ "$id" == "" ] ; then
		echo -e "ID\tName\tSex\tClass"
		cat $FILE
	else
		echo -e "ID\tName\tSex\tClass"
		grep $id $FILE
		if [ $? != 0 ]; then
			echo "No student information!"
		fi

	fi
}

#Delete a student by ID
delete () {
	echo -n "Input the student ID:"
	read id
	flag=`grep -n "$id" $FILE`
	if [ "$flag" == "" -o "$id" == "" ]; then
		echo "can't find ID=$id student"
		return 
	fi
	
   	#get delete number
	num=`awk '{print $1}' $FILE | grep -n "${id}" |sed 's/:.*//g'`	
	echo -e "ID\tName\tSex\tClass"
	sed -n "${num}p" $FILE

	echo -n "Are you sure delete id(Y or N):"
	read sure
	if [ "$sure" == "Y" -o "$sure" == "y" ] ; then
		sed "${num}d" $FILE > $TMP
		cat $TMP > $FILE
		echo "Deleted successful"
	fi
}

#exit program
quit () {
	echo "Thank you Bye!"
	exit
}

#Error info
error () {
	echo "error input!"
}

#screen cleaning
cls () {
	clear
}

#main
main () {
while [ 1 ] ; do
	menu
	read number
	case $number in
	1) add ;;
	2) query ;;
	3) delete ;;
	4) cls ;;
	0) quit ;;
	*) error ;;
	esac
done
}

main





分享到:
评论

相关推荐

    shell 编程 学生成绩管理系统

    linux 程序设计 实验 shell 编程 学生成绩管理系统

    基于shell和mysql的学生成绩管理系统

    基于shell和mysql的学生成绩管理系统

    学生成绩管理系统

    实验三 学生成绩管理程序(Shell程序设计) 实验内容 作业:学生成绩管理程序 功能: 对学生成绩进行管理。要求实现数据的基本操作:学院和学生信息以及学生成绩的增加,修改,删除,统计 构造三个类似数据库的文本...

    shell成绩管理系统

    shell系统,适合初学者,代码很差劲。第一次写shell

    shell script编写的学生管理系统

    用shell script 编写的学生成绩管理系统,实现了增删改查,可改写和完善

    shell编程实现学生成绩管理系统

    主要为大家详细介绍了shell编程实现学生成绩管理系统,具有一定的参考价值,感兴趣的小伙伴们可以参考一下

    shell实现学生成绩管理系统

    本文实例为大家分享了shell实现学生成绩管理系统的具体代码,供大家参考,具体内容如下 基本的操作 增加 删除 查询 展示全部学生信息 vim编辑保存信息的文件 遇到的问题 1.增加学生信息时 增加学生信息时,我用的...

    bash shell 实现学生信息管理

    1.按学号查询学生成绩信息 2.添加学生成绩信息 3.删除学生成绩信息 4.修改学生成绩信息 5.使用函数分别判断输入的姓名、学号、成绩是否符合要求 6.对数据库进行备份、恢复、检查完整性; 7.生成示例数据库 本程序中...

    适合《Linux操作系统》、《Linux编程基础》、《shell编程基础》等课程的学生期末考察作业。

    资源里面包含: 1、《Linux系统中用户信息...10、《学生成绩管理系统》 等大作业的功能要求和每个作业对应的源代码。可以配合实验报告使用 功能要求在shell编程期末作业Word文档里,源代码在相关材料文档Word文档里。

    linux环境下shell和C语言分别开发学生管理系统.zip

    学校管理系统: 用于学校或教育机构的学生信息、教职员工信息、课程管理、成绩记录、考勤管理等。学校管理系统帮助提高学校的组织效率和信息管理水平。 人力资源管理系统(HRM): 用于处理组织内的人事信息,包括...

    Linux Shell 编程实战.zip

    可以说,熟练掌握Shell编程,能大大提高系统管理的效率。 主要目的 编写shell脚本程序 交互方式下使用shell的流程控制,编写复合命令 主要内容 元字符,如:引号 shell的变量替换,命令替换,文件名...

    3.嵌入式操作系统-成绩统计管理系统.rar

    题目:学生成绩统计管理系统 一 实训任务 以VM ware虚拟机软件和Ubuntu12.04操作系统为平台,使用shell脚本编写程序,实现对学生成绩的统计计算等功能。要求使用linux shell编写程序脚本(Bash风格),并提供友好...

    student:数据库原理(1)--学生选课成绩管理系统--示例程序验证

    "学生选课成绩管理系统" 示例程序验证 实验项目基于数据库实用教程/董健全,丁宝康编著. ——4版. ——北京:清华大学出版社 一、目的与要求 通过示例程序的验证,学习开发管理系统的基本方法。 阅读、理解并按照...

    模拟 Linux 文件系统;模拟文件系统的前端操作 shell;模拟文件系统的操作管理.zip

    学校管理系统: 用于学校或教育机构的学生信息、教职员工信息、课程管理、成绩记录、考勤管理等。学校管理系统帮助提高学校的组织效率和信息管理水平。 人力资源管理系统(HRM): 用于处理组织内的人事信息,包括...

    嵌入式操作系统-成绩统计管理系统

    以VM ware虚拟机软件和Ubuntu12.04操作系统为平台,使用shell脚本编写程序,实现对学生成绩的统计计算等功能。要求使用linux shell编写程序脚本(Bash风格),并提供友好的的交互界面。 二 实训要求 1、 基本功能...

    shell脚本课程

    本书共分五部分,详细介绍了shell编程技巧,各种UNIX命令及语法,还涉及了UNIX下的文字处理以及少量的系统管理问题。本书内容全面、文字简洁流畅,适合Shell编程人员学习、参考。

    基于python开发的学生信息管理系统(源码+程序+文档说明)

    在IDLE中运行《学生信息管理系统》即可进入系统主界面。在该界面中可以选择要使用功能对应的菜单进行不同的操作。在选择功能菜单时,有两种方法,一种是输入1,另一种是按下键盘上的↑或↓方向键进行选择。这两种...

    一个具有中断处理和抢占式调度、同步原语、简单shell、虚存管理、网卡驱动、文件系统的简易系统内核.zip

    学校管理系统: 用于学校或教育机构的学生信息、教职员工信息、课程管理、成绩记录、考勤管理等。学校管理系统帮助提高学校的组织效率和信息管理水平。 人力资源管理系统(HRM): 用于处理组织内的人事信息,包括...

    C++和shell编程,校园快递站工作与管理系统.zip

    学校管理系统: 用于学校或教育机构的学生信息、教职员工信息、课程管理、成绩记录、考勤管理等。学校管理系统帮助提高学校的组织效率和信息管理水平。 人力资源管理系统(HRM): 用于处理组织内的人事信息,包括...

Global site tag (gtag.js) - Google Analytics