-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathfunctions.php
More file actions
109 lines (86 loc) · 2.18 KB
/
Copy pathfunctions.php
File metadata and controls
109 lines (86 loc) · 2.18 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
<?php
// ================= PARKING CONSTANTS =================
define("STUDENT_PERMIT", 450);
define("STAFF_PERMIT", 750);
define("VISITOR_PERMIT", 100);
define("MAX_PARKING_CAPACITY", 100);
// ================= LIBRARY FUNCTIONS =================
function calculateFine($category, $daysLate)
{
$rates = [
"Textbook" => 5,
"Journal" => 3,
"Reference Book" => 10
];
if(isset($rates[$category]))
{
return $rates[$category] * $daysLate;
}
return 0;
}
function borrowBook(&$users, $userName, $bookTitle, $category)
{
if($users[$userName]["fine"] > 200)
{
echo "<p style='color:red;'>$userName cannot borrow books due to outstanding fines.</p>";
return;
}
$users[$userName]["books"][] = [
"title" => $bookTitle,
"category" => $category,
"returned" => false
];
echo "<p>$userName borrowed $bookTitle successfully.</p>";
}
function returnBook(&$users, $userName, $bookIndex, $daysLate)
{
if(isset($users[$userName]["books"][$bookIndex]))
{
$book = &$users[$userName]["books"][$bookIndex];
if(!$book["returned"])
{
$fine = calculateFine($book["category"], $daysLate);
$users[$userName]["fine"] += $fine;
$book["returned"] = true;
echo "<p>$userName returned {$book['title']}.</p>";
echo "<p>Fine Charged: R$fine</p>";
}
}
}
function printUserSummary($users)
{
echo "<h2>User Summary</h2>";
foreach($users as $name => $info)
{
echo "<h3>$name</h3>";
echo "Outstanding Fine: R".$info["fine"]."<br>";
echo "<strong>Books:</strong><br>";
foreach($info["books"] as $book)
{
echo "- ".$book["title"]." (".$book["category"].")<br>";
}
echo "<hr>";
}
}
// ================= PERFORMANCE FUNCTIONS =================
function calculateAverage($marks)
{
$sum = array_sum($marks);
return $sum / count($marks);
}
function getResult($average)
{
if($average >= 75)
{
return "Distinction";
}
elseif($average >= 50)
{
return "Pass";
}
else
{
return "Fail";
}
}
?>