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

Why Soft Skills Matter as Much as Grades?

Blog banner

Virtual Machine

Blog banner

Memory management

Blog banner

Memory Management

Blog banner

Assignment 2

Blog banner

Dal Bafla Recipe

Blog banner

Why Progressive Web Apps (PWAs) Are Replacing Traditional Websites

Blog banner

5 Things I As A Dentist Would Never Do (And What You Can Learn From It)

Blog banner

Some facts about Technology

Blog banner

Importance of education

Blog banner

Traditional Unix System

Blog banner

Junk food vs healthy food

Blog banner

Time Series Analysis

Blog banner

What is OS and its overview

Blog banner

Throttle engine ’Sneak peek into the future’

Blog banner

Footprinting

Blog banner

Uniprocessor Scheduling

Blog banner

PERT Overview

Blog banner

The Bold Digital Marketing Moves That Made Durex India’s Second-Largest Condom Brand

Blog banner

An Overview of Virtual Machines

Blog banner

CYBERBULLYING: Negative comments!

Blog banner

File management

Blog banner

Sage

Blog banner

security controls

Blog banner

How to Prepare Your Child for Their First Day of School?

Blog banner

Uniprocessor Scheduling

Blog banner

What is Data, Information and Knowledge?

Blog banner

Dekkers Algorithm

Blog banner

10 Survival Tips that might save your life

Blog banner

Modern Operating Systems

Blog banner

File management

Blog banner

LEMON PICKLE SWEET AND MILD HOT

Blog banner

Why You Should Not Use Free VPNs

Blog banner

I/O Management and Disk Scheduling

Blog banner

A BLOG ON MYSQL

Blog banner

Network Forensics Tools and Techniques

Blog banner

Celebrate Diwali the Delicious Way with Meal Maharaj Catering

Blog banner

Security in Cloud Computing

Blog banner

15 Interesting Facts about India

Blog banner

Search Marketing In 2026: From Keywords To Credibility And User Intent

Blog banner

MODERN OPERATING SYSTEMS

Blog banner

Webmail

Blog banner