wisemonkeys logo
FeedNotificationProfileManage Forms
FeedNotificationSearchSign in
wisemonkeys logo

Blogs

Student Grade Calculator in LISP

profile
Zaobiya Khan
Jul 16, 2025
2 Likes
1 Discussions
0 Reads

The program performs the following key functions:


  1. Takes user input for the three scores, each between 0 and 100.
  2. Validates that the entered scores are numbers within the correct range.
  3. Calculates the average of the three scores.
  4. Determines the letter grade (A–F) based on the calculated average:


A: 90–100

B: 80–89

C: 70–79

D: 60–69

F: below 60


Displays the results: individual scores, average score (formatted to 2 decimal places), and final letter grade.


Program:-


;; Student Grade Calculator

(defun calculate-grade (total)

(cond ((>= total 90) "A")

((>= total 80) "B")

((>= total 70) "C")

((>= total 60) "D")

(t "F")))


(defun get-valid-score (prompt min max)

(format t "~%~A (Enter score between ~D and ~D): " prompt min max)

(let ((score (read)))

(if (and (numberp score) (>= score min) (<= score max))

score

(progn

(format t "Invalid score! Please enter a number between ~D and ~D~%" min max)

(get-valid-score prompt min max)))))


(defun main ()

(format t "~%Welcome to Student Grade Calculator~%")

;; Get scores for different components

(let* ((assignment (get-valid-score "Enter Assignment score" 0 100))

(midterm (get-valid-score "Enter Midterm score" 0 100))

(final (get-valid-score "Enter Final exam score" 0 100))

;; Calculate weighted total

(total (/ (+ assignment midterm final) 3))

(final-grade (calculate-grade total)))

;; Display results

(format t "~%Results:~%")

(format t "Assignment Score: ~D~%" assignment)

(format t "Midterm Score: ~D~%" midterm)

(format t "Final Score: ~D~%" final)

(format t "Average Score: ~,2F~%" total)

(format t "Final Grade: ~A~%" final-grade)))


;; Run the program

(main)


Output:


Comments ()


Sign in

Read Next

Fault tolerance

Blog banner

What your Favorite colour says about You?

Blog banner

Social Media.

Blog banner

A-B-C of Networking: Part-2 (Components)

Blog banner

INTRODUCTION

Blog banner

INTRODUCTION TO C#

Blog banner

10 Types of Friends in every friend group

Blog banner

Process Description

Blog banner

Bots and Cyber Security

Blog banner

Apache Spark :- Powerful Data Processing Tool

Blog banner

Answer

Blog banner

Linux Virtual Machine Process Scheduling

Blog banner

The Role of Cyber Forensics in Addressing Cyber security Challenges in Smart Cities

Blog banner

How to grow followers on Instagram business account?

Blog banner

Linux Memory Management

Blog banner

Remote Work in 2026

Blog banner

DEVELOPMENTS LEADING TO MODERN OPERATING SYSTEMS

Blog banner

Throttle engine ’Sneak peek into the future’

Blog banner

Denial-of-Service and Distributed Denial-of-Service Attack Techniques

Blog banner

Memory management

Blog banner

Different Types of Data

Blog banner

Junk food vs healthy food

Blog banner

Save Environment

Blog banner

5 People who claimed to have Time Traveled

Blog banner

The Future of Cybersecurity: Trends, Challenges, and Strategies

Blog banner

Environmental Management using GIS

Blog banner

Webmail

Blog banner

Virtual Memory

Blog banner

My Favorite Sportsperson

Blog banner

Privacy-Enhancing Computation Techniques

Blog banner

A buffer overflow

Blog banner

Data Analytics in Data Science

Blog banner

Malware

Blog banner

Evolution of the Microprocessor ~ Aditya Pai

Blog banner

How Preschool Annual Day Shapes Confidence, Emotions, and Growth

Blog banner

An Approach To Spyware Detection And Removal

Blog banner

INTERNET

Blog banner

Instagram

Blog banner

Race Conditions

Blog banner

Deadlock

Blog banner

Rules and Regulations of Networking: "Standards and Protocols" - Part 2

Blog banner

Electronic Evidence in Cyber Forensics

Blog banner