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

Routers

Blog banner

Session Hijacking

Blog banner

On-Page SEO

Blog banner

Modern operating system

Blog banner

Landslide Hazard

Blog banner

Beauty of indian railway

Blog banner

MySQL

Blog banner

Data Visualization

Blog banner

Unlocking Success: Mastering Google Ads Strategies

Blog banner

What is HTML?

Blog banner

Music is life

Blog banner

Operating system and overviews

Blog banner

What Makes Patola the Queen of Silk?

Blog banner

Hacking Mobile Platforms

Blog banner

The Right way of cooking

Blog banner

Cyber-crime Investigation and Future Directions

Blog banner

Street foods

Blog banner

Apache Kafka

Blog banner

Disk Scheduling

Blog banner

OS ASSIGNMENT

Blog banner

Man VS Nature

Blog banner

Compromising Mobile Platforms

Blog banner

BENIFITS OF YOGA

Blog banner

Security and E-mail

Blog banner

Traditional UNIX Scheduling

Blog banner

I/O Buffering

Blog banner

File system

Blog banner

The Essential Guide to Dynamic Arrays vs. Linked Lists: Which to Use and When ?

Blog banner

Steganography and Steganalysis

Blog banner

Consumer to consumer Business model

Blog banner

SECURITY TOOLS

Blog banner

INTERNET

Blog banner

10 Signs That Prove YOU are his FIRST priority.

Blog banner

File management in os

Blog banner

Cyber Security in Data Breaching

Blog banner

Career v/s Job : Choose your passion

Blog banner

Recipe of Paneer Butter Masala

Blog banner

DATA VAULT

Blog banner

Evolution of operating system

Blog banner

Studying Denial of service attack using DOSHTTP tool

Blog banner

Memory heirachy (Operating system)

Blog banner

Use case of K-means clustering

Blog banner