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

Photography

Blog banner

Marvel Cinematic Universe

Blog banner

Deadlock

Blog banner

Service Design Model

Blog banner

Electronic Funds Transfer

Blog banner

Biometric Authentication and Privacy: Balancing Ethical Concerns

Blog banner

RSA (Rivest-Shamir-Adelman) Algorithm

Blog banner

Music is life

Blog banner

GIS Applications: How Different Industries are Leveraging Geospatial Data

Blog banner

Virtual Machine

Blog banner

Security issues

Blog banner

Internet: The Vast Ocean Of Knowledge.

Blog banner

Docker Framework

Blog banner

Survey of Which Movies Types people are Prefer to Watch in India.

Blog banner

Importance of Education

Blog banner

Memory Management in Operating System

Blog banner

How Laughing Gas Makes Your Dental Visit So Much Easier

Blog banner

The Dark Web: A Breeding Ground for Cybercriminals – How to Guard Against Threats

Blog banner

VIRTUAL MACHINES

Blog banner

Service Validation and Testing during the Design Phase

Blog banner

LinkedIn

Blog banner

Virtual machine and virtualizing

Blog banner

Electronic data interchange

Blog banner

Web Site

Blog banner

College Life

Blog banner

Financial Fraud Detection

Blog banner

Blockchain uses and use cases

Blog banner

KASHMIR TRIPS

Blog banner

What is Spyware?

Blog banner

Constrained Management in IT

Blog banner

PERSONAL STORIES

Blog banner

KPMG (Klynveld Peat Marwick Goerdeler)

Blog banner

RAID

Blog banner

Strengthening Active Directory Security

Blog banner

What is E-commerce

Blog banner

Deadlock and Starvation

Blog banner

NIKE

Blog banner

Drawing tips for a beginner

Blog banner

FREE VERSION OF G-MAIL

Blog banner

Royal enfield

Blog banner

virtual machines and virtualization

Blog banner

Types of Hackers

Blog banner