加入星计划,您可以享受以下权益:

  • 创作内容快速变现
  • 行业影响力扩散
  • 作品版权保护
  • 300W+ 专业用户
  • 1.5W+ 优质创作者
  • 5000+ 长期合作伙伴
立即加入

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

09/09 11:13
1126
服务支持:
技术交流群

完成交易后在“购买成功”页面扫码入群,即可与技术大咖们分享疑惑和经验、收获成长和认同、领取优惠和红包等。

虚拟商品不可退

当前内容为数字版权作品,购买后不支持退换且无法转移使用。

加入交流群
扫码加入
获取工程师必备礼包
参与热点资讯讨论
放大
实物图
相关方案
  • 方案介绍
  • 相关文件
  • 推荐器件
  • 相关推荐
  • 电子产业图谱
申请入驻 产业图谱

题目:学生成绩统计管理系统

一  实训任务

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

二  实训要求

  1. 基本功能要求

按照题目要求完成程序源码编写、调试及关键代码注释。

    1. 以文本的形式存储各门功课成绩,生成成绩统计表
    2. 实现成绩的计算、统计、排序、查询等功能
    3. 能够以管理员身份对成绩进行管理

2、扩展功能要求

    1. 可以统计不同成绩段的人数,相同成绩的人数
    2. 扩展其它功能,如界面的改进、增加提示信息等。

三  实训原理

图1 参考系统框图

四  实训步骤(根据实际情况修改)

1、根据设计任务要求进行功能分析,画出设计流程图;

2、参阅相关资料,进行模块设计;

3、编写shell脚本,完成功能模块;

4、调试脚本程序,修改错误,测试功能,实现任务要求;

6、撰写实训报告(包括设计与调试的全过程,附上有关资料、shell脚本代码,心得体会)。

部分程序:

#!/bin/bash
#颜色显示
colour ()
{
#格式为背景:前景m,主要实现屏幕颜色显示
case $1 in
white_black ) #背景为白色,前景为黑色
echo -e "�33[47;30m"
;;
green_white ) #背景为绿色,前景为白色
echo -e "�33[42;37m"
;;
black_green ) #背景为黑色,前景为绿色
echo -e "�33[40;32m"
;;
black_cyan ) #背景为黑色,前景为青色
echo -e "�33[40;36m"
;;
black_blue ) #背景为黑色,前景为蓝色
echo -e "�33[40;34m"
;;
red_yellow ) #背景为红色,前景为黄色
echo -e "�33[41;33m"
;;
yellow_blue ) #背景为黄色,前景为蓝色
echo -e "�33[43;34m"
;;
esac
}
#添加
Student_add()
{
clear
colour black_green
if test -f Student.txt
then
echo -e "请输入学生学号:c"
read xuehao
echo -e "请输入学生姓名:c"
read name
echo -e "请输入语文成绩:c"
read Chinese
echo -e "请输入数学成绩:c"
read Math
echo -e "请输入英语成绩:c"
read English
sum=`expr $Chinese "+" $Math "+" $English`
ave=`expr $sum "/" 3`
if [ $ave -ge "90" -a $ave -le "100" ];then
echo "学号$xuehao $name 同学的语文,数学,英语成绩,总成绩,平均分,成绩等级为.$Chinese.$Math.$English.$sum.$ave.A!" >> Student.txt
elif [ $ave -ge "80" -a $ave -lt "90" ];then
echo "学号$xuehao $name 同学的语文,数学,英语成绩,总成绩,平均分,成绩等级为.$Chinese.$Math.$English.$sum.$ave.B!" >> Student.txt
elif [ $ave -ge "70" -a $ave -lt "80" ];then
echo "学号$xuehao $name 同学的语文,数学,英语成绩,总成绩,平均分,成绩等级为.$Chinese.$Math.$English.$sum.$ave.C!" >> Student.txt
elif [ $ave -ge "60" -a $ave -lt "70" ];then
echo "学号$xuehao $name 同学的语文,数学,英语成绩,总成绩,平均分,成绩等级为.$Chinese.$Math.$English.$sum.$ave.D!" >> Student.txt
else
echo "学号$xuehao $name 同学的语文,数学,英语成绩,总成绩,平均分,成绩等级为.$Chinese.$Math.$English.$sum.$ave.E!" >> Student.txt
echo "添加成功"
fi
sleep 1
else
echo "成绩文件不存在!"
echo "正在创建!"
touch Student.txt
sleep 1
echo "成绩文件创建成功!"
sleep 1
fi

}

#查询
Student_refer()
{
clear
colour yellow_blue
# 如果无成绩文件时
if [ ! -f Student.txt ]; then
echo "5没有成绩文件请先添加!"
else
echo -e " 请输入你要查找的学号:c"
read xuehao
echo -e " 请输入你要查找的名字:c"
read name
# 没有输入名字查询时候
if [ -z "$name" ]; then
echo "你没有输入名字!"
echo -e "请输入你要查找的名字:c"
else
grep "$name" Student.txt
case "$?" in
1 ) echo "该同学成绩尚未录入系统!"
;;
esac
fi
fi
}

#排序
Student_sort()
{
clear
colour black_cyan
# 如果无成绩文件时
if [ ! -f Student.txt ]; then
echo "没有成绩文件请先添加!"
else
echo "排序方式:1.按学号排序;2.按总成绩排序;3.按平均分排序;"
echo -e "请选择你想要的排序方式:c"
read G_sort
case $G_sort in
1)
sort -n  Student.txt
;;
2)
sort -n -r -t. -k 5 Student.txt
;;
3)
sort -n -r -t. -k 6 Student.txt
;;
*)
echo "选择错误,请重新选择"
Student_sort
;;
esac
fi
}

#统计
Student_statistics()
{
clear
colour yellow_blue
# 如果无成绩文件时
if [ ! -f Student.txt ]; then
echo "没有成绩文件请先添加!"
else
for((i=0;i<5;i++))
do
echo  "请输入你想统计的成绩等级人数:"
read number
grep "$number" Student.txt | wc -l
done
fi
}

#查看成绩
Student_display()
{
clear
colour black_blue
# 如果无成绩文件时
if [ ! -f Student.txt ]; then
echo "没有成绩文件请先添加!"
else
cat Student.txt
fi
}

#删除
Student_delete()
{
clear
colour green_white
if [ ! -f Student.txt ]; then
echo "没有成绩文件请先添加!"
else
echo -e "请输入你要查找的名字c"
read name

cp Student.txt Studentfu.txt
grep "$name" Studentfu.txt > /dev/null
if [ $? != 0 ]; then
echo "没有该同学成绩!"
else
# -v 表示 not
grep -v "$name" Studentfu.txt > Student.txt
echo "删除成功!"
fi
rm -rf Studentfu.txt
fi
}

#退出
Quit()
{
clear
exit
}

clear
while :
do
colour black_green
echo "    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^      "
echo "                                                                         "
echo "                               请选择你的身份:                          "
echo "                                  1.老师                                 "
echo "                                  2.学生                                 "
echo "                                  0.退出系统                             "
echo "                                                                         "
echo "请输入你的选择:                                                          "
read choose1
clear
case $choose1 in
1)
echo -e "请输入管理员密码:c"
read password
if [ $password = 123456 ];
then
clear
while :
do
colour white_black
echo "  &———————————————————————————————————————————————————————————————&  "
echo "                         " 成绩统计系统"                             "
echo "*———————————————————————————————————————————————————————————————————*"
echo "                         老师您好,请选择                             "
echo "                           1.成绩添加                                "
echo "                           2.成绩查询                                "
echo "                           3.成绩排序                                "
echo "                           4.成绩统计                                "
echo "                           5.删除同学成绩                            "
echo "                           6.查看全班成绩                            "
echo "                           0.退出系统                                "
echo "*————————————————————

资料包括:

需要完整的资料可在我的资源里下载,也可以加入我的纷传圈子,里面有资源压缩包的百度网盘下载地址及提取码。

纷传点击用微信打开即可,过程有点繁琐请见谅。

  • 有需要资料的可了解一下.docx

推荐器件

更多器件
器件型号 数量 器件厂商 器件描述 数据手册 ECAD模型 风险等级 参考价格 更多信息
AFBR-5715ALZ 1 Foxconn Transceiver, 830nm Min, 860nm Max, 1250Mbps(Tx), LC Connector, Panel Mount, ROHS COMPLIANT
暂无数据 查看
AB26TRB-32.768KHZ-T 1 Abracon Corporation CRYSTAL 32.7680KHZ 12.5PF TH

ECAD模型

下载ECAD模型
$0.64 查看
TJA1051T/CM,118 1 NXP Semiconductors TJA1051 - High-speed CAN transceiver SOIC 8-Pin

ECAD模型

下载ECAD模型
$1.02 查看

相关推荐

电子产业图谱