【shell案例】学员管理系统「建议收藏」

【shell案例】学员管理系统「建议收藏」前言学员管理系统涉及到学员的增删改查,这是一个综合性比较强的项目,在所有的编程语言里都会有不同版本的学员信息管理系统,难度适中效果截图学员管理系统源码#!/bin/bash##随机点名册whiletruedo echo”学生随机点名系统” echo”1.添加学员名单” echo”2.遍历学员名单” echo”3.随机点名” echo”4.删除某个学员的信息” echo”5.退出” read-p”请输入你要选择的序号:”num case

大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。

Jetbrains全系列IDE使用 1年只要46元 售后保障 童叟无欺

前言

学员管理系统涉及到学员的增删改查,这是一个综合性比较强的项目,在所有的编程语言里都会有不同版本的学员信息管理系统,难度适中

效果截图

在这里插入图片描述

在这里插入图片描述

学员管理系统源码

#!/bin/bash

## 随机点名册

while true
do
	echo "学生随机点名系统"
	echo "1. 添加学员名单"
	echo "2. 遍历学员名单"
	echo "3. 随机点名"
	echo "4. 删除某个学员的信息"
	echo "5. 退出"
	read -p "请输入你要选择的序号: " num
	case $num in
	1)
	name(){ 
   
	while true
	do
		read -p "填写要添加的名字: " num1
		if [ -f namelist.txt ];then
                	name1=`grep $num1 namelist.txt`
                else
                        echo "正在键入信息请稍后..."
                        sleep 2
                        touch namelist.txt
                        name1=`grep $num1 namelist.txt`
                fi

		if [[ $num1 == $name1 ]];then
			echo "该学员已经存在!"
		else
	                    echo $num1 >> namelist.txt
			read -p "是否继续添加Y|N: " num2
			if [ $num2 == "Y" ] || [ $num2 == "y" ];then
				name
				#echo "学员添加成功!"
			elif [ $num2 == "N" ] || [ $num == "n" ];then
	                            echo "请重新确认学员姓名"
				break
	                    else
	                             echo "你输入的字符有误,请输入Y|N"
	                             break
			fi
		fi
	done 
	}
	name
	;;
	
	2)
	    echo "你选择的是遍历学员名单,正在为您遍历请稍后..."
	for i in `cat namelist.txt`
	do
		echo $i
	            sleep 1
	done
	    echo "遍历完成" 
	    total=`cat namelist.txt |wc -l`
	    echo "已为您遍历 $total 个学员"
	;;
	3)
	    while(true)
	    do
	line=`cat namelist.txt |wc -l`
	num3=$[RANDOM%line+1]
	sed -n "${num3}p" namelist.txt
	sleep 0.3
	    read -p "是否要返回学员管理系统y/n: " input
	    if [ $input  == "Y" ] || [ $input  == "y" ];then
	        echo "正在返回请稍后"
	        echo ''
	        break
	    elif [ $input == "N" ] || [ $input == "n" ];then
	        echo "暂时没想到你不回学员管理系统还能干啥,要不搭建一套架构?"
	                            
	    else
	         echo "你输入的字符有误,请输入Y|N"
	         break
	    fi
	    done
	    clear
	    echo ""	
	    echo "===============学员管理系统============"
	    echo "==========欢迎来到学员管理系统========="
	
	;;
	4)
	    while(true)
	    do
	cat namelist.txt
	read -p "请输入要删除的学员: " num4
	    while read line
	    do
	        #echo $line
	        if [ $line == $num4 ];then
	            sed -i "/${num4}/d" namelist.txt
	#name=`grep $num4 namelist.txt`
	#if [[ $num4 == $name ]];then
	 # sed -i "/${num4}/d" namelist.txt
		echo "删除成功!"
	             
	#else
	# echo " "
	   fi
	done < namelist.txt
	    read -p "是否返回学生系统管理首页Y|N: " back
	    if [ $back == "y" ] || [ $back == "Y" ];then
	        echo "正在返回请稍后"
	        break
	    else
	        echo ""
	    fi
	     
	    done
	     
	    clear
	    echo "" 
	    echo "===============学员管理系统============"
	    echo "==========欢迎来到学员管理系统========="
	    ;;
	5)
	    echo "感谢您使用学员管理系统,请给五星好评哦"
	exit
	;;
	esac

done

总结

这个脚本还可以在完善,让他更加符合我们的使用习惯,此脚本学员的第一版脚本和第二版脚本的结合,如果使用函数会更完美一些。

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/191220.html原文链接:https://javaforall.net

赞 (0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • Latex:入门教程

    Latex:入门教程http://blog.csdn.net/pipisorry/article/details/54571521总的来说,LaTex是一套排版系统,与word那种所见即所得对排版方式不太,用LaTex排版更像是写程序一样,将想要的排版效果用指令写出来,再通过LaTex编译成文档。简单来说,你只要按照要求撰写tex文件,就能够通过LaTex生成排版好的pdf文件。有些人可能听到写程序就头大了,其实使用…

    2022年7月26日
  • 推荐算法中的MF, PMF, BPMF[通俗易懂]

    推荐算法中的MF, PMF, BPMF[通俗易懂]1.矩阵分解(MF)目前推荐系统中用的最多的就是矩阵分解方法,在NetflixPrize推荐系统大赛中取得突出效果。以用户-项目评分矩阵为例,矩阵分解就是预测出评分矩阵中的缺失值,然后根据预测值以某种方式向用户推荐。常见的矩阵分解方法有基本矩阵分解(basicMF),正则化矩阵分解)(RegularizedMF),基于概率的矩阵分解(PMF)等。利用代数中SVD方法对矩阵进行分解。奇异值

    2022年5月22日
  • Creating Apps With Material Design —— Creating Lists and Cards[通俗易懂]

    Creating Apps With Material Design —— Creating Lists and Cards

    2022年2月7日
  • icp_icp查询

    icp_icp查询输入44 21 2 4 84 0100 99 98 972 210000 100005 30 0 0 0 1696RichmanImpossible代码#include<bits/stdc++.h>using namespace std;typedef long long ll;const int N = 1e5 + 10;int a[N];int main(){ int T; cin>>T; while(T -..

    2022年8月8日
  • C++虚析构函数和纯虚析构函数

    C++虚析构函数和纯虚析构函数1、为什么要使用虚析构函数我们知道析构函数是在对象生命周期结束时自动被调用,用来做一些清理工作(如释放句柄,释放堆内存等),防止出现内存泄漏。那怎么还有虚析构函数呢?使用虚析构函数的类一般是要作为基类,被其他类继承。通过把基类的析构函数声明为虚函数,就可以通过父类指针来释放子类对象,从而完成子类的一些清理工作,防止出现内存泄漏。案例1:基类析构函数为非虚函数//test.hclassParent{public:Parent();~Parent

    2022年6月17日
  • 游戏开发怎么做(游戏开发流程详解)

    本文来自作者goto先生在GitChat上分享「如何开发一款游戏:游戏开发流程及所需工具」,「阅读原文」查看交流实录。「文末高能」编辑|哈比游戏作为娱乐生活的一个方面,参与其中的人越来越多,而大部分参与其中的人都是以玩家的身份。他们热爱一款游戏,或是被游戏的故事情节、炫丽的场景、动听的音乐所艳羡,亦或是被游戏中角色扮演、炫酷的技能、有趣的任务所吸引,然而他们中的大多数可能并不了解如此

    2022年4月17日

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号