成绩计算器

问题描述 投票:0回答:2

我需要做这个练习:

创建一个函数 workOutGradeAv - 该方法将读取一些成绩,然后计算并显示平均成绩。

显示有意义的介绍性消息。 1.1 稍后在代码中声明您需要的任何变量。

1.2 在 HTML 表单上的 5 个单独的输入框中显示一条要求 5 个成绩的消息。您还应该解释他们应该每行输入一个等级 1.3 除非所有 5 个字段都正确输入且值在等级范围内,否则不可能提交表格

1.4 使用 do 循环(控制程序流程):

1.4.1 将成绩从输入表格读取到变量中。 1.4.2(使用逻辑运算符)条件语句(If)检查成绩是否超出范围 0 到 101(使用布尔 OR),如果是则打印错误消息。 1.4.3 否则,如果成绩不是 101,则将成绩添加到您的

总计。 结束 do 循环并检查成绩不是 101

1.5 计算平均成绩并用适当的消息显示结果。

我的代码是这样的: 评估1Grades.php

<!doctype html>
<html>
    <head>
        <title>Grade Assessor</title>
    </head>

    <body>
        <h2>Grade Assessor<h2>
        <table border="1">
            <tr>
                <td>
                    <table>
                        <form action="grades.php" method="post">
                            <tr>
                                <td>
                                    Enter 5 grades. One per each line:
                                </td>
                            </tr>
                            <tr>
                                <td>
                                    Grade 1: <input type="number" name="grade1" required>
                                </td>
                            </tr>
                            <tr>
                                <td>
                                    Grade 2: <input type="number" name="grade2" required>
                                </td>
                            </tr>
                            <tr>
                                <td>
                                    Grade 3: <input type="number" name="grade3" required>
                                </td>
                            </tr>
                            <tr>
                                <td>
                                    Grade 4: <input type="number" name="grade4" required>
                                </td>
                            </tr>
                            <tr>
                                <td>
                                    Grade 5: <input type="number" name="grade5" required>
                                </td>
                            </tr>
                            <tr>
                                <td align="center">
                                    <input type="submit">
                                </td>
                            </tr>
                        </form>
                    </table>
                </td>
            </tr>
        </table>
    </body>
</html>

成绩.php

<!doctype html>
<html>

    <head>
        <title>Grade Assessor</title>
    </head>

    <body>
        <h2>Grade Assessor<h2>
        <table border="1">
            <tr>
                <td>
                    <table>
                        <tr>
                            <td>
                                The Average grade is:
                            </td>
                            <td>
                                <?php
                                function workOutGradeAv() {
                                    $averagegrade=$grades/5;
                                    echo "$averagegrade";
                                }
                                $grades=0;
                                do {
                                    if ($_Post["grade1"] < 0 or $_Post["grade1"] > 101) {
                                        echo "Error! Check Input.";
                                    } elseif ($_Post["grade2"] < 0 or $_Post["grade2"] > 101) {
                                        echo "Error! Check Input.";
                                    } elseif ($_Post["grade3"] < 0 or $_Post["grade3"] >101)  {
                                        echo "Error! Check Input.";
                                    } elseif ($_Post["grade4"] < 0 or $_Post["grade4"] >101)  {
                                        echo "Error! Check Input.";
                                    } elseif ($_Post["grade5"] < 0 or  $_Post["grade5"]>101 ) {
                                        echo "Error! Check Input.";
                                    } else {
                                        $grades = $grades + $_Post["grade1"] + $_Post["grade2"] + $_Post["grade3"] + $_Post["grade4"] + $_Post["grade5"];
                                    }
                                }
                                while ($_Post["grade1"]!= 101);
                                workOutGradeAv();
                                ?>
                            </td>
                        </tr>
                    </table>
                </td>
            </tr>
        </table>
    </body>
</html>

当我提交表格时,输出只是“平均成绩是”,没有结果。我做错了什么?

谢谢

php html forms
2个回答
1
投票

您在

grades.php

中有多个错误

1)删除不必要的

do while
循环

2) 将

$_Post
替换为
$_POST
PHP
是区分大小写的语言。

3)要在函数中显示等级,您必须将

grades
声明为全局。或者将其作为参数传递。

<!doctype html>
<html>

<head>
<title>Grade Assessor</title>
</head>

<body>
<h2>Grade Assessor<h2>
<table border="1">
<tr>
<td>
<table>
<tr>
<td>
The Average grade is:
</td>
<td>
<?php

function workOutGradeAv($grades) {

$averagegrade=$grades/5;
echo "$averagegrade";
}
$grades=0;

if ($_POST["grade1"] < 0 || $_POST["grade1"] > 101)   {
echo "Error! Check Input.";
} elseif ($_POST["grade2"] < 0 or $_POST["grade2"] > 101) {
echo "Error! Check Input.";
} elseif ($_POST["grade3"] < 0 or $_POST["grade3"] >101)  {
echo "Error! Check Input.";
} elseif ($_POST["grade4"] < 0 or $_POST["grade4"] >101)  {
echo "Error! Check Input.";
} elseif ($_POST["grade5"] < 0 or  $_POST["grade5"]>101 ) {
echo "Error! Check Input.";
} else {
$grades = $grades + $_POST["grade1"] + $_POST["grade2"] + $_POST["grade3"] + $_POST["grade4"] + $_POST["grade5"];
} 

workOutGradeAv($grades);
?>
</td>
</tr>
</table>
</td>
</tr>
</table>
</body>
</html>

0
投票

我刚刚在 OfficeEssence.net 上制作了这个超级方便的在线成绩计算器。它是免费的,易于使用,可以帮助您立即了解您的成绩。我想你可能会发现它很有用!查看:OfficeEssence.net😊

© www.soinside.com 2019 - 2024. All rights reserved.