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

10 Reasons to Date a South Indian Girl

Blog banner

The Khan mehtab transforming the modular switches

Blog banner

Race Condition in Operating Theatre

Blog banner

**THE MUJAWARR: Transforming the Logistics Industry**

Blog banner

INTERNET SECURITY

Blog banner

The Secure Software Development Life Cycle (SDLC)

Blog banner

Visualization in Data Science

Blog banner

SmartData Collective: Data Science aur Analytics ki Duniya

Blog banner

Deadlock in operating system

Blog banner

Deadlocks in operating system

Blog banner

LIMITED EDITION

Blog banner

From Procrastinator to Performer: How to Beat the Last-Minute Rush

Blog banner

Socket Programming in Java

Blog banner

What is E-commerce

Blog banner

Cache Memory

Blog banner

Threads

Blog banner

Importance of internet

Blog banner

A-B-C of Networking: Part-3 (Topology [Ring, Tree, Mesh])

Blog banner

Principal of concurrency

Blog banner

Explain website hacking issues

Blog banner

What is thread and alse multithreading

Blog banner

Privacy-Enhancing Computation Techniques

Blog banner

bulk email software

Blog banner

The Future of Cybersecurity: Trends, Challenges, and Strategies

Blog banner

MAILFENCE

Blog banner

"The Benefits of Using GIS in Agriculture"

Blog banner

Nature’s Brush on Silk: The Secret Behind Patola Colours

Blog banner

Is Social Media Marketing The Next Wave Of Digital Marketing?

Blog banner

child Labour

Blog banner

Article on Zoho Corporation

Blog banner

How the mobile IP is used in GSM architecture.

Blog banner

Understanding Univariate, Bivariate, and Multivariate Analysis in Data Science

Blog banner

Emailing the merger document

Blog banner

Decoding the Weave — How to Identify Original Patola Art on a Fabric

Blog banner

Every body is beautiful

Blog banner

Types of Hackers.

Blog banner

Interrupts

Blog banner

APACHE KAFKA

Blog banner

Virtual memory

Blog banner

Memory Management

Blog banner

Never give up

Blog banner

Business-to-Business

Blog banner