PHP - Xếp hạng năng lực của học sinh cuối năm
Một trường trung học phổ thông muốn viết chương trình kiểm tra năng lực của học sinh để xét học lực, trường có tổng cộng 5 môn như sau:
- Toán
- Lý
- Hóa
- Tiếng Anh
- Văn
- Lích Sử
Điểm trung bình được tính dựa vào tổng của 6 môn và chia cho 6, và sẽ xếp loại dựa vào yêu cầu sau:
- Điểm trung bình bé hơn 5 là học sinh yếu
- Điểm trung bình trong khoảng 5 -> 6,4 là học sinh trung bình
- Điểm trung bình trong khoảng 6,5 -> 7,9 là học sinh khá
- Điểm trung bình lớn hơn 7,9 là học sinh giỏi
Nếu một trong 6 môn dưới 4 điểm thì xếp loại yếu. Lưu ý là phải kiẻm tra thang điểm của mỗi môn phải nằm trong khoảng từ 0 -> 10.
Bài giải
-------------------- ######## --------------------
Công thức của đề bài rất rõ ràng rồi, bây giờ ta chỉ code thôi ;)
Bài viết này được đăng tại freetuts.net, không được copy dưới mọi hình thức.
// Bạn tự thay thế điểm để test nhes $toan = 6; $ly = 4; $hoa = 6; $anhvan = 7; $van = 10; $lichsu = 9; // Kiểm tra thang điểm đúng hay sai if ($toan < 0 || $toan > 10){ echo 'Điểm môn Toán phải từ 0 -> 10'; } else if ($ly < 0 || $ly > 10){ echo 'Điểm môn Lý phải từ 0 -> 10'; } else if ($hoa < 0 || $hoa > 10){ echo 'Điểm môn Hóa phải từ 0 -> 10'; } else if ($anhvan < 0 || $anhvan > 10){ echo 'Điểm môn Anh Văn phải từ 0 -> 10'; } else if ($van < 0 || $van > 10){ echo 'Điểm môn Văn phải từ 0 -> 10'; } else if ($lichsu < 0 || $lichsu > 10){ echo 'Điểm môn Lịch Sử phải từ 0 -> 10'; } else if ($anhvan < 0 || $anhvan > 10){ echo 'Điểm môn Anh Văn phải từ 0 -> 10'; } else if ($toan <= 4 || $ly <= 4 || $hoa <= 4 || $anhvan <= 4 || $van <= 4 || $lichsu <= 4){ echo 'Xếp loại yếu'; } else { $diemTrungBinh = ($toan + $ly + $hoa + $anhvan + $van + $lichsu) / 6; if ($diemTrungBinh < 5){ echo "Xếp loại yếu"; } else if ($diemTrungBinh >= 5 && $diemTrungBinh < 6.5){ echo "Xếp loại trung bình"; } else if ($diemTrungBinh >= 6.5 && $diemTrungBinh < 7){ echo "Xếp loại khá"; } else { echo "Xếp loại giỏi"; } }
Bạn có thể tham khảo chương trình kết hợp với form.
<!DOCTYPE html> <html> <head> <title>Freetuts.net</title> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> </head> <body> <?php if (isset($_POST['cal'])) { // Bạn tự thay thế điểm để test nhes $toan = $_POST['toan']; $ly = $_POST['ly']; $hoa = $_POST['hoa']; $anhvan = $_POST['anhvan']; $van = $_POST['van']; $lichsu = $_POST['lichsu']; // Kiểm tra thang điểm đúng hay sai if ($toan < 0 || $toan > 10){ echo 'Điểm môn Toán phải từ 0 -> 10'; } else if ($ly < 0 || $ly > 10){ echo 'Điểm môn Lý phải từ 0 -> 10'; } else if ($hoa < 0 || $hoa > 10){ echo 'Điểm môn Hóa phải từ 0 -> 10'; } else if ($anhvan < 0 || $anhvan > 10){ echo 'Điểm môn Anh Văn phải từ 0 -> 10'; } else if ($van < 0 || $van > 10){ echo 'Điểm môn Văn phải từ 0 -> 10'; } else if ($lichsu < 0 || $lichsu > 10){ echo 'Điểm môn Lịch Sử phải từ 0 -> 10'; } else if ($anhvan < 0 || $anhvan > 10){ echo 'Điểm môn Anh Văn phải từ 0 -> 10'; } else if ($toan <= 4 || $ly <= 4 || $hoa <= 4 || $anhvan <= 4 || $van <= 4 || $lichsu <= 4){ echo 'Xếp loại yếu'; } else { $diemTrungBinh = ($toan + $ly + $hoa + $anhvan + $van + $lichsu) / 6; if ($diemTrungBinh < 5){ echo "Xếp loại yếu"; } else if ($diemTrungBinh >= 5 && $diemTrungBinh < 6.5){ echo "Xếp loại trung bình"; } else if ($diemTrungBinh >= 6.5 && $diemTrungBinh < 7){ echo "Xếp loại khá"; } else { echo "Xếp loại giỏi"; } } } ?> <div> <form method="post" action=""> Toán <input type="text" name="toan" value=""/> <br/> Lý <input type="text" name="ly" value=""/> <br/> Hóa <input type="text" name="hoa" value=""/> <br/> Tiếng Anh <input type="text" name="anhvan" value=""/> <br/> Văn <input type="text" name="van" value=""/> <br/> Lịch Sử <input type="text" name="lichsu" value=""/> <br/> <input type="submit" name="cal" value="Kiểm tra"/> </form> </div> </body> </html>
Câu hỏi thường gặp liên quan:
- PHP - Kiểm tra một số có chia hết cho 7 hay không?
- PHP - Kiểm tra điểm học sinh có đủ điều kiện tốt nghiệp
- PHP - Xếp hạng năng lực của học sinh cuối năm