用PHP函数排学生成绩问题

用PHP函数排学生成绩问题,第1张

<php

/

1学生成绩0-59不及格,60-70 普通成绩 70-80 良好 80-90 优秀 90-100 优异。现在有三个学生a,b,c,成绩分别是50分 80分 95分,判断这三个学生分别属于哪类。

首先,各类别分数设定不严谨,正确应该为:0-59不及格,60-69普通,70-79良好,80-89优秀,90-100优异

/

echo "学生a类型为:"  getLevel(50)  '<br />'; // 学生a,方便演示加了一个 <br /> 换行符

echo "学生b类型为:"  getLevel(80)  '<br />'; // 学生b,方便演示加了一个 <br /> 换行符

echo "学生c类型为:"  getLevel(95)  '<br />'; // 学生c,方便演示加了一个 <br /> 换行符

/

2班级有一百名学生,分数区间0-100分。随机生成一百位学生的成绩,学生名称S1-----S100,学生成绩0-59不及格,60-70 普通成绩, 70-80 良好, 80-90 优秀, 90-100 优异,然后判断该学生分数所在档次。

同样,各类别分数设定不严谨,正确应该为:0-59不及格,60-69普通,70-79良好,80-89优秀,90-100优异

/

// 获取随机生成分数数组

$scores = getRandscore(100);

// 循环处理类型

foreach ($scores as $key => $value) {

echo "学生S{$key}分数为:"  $value  ",类型为:"  getLevel($value)  '<br />'; // 方便演示加了一个 <br /> 换行符

}

/ 定义自定义函数 /

/

  随机生成分数

  

  @param int $number 学生人数

  @return array

 /

function getRandscore($number = 0) {

// 定义数组

$scores = array();

// FOR 循环

for ($i = 1; $i <= $number; $i++) {

$scores[$i] = rand(0, 100);

}

// 输出结果

return $scores;

}

/

  按分数获取等级

  

  @param int $score 分数

  @return string

 /

function getLevel($score = 0) {

if ($score <= 0) {

$i = 1; // 如果小于或等于0分,直接设定为第一级别,不及格

} elseif ($score >= 100) {

$i = 5; // 如果大于等于100分,直接设定为最高级别,优异

} else {

// 定义等级分数线,格式 array(等级1 => array(当前级别最低分数,当前级别最高分数))

$_score = array('1' => array(0, 59), '2' => array(60, 69), '3' => array(70, 79), '4' => array(80, 89), '5' => array(90, 100));

// 其他分数进行FOR循环判断,$i 值为 1 - 5

for ($i = 1; $i < 6; $i++) {

if ($score >= $_score[$i][0] && $score <= $_score[$i][1]) {

break; //中断循环判断

}

}

}

// 定义等级文字

$_level = array( '1' => '不及格', '2' => '普通', '3' => '良好', '4' => '优秀', '5' => '优异');

// 输出结果

return $_level[$i]  $_level[$i] : '其他';

}

//gradehtml 把name="course1"改成name="course[]",类似的全改。

<html>    

<head>    

 <title>Sample Input Form</title>    

</head>    

<body>    

<p>    

<h1>Sample Transcript Report Form</h1>    

<p>    

<form method=POST action="gradephp">    

<table border=0 cellspacing=2 cellpadding=2>    

<tr><th>Course Name</th>    

<th>Units(1-5)</th>    

<th>Grade(0-100)</th>    

</tr>    

<tr>    

<td>    

<input type="text" name="course[]" size="30" value="">    

</td>    

<td>    

<input type="text" name="units[]" size="10" value="">    

</td>    

<td>    

<input type="text" name="grade[]" size="10" value="">    

</td>    

</tr>    

<tr>    

<td>    

<input type="text" name="course[]" size="30">    

</td>    

<td>    

<input type="text" name="units[]" size="10">    

</td>    

<td>    

<input type="text" name="grade[]" size="10">    

</td>    

</tr>    

<tr>    

<td>    

<input type="text" name="course[]" size="30">    

</td>    

<td>    

<input type="text" name="units[]" size="10">    

</td>    

<td>    

<input type="text" name="grade[]" size="10">    

</td>    

</tr>    

<tr>    

<td>    

<input type="text" name="course[]" size="30">    

</td>    

<td>    

<input type="text" name="units[]" size="10">    

</td>    

<td>    

<input type="text" name="grade[]" size="10">    

</td>    

</tr>    

<tr>    

<td height=25>&nbsp;</td>    

</tr>    

<tr><td colspan=3 align=center>    

<input type=submit value="Submit">    

</td>    

</tr>    

</table>    

<hr>    

</body>    

</html>    

//gradephp 被提交页面

<php

$count=count($_POST['course']);

echo '<table border="1"><tr><th>course</th><th>units</th><th>grade</th><th>evaluation</th></tr>';

$unitsSum=$gradeSum=0;

for ($i=0; $i < $count; $i++) { 

    $unitsSum += $_POST['units'][$i];

    $gradeSum += $_POST['grade'][$i];

    echo '<tr><td>',$_POST['course'][$i],'</td><td>',$_POST['units'][$i],'</td><td>',$_POST['grade'][$i],

        '</td><td>',evaluate($_POST['grade'][$i]),'</td></tr>';

}

echo '</table>';

echo 'Total units taken: ',$unitsSum,'<br>Average grade: ',$gradeSum/$count;

function evaluate($grade){

    $evaluation='';

    if ($grade>=90) {

        $evaluation='A';

    }elseif ($grade<90 && $grade>=80) {

        $evaluation='B';

    }elseif ($grade<80 && $grade>=70) {

        $evaluation='C';

    }else{

        $evaluation='D';

    }

    return $evaluation;

}

echo '<hr>';

echo '<pre>';

var_dump($_POST);

echo '</pre>';

<php

$a=array();

$b=0;

for ($i=0; $i <10 ; $i++) {

$a[$i]=rand(0,100);

$b+=$a[$i];

}$b=$b/10;

print_r($a);

echo"<br>";

print_r('平均成绩'$b);echo"<br>";

$max=max($a);

print_r('最高成绩'$max);echo"<br>";

$min=min($a);

print_r('最低成绩'$min);echo"<br>";

$c=0;

for ($i=0; $i <10 ; $i++) {

if($a[$i]>$b){

$c=$c+1;

}

}

print_r('超过平均值人数'$c);echo"<br>";

>

纯手打不易,望采纳

action 到 doingphp 就要用post或者get之后连接数据库,插入数据并显示数据,下面是个小例子也有注释

<php

$data['class'] = $_POST['class'] + 0;

$data['name'] = trim($_POST['name']);

$data['math'] = $_POST['math'] + 0;

$data['chemistry'] = $_POST['chemistry'] + 0;//以下的自己写

/连接数据库 插入数据/

$conn = mysql_connect('url','username','password');

$sql = 'use db_name';

mysql_query($sql,$conn);

//这个其实可以封装成一个更好的丢向方法就不写了

foreach($data as $k=>$v){

$sql = 'insert into db('$k')value("'$v'")';

mysql_query($sql,$conn);

}

/取出数据并打印/

$sql = 'select class,name,math,chemistry from table_name order by class';

$res = mysql_query($sql,$conn);

echo '<table id="score"><tr><td>班级</td><td>名字</td><td>数学</td><td>化学</td></tr>';

while($row = mysql_fetch_assoc($res)){//取关系数组,打印

echo '<tr><td>'$row['class']'</td><td>'$row['name']'</td><td>'$row['math']'</td><td>'$row['chemistry']'</td></tr>';

}

echo '</table>';>

<php

echo check(779);

function check($score){

if($score>=790){

echo "优";

}else if($score>=780&&$score<790){

echo "良";

}elseif($score>=770&&$score<780){

echo "中";

}

elseif($score>=760&&$score<770){

echo "合格";

}else{

echo "看不出这个是什么字";

}

}

>

<php

switch ($score=43) // 这里不能放表达式的

{

case "$score>=90&&$score<=100": // 这里好像也不能这样

echo"优秀<br>";

break;

case "$score>=80&&$score<90": // 这里好像也不能这样

echo"良好<br>";

break;

case "$score>=70&&$score<80": // 这里好像也不能这样

echo"中等<br>";

break;

case "$score>=60&&$score<70": // 这里好像也不能这样

echo"及格<br>";

break;

case "$score>=0&&$score<60": // 这里好像也不能这样

echo"不及格<br>";

break;

default:

echo"成绩输入错误<br>";

break;

}

// 我觉得判断成绩的,最好用 if 语句,因为 switch 是要具体捕捉某一个值的,不是很适用于大范围的判断

// 还有的是,从输入框输入的是一个字符串,虽然你输入的是数字,但它也会当作字符串来处理

// 有说得不对的,请见谅,,,,

>

以上就是关于用PHP函数排学生成绩问题全部的内容,包括:用PHP函数排学生成绩问题、用PHP输出成绩单表格、用PHP编写 随机产生10个学生的成绩,求平均成绩,最高成绩,最低成绩,并统计高于平均成绩的人数等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/web/9640374.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-30
下一篇 2023-04-30

发表评论

登录后才能评论

评论列表(0条)

保存