学生学籍管理系统(类似DOS下的操作)

Linux下与用户交互,用文件存储用户数据 ,

具有增加,删除,修改,查询的功能

设计要点:每次进入系统,将用户信息全部加载到内存,用户修改,删除,增加都是在内存中操作,

详情

学生学籍管理系统(类似DOS下的操作)_第1张图片
1.jpg
  1. 我的主页面:index.php,

  2. 函数库:functions.php,

  3. 用户信息:student.db(JSON格式存储)
    index.php代码

                       

functions.php代码

                        $v){
                                                echo $k."\t";
                                                $file=json_decode($v,true);//返回解码的数组
                                                echo $file['id']."\t";
                                                echo $file['name']."\t";
                                                echo $file['sex']."\t";
                                                echo $file['total']."\t";
                                                echo date("Y-m-d",$file['time'])."\n";
                                                }

                                }

                        //查询信息  
                                function findInfo(){
                                                global $studata;
                                                showInfo();//首先展示学生信息
                                                $list=$studata;//全部的用户信息,每一个单元为一个学生的信息
                                                fwrite(STDOUT,"请输入用户学号查询:");
                                                $content=trim(fgets(STDIN));//获取用户查询内容  
                                                fwrite(STDOUT,"查询结果如下:\n");
                                                echo " 编号\t  学号   \t 姓名\t性别\t总分数\t操作时间\n";
                                                echo "-------------------------------------------\n";
                                                foreach($list as $k=>$v){
                                                        $file=json_decode($v,true);//每个学生的信息
                                                        if(strpos($file['id'],$content)!==false){
                                                                echo $k."\t";
                                                                echo $file['id']."\t";
                                                                echo $file['name']."\t";
                                                                echo $file['sex']."\t";
                                                                echo $file['total']."\t";
                                                                echo date("Y-m-d",$file['time'])."\n";
                                                        }
                                                }
                                }





                        //增加学生信息
                                function addInfo(){
                                        showInfo();
                                        $arr=array();
                                        fwrite(STDOUT,"请输入学号:");
                                        $arr['id']=trim(fgets(STDIN));
                                        fwrite(STDOUT,"请输入姓名:");
                                        $arr['name']=trim(fgets(STDIN));
                                        fwrite(STDOUT,"请输入性别:");
                                        $arr['sex']=trim(fgets(STDIN));
                                        fwrite(STDOUT,"请输入总分:");
                                        $arr['total']=trim(fgets(STDIN));
                                        $arr['time']=time();
                                        //写入文件
                                        $f=fopen("./studentInfo.db","a");//已追加方式打开
                                        fwrite($f,json_encode($arr)."\n");//生成json格式的字符串
                                        fclose($f);//有开就有关。
                                }


                        //删除学生信息  
                                function delInfo(){
                                        global $studata;
                                        showInfo();//显示用户信息
                                        fwrite(STDOUT,"请输入需要删除学生的学号:");
                                        $key=trim(fgets(STDIN));
                                        $status=false;
                                        echo " 编号\t  学号   \t 姓名\t性别\t总分数\t操作时间\n";
                                                echo "-------------------------------------------\n";
                                                //查找匹配并且输出                      
                                                foreach($studata as $k=>$v){
                                                        $file=json_decode($v,true);//每个学生的信息
                                                        if($file['id']===$key){
                                                                echo $k."\t";
                                                                echo $file['id']."\t";
                                                                echo $file['name']."\t";
                                                                echo $file['sex']."\t";
                                                                echo $file['total']."\t";
                                                                echo date("Y-m-d",$file['time'])."\n";
                                                                $num=$k;
                                                                $status=true;
                                                        }else{  //当用户不存在的时候,  
                                                                $status=false;
                                                                }
                                                }
                                        if($status==true && $num>=0){
                                        fwrite(STDOUT,"确认删除该用户[1/0]:");
                                        $keytwo=trim(fgets(STDIN));
                                        if($keytwo==1){
                                                unset($studata[$num]);//销毁
                                                saveInfo();//保存
                                                fwrite(STDOUT,"删除成功!");
                                              }
                                }else{
                                        echo    "该用户不存在!";
                                        }
                        }

                        //修改学生信息  
                                function modInfo(){//如果存在需要修改的用户,先删除,后修改。
                                                global $studata;
                                                showInfo();
                                                fwrite(STDOUT,"请输入需要修改的学号:");
                                                $key=trim(fgets(STDIN));
                                                $status=false;
                                        echo " 编号\t  学号   \t 姓名\t性别\t总分数\t操作时间\n";
                                                echo "-------------------------------------------\n";
                                                //查找匹配并且输出                      
                                                foreach($studata as $k=>$v){
                                                        $file=json_decode($v,true);//每个学生的信息
                                                        if($file['id']===$key){
                                                                echo $k."\t";
                                                                echo $file['id']."\t";
                                                                echo $file['name']."\t";
                                                                echo $file['sex']."\t";
                                                                echo $file['total']."\t";
                                                                echo date("Y-m-d",$file['time'])."\n";
                                                                $num=$k;
                                                                $status=true;
                                                        }else{  //当用户不存在的时候,
                                                                 $status=false;
                                                                }
                                                }
                                                if($status==true && $num>=0){
                                                fwrite(STDOUT,"确认修改该用户[1/0]:");
                                                $keytwo=trim(fgets(STDIN));
                                                         if($keytwo==1){
                                                                 unset($studata[$num]);//销毁
                                                                  saveInfo();//保存
                                                                  addInfo();//追加一个
                                                fwrite(STDOUT,"修改成功!");
                                              }
                                        }else{
                                               echo  "该用户不存在!";
                                        }
                                }
                        //返回用户信息的一个数组,每一个单元是一个人信息,而且是以json格式编码的
                                function returnInfo(){
                                                $list=array();
                                                $f=fopen("./studentInfo.db","r");
                                                while($row=fgets($f)){
                                                        $list[]=$row;
                                                        }
                                                fclose($f);
                                                return $list;
                                 }

                                function saveInfo(){
                                                global $studata;//json编码的
                                                $f=fopen("./studentInfo.db","w");
                                                foreach($studata as $v){
                                                        fwrite($f,$v);
                                                }
                                                fclose($f);
                                        }

你可能感兴趣的:(学生学籍管理系统(类似DOS下的操作))