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

Demystifying Cryptography: A Beginner's Guide

Blog banner

computer security

Blog banner

My Favorite Country

Blog banner

Technical Challenges and Directions for Digital Forensics

Blog banner

Service Operation

Blog banner

Virtual memory

Blog banner

Tea, Coffee, Red Wine, and Teeth: A Stain Survival Guide

Blog banner

Memory Management

Blog banner

Segmentation and paging concept

Blog banner

Advantage of freedom

Blog banner

CRISP-DM Methodology

Blog banner

Different types of scam Fraud

Blog banner

MEMORY MANAGEMENT FILE

Blog banner

Sweet Mango Murabba

Blog banner

ITIL Version 3 and 4 differenciation?

Blog banner

CyberSecurity Color Wheel

Blog banner

GIS REMOTE SENSING

Blog banner

Yoga in INDIA and ABROAD

Blog banner

Top 10 Logos and their meanings

Blog banner

MUTUAL EXCLUSION

Blog banner

Article on IT development trends

Blog banner

Smartphone Security: Vulnerabilities and Attacks

Blog banner

CYBER FORENCIS: PAST, PRESENT AND FUTURE.

Blog banner

COMPUTER FORENSICS AND GRAPHICS

Blog banner

Security issues

Blog banner

Hacking

Blog banner

Social Network Analysis: Ek Naya Nazariya Data Science Mein

Blog banner

Memory Management

Blog banner

Multiple-Processor Scheduling in Operating System

Blog banner

IT Service as as Value Creation

Blog banner

Network Forensics Tools and Techniques

Blog banner

Evolution of Operating system

Blog banner

Memory Management in Operating System

Blog banner

Power of words

Blog banner

A Statistical Analysis of Player Performance and their Value in cricket

Blog banner

Introduction to Data Science: Life Cycle & Applications

Blog banner

Drawing tips for a beginner

Blog banner

Top 5 Places To Stay And Visit In Berlin, Germany

Blog banner

What is semaphore in operating system?

Blog banner

A Happier Workplace Starts with Healthy Lunches by Meal Maharaj

Blog banner

Direct Memory Access

Blog banner

Human Error: The weakest link in Cybersecurity

Blog banner