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

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

一  实训任务

以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 "\033[47;30m"
        ;;
    green_white ) #背景为绿色,前景为白色
        echo -e "\033[42;37m"
        ;;
    black_green ) #背景为黑色,前景为绿色
        echo -e "\033[40;32m"
        ;;
    black_cyan ) #背景为黑色,前景为青色
        echo -e "\033[40;36m"
        ;;
    black_blue ) #背景为黑色,前景为蓝色
        echo -e "\033[40;34m"
        ;;
    red_yellow ) #背景为红色,前景为黄色
        echo -e "\033[41;33m"
        ;;
    yellow_blue ) #背景为黄色,前景为蓝色
        echo -e "\033[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 "*————————————————————

资料包括:

 

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

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

  • 1
    点赞
  • 13
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
联考成绩统计分析系统软件是一款专门为成绩统计分析设计的专业的成绩统计分析软件,主要功能是为多校联考统计、分析分数提供方便,包括可以通过软件自动计算每个同学总分、片内名次、校内名次、班级名次、可以分别以校、班、带课教师为单位统计各科两率一分及名次,还可以统计各科各分数段人数,而且分数段可以自由设定。 本软件的特色是可以和EXCEL相结合使用,可以从excel导入数据,也可以把分析统计结果导出到excel中继续编辑、打印等操作。相当方便,而且其体积小巧。统计完成后可以一键导出所有统计结果到EXCEL表格中,也可以单独导出某几个统计结果到EXCEL表格中。 软件界面简洁,操作简单,可以很快上手。 联考成绩统计分析系统主要功能有: 可以选择按学生基数、参评人数或参考人数分析下面各项数据: 1、以校为单位统计总分生平均分。 2、以班为单位统计总分生平均分。 3、以校为单位统计各科及格率、优秀率、平均分。 4、以班为单位统计各科及格率、优秀率、平均分。 5、以每个教师为单位统计各科及格率、优秀率、平均分。 6、统计每个学生单科成绩在班内排名、校内排名、片内排名。 7、统计每个学生总分在班内排名、校内排名、片内排名。 8、统计每班各科各分数段内的人数。 9、以班为单位统计总分各分数段内的人数,分数段可自由设定。 10、以校为单位统计总分各分数段内的人数。 联考成绩统计分析系统软件的安装   把下载好的安装包解压到当前文件夹,之后双击lktj.exe运行文件进行安装,打开的时候会出现安装框,依次开始安装,依照步骤点击下一步,并选择号安装位置即可。     按自己需求选择需要的设置,点击立即体验,完成安装过程。 联考成绩统计分析系统的使用   点击联考成绩统计分析系统V4.0快捷方即可进入软件,如图所示,这是软件的登陆界面,初始用户名和密码为admin,输入后,点击确定进入软件。     这是软件使用界面,因为是共享软件,所以现在我们还只能使用一些简单的功能,购买后就可以使用全部功能了。如图所示,可以实现成绩统计分析的各项功能。 联考成绩统计分析系统的卸载   依次选择开始-> 所有程序 ->联考成绩统计分析系统 ->卸载联考成绩统计分析系统。 或者依次打开我的电脑->卸载或更改程序->卸载你所卸载的软件,您可以用 Window XP控制面板中的添加或删除程序功能,或用 Windows Vista、Windows 7中的程序和功能删除联考成绩统计分析系统, 然后点击开始卸载,按步骤依次点击下一步,直至完成。
《BCBSOFT学生成绩统计分析系统使用说明》 ================================== 一、系统特点:真正的绿色软件,只有一执行文件即可正常运行,单机版采用本地Paradox数据库,具有安全快速等特点。系统采用用户权限管理包括:管理员级数据维护、查询分析等权限,保证数据存取安全成绩分析采用多种方方便查询,同时采用图形分使查询结更加直观。系统支持多科目数据统计能够全面准备分析学生的成绩分布鞋情况。 二、功能介绍:bcbsoft学生成绩统计分析系统包括下列功能:成绩录入、成绩查询、成绩录入、用户登录、用户管理、使用帮助、学生资料设定、级段、班级试场记录信息维护等。 三、软件注册:BCBSOFT学生成绩统计分析系统为共享软件,没有未注册时只能使20次,注册能正常使用,软件单机注册费为人民币200元。 四、使用帮助: (1)用户登录:   A你可以从输入姓名输入框中输入你的姓名或下拉输入框选择现一个用户,回车确认。 B在口令输入框中输入正确的口令后,按回车或用鼠标点击确认按钮,或者用快速键Alt+A,如果输入口令正确,登录窗口自 动关闭,系统会按照该用户的登录权限允许使用对应的功能。如果连输入5次口令不正确,那么系统将禁止使用本系统。  C不同的用户可以采用对应的用户登录,系统分配不同的权限。 (2)用户管理:  A你可以点击<;前记录>;<;后记录>;按钮进行用户查看,点击<;新增>;按钮可以在对应输入框中输入内容,而后按<;保存>;按钮进行 数据保存。  B当然你可以按<;删除>;按钮删除对应的操作员。    C你可以直接修改输入框中的内容,然后点击<;保存>;按钮。 (3)成绩录入:  A成绩录入是系统的关键,也就是说成绩录入的工作最大,为了更为方便成绩录入,该模块进行优化设计,极大限度提高了 数据录入速度。  B先选择学科:从选择学科的下拉框中选择对应的学科,这时候试卷编号框中会出现对应学科的试卷编号。  C正确选择试卷编号后,右面的列表框中会出现对应学生成绩记录,你可以使用<;前记录>;<;后记录>;<;尾记录>;<;首记录>;来查看  D本模块还具有指定查找功能,例如:当你在指定姓名的选择框中选择一个学生姓名时,右面的数据列表中只会显示对应的 学生的成绩记录。同样的,下接选择班级的选择框时,右面的列表会显示该班级的全部考试成绩记录。    E在追加学生的成绩记录前,你应该清楚当前的试卷编号是否存在,如不存在,那么你应该点击<;增试卷>;按钮,根据按照增 试卷的操作正确增加试卷记录。    F将学生的考试成绩输入对应的输入框中,注:在左上成绩录入框中,你只用输入对应的学号回车系统立即会匹配对应的姓 名当然,总得分是必须输入的。其它的题型分布分数可根据实际情况而定。学生试场考试情现场况记录可以从对应的列表 框中选择,输入完成后,按<;确认>;按钮进行保存。  G在成绩录入时,系统能够验正数据的完整性和唯一性。对用户不确定数据进行排错。并且能够正确详细提示用户重新输入  H每一记录数据输入完毕后,能统计出对应的最高分、最低分及平均分和数据个数。  I如果输入的学生不存在,你可以点击<;增学生>;按钮,进行对应的操作界面,正确增加对应学生资料。  J点选右面的数据列表,你可以对当前记录进行修改和删除。  K某一试卷对应的一班学生输入完毕后,点击<;排序>;后将分数按名次进行排序,同级分数者为并列名次。如果你修改了其中 的数据,而没有进行排序,此时系统会在退出该操作窗口前自动进行排充。   (3)学生成绩查询:  A查询方有:按考试编号精确查询、按考生姓名模糊查询、按总得分大于查询、按本次排名、按所在班级集体查询。  B查询内容是由不同的查询方产生的结果。查询内容除了下拉选择之外你还能手工输入内容进行查询。例如查询方为: 考生姓名模糊查询时,此时查询内容中会出现对应的所有学生姓名,你可以下拉选择,当然你也可以输入某个学生的姓名 ,然后按回车,系统就能列表查询该学生对应的学科的所有考试成绩,除了列表显示,系统还显了最高分、最低分、平均 分和数据记录个数。     C如果需要将查询结果输出,点击<;打印>;按钮就可以将查询结果打印输出。 D如果需要进行图例分析,请点击<;图例>;按钮。 (4)学生成绩图例分析:    A查询方:   ①分析个人单科成绩分布情况(按试卷和考试时间分布) ②分析个人单科平均成绩变化曲线(成绩波动) ③分析单科各次全班成绩平均分(按考试次序分布) ④分析单科全班各次考试最高分分布情(按考试时间) ⑤分析单科全班各次考试最低分分布情(按考试时间) ⑥分析单科全班各次考试及格率(按学号60%及格) ⑦分析某次考试按分数段分布学生数(10分一段) B开始查询时,应该根据你的需要下拉选择对应的查询条件:学生姓名、学科选择、所属班级、选择试卷、起始日期、终止 日期,选择结束后,点击<;开始查询>;按钮此时屏幕动态出现成绩分布曲线。  C如果你已正确设置你的打印机,那么你点击<;图例打印>;按钮就可以输出分析曲线。同时你也可以点击<;保存图例>;将屏幕的 成绩分布曲线以BMP的格保存于你指定的目录中,以便今后调用查看。     D如果你还没有选查询方,这时你开始点<;开始查询>;按钮,那么系统会弹出查询条件选择对话框,当你正确选择查询条件 后就可以开始查询。 (5)系统注册:      如果你的系统没有注册,那么系统将禁止你使用一些功能,你可以点击系统板面上的<;系统注册>;按钮,此时会出现系统注 册窗口,将你的用户软件序列号通过EMAIL或电话联系BCBCSOFT,将得到的注册号输入对应的输入框,按开 始注册即可。同时保存好注册号。请你注意:如果你的机器的硬件如主板和CPU和硬盘等硬件更新后,必须重新注册。    (6)操作员管理:   本模块的功能是修改、增加、删除操作员,不同的操作员有不同的权限,本功能共有:管理员级、数据维护、查询分析等 权限,其中的管理员级拥有全部数据处理功能,数据维护级只能对学生的成绩进行追加、修改、删除,但没有系统设定的 权限查询分析级只能对学生成进行分析、打印。    (7)学生资料设定:    A学生的资料设定包括:学号、准考证、姓名、级段、班级、性别、年龄、电话、OICQ、EMAIL、职务、住址。     B删除学生记录时,请你注意:该操作除了删除记录还删除该学生的所有成绩记录, (8)关于我们:   BCBSOFT学生成绩分析统计管理系统V1.01),本成软件属于共享软件,请你正常注册使用。敬告:由于本系统的应用程序 和数据经过专业加密,如不正常注册而使用本系统造成的不良后果本人概不负责。我们负责注册软件的升级和技术支持, 在使用过程中发现本软件的BUG请你告诉BCBSOFT,我们会免赠送注册码五个。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

白茶丫

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值