0% found this document useful (0 votes)
3 views6 pages

SP Lab 3-Section 15

The document outlines a lab assignment for the King Hussein Faculty of Computing Sciences focusing on conditional operators in programming. It includes objectives, example tasks such as a student grade evaluator and queue state determination, and extra exercises for character classification and modifying digits in a number. The assignment aims to teach students about various programming concepts including logical operators, if statements, and function definitions.

Uploaded by

saw20219009
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
3 views6 pages

SP Lab 3-Section 15

The document outlines a lab assignment for the King Hussein Faculty of Computing Sciences focusing on conditional operators in programming. It includes objectives, example tasks such as a student grade evaluator and queue state determination, and extra exercises for character classification and modifying digits in a number. The assignment aims to teach students about various programming concepts including logical operators, if statements, and function definitions.

Uploaded by

saw20219009
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
You are on page 1/ 6

King Hussein Faculty of Computing Sciences

Department of Computer Science

Structured Programming Lab – Section 15


Lab Assignment #3 – Conditional operators
Thursday 20/3/2025 @ 2:00 to 5:00 pm
Spring 2024/2025

Total Mark / 10

Lab #3 Objectives
● equality and relational operators
● logical operators (AND, OR, NOT)
● Equality (==) and assignment (=) Operators.
● precedence of operators
● if selection statement
● if ...else selection statement
● The conditional operator ( ?:)
● nested if ... else statements
● switch multiple-selection statement

Page 1 of 6
Part I: Lab Example
Example – Student Grade Evaluator
The student will implement a simple grade evaluation system where:

 A random score between -10 and 110 is generated.


 The program assigns a letter grade based on the score.
 The program prints a message based on the assigned grade.

Introduction:
The student will implement a simple grade evaluation system where:

 A random score between -10 and 110 is generated.


 The program assigns a letter grade based on the score.
 The program prints a message based on the assigned grade.

Steps to Follow:
 Define a function getGrade() that:
o Takes the score as a parameter.
o Returns the letter grade based on standard grading criteria.
 If the score is out of range (less than 0 or more than 100), return '0'.
 If the score between 90 and 100 return A
 If the score between 80 and 90 return B
 If the score between 70 and 80 return C
 If the score between 60 and 70 return D
 If the score between 50 and 60 return E
 If the score less than 50 return F
 Define another function printMessage() that:
o Takes the letter grade as a parameter.
o Uses a switch statement to print feedback based on the grade (See code below).
 Inside the main () function:
o Declare an integer variable to store the randomly generated score.
o Use rand () to generate a random score between -10 and 110.
o Call getGrade() to determine the letter grade.
o Display the generated score and letter grade using printf().
Call printMessage() to display an appropriate message.

Sample Output

Your grade as number is: 85


Your grade as char is: B
Good job! Keep it up.

Page 2 of 6
Solution

Page 3 of 6
PART II: Lab Exercise
On the desktop, create a folder named Lab3 followed by your id inside it Create project named
Lab3Ex1.

Exercise 1 –Determine Queue State


Exercise Objectives
 Code reuse.
 Switch multiple-selection statement
 Using if else statements.

Problem Description

Create a program that determines the state of a queue based on its current size compared to its
maximum capacity. The user will enter the current queue size and the maximum queue capacity,
and the program will return whether the queue is empty, half-full, or full.

Steps to Follow:

1. Declare integer variables for queue size and maximum capacity.


2. Define a function getQueueState() that:
o Takes the current queue size and maximum capacity as input.
o Returns -1 if the queue is empty.
o Returns 1 if the queue is full.
o Returns 0 otherwise.
3. Inside the main() function:
o Ask the user to enter the current queue size and maximum queue capacity.
o Call getQueueState() to determine the queue state.
o Use a switch statement to print:
 "Queue is empty" if the function returns -1.
 "Queue is half-full" if the function returns 0.
 "Queue is full" if the function returns 1.
o If the user enters invalid values (negative queue size or zero/negative capacity),
print "Invalid input!".

Sample Output
Example 1 (queue is empty)
Enter current queue size: 0
Enter maximum queue capacity: 10
Queue is Empty

Example 2 (queue is half full)


Enter current queue size: 5
Enter maximum queue capacity: 10
Queue is Half Full

Page 4 of 6
Example 3 (queue is full)
Enter current queue size: 10
Enter maximum queue capacity: 10
Queue is Full

Example 4 (invalid input)


Enter current queue size: -2
Enter maximum queue capacity: 10
Invalid input!

Page 5 of 6
PART III: Extra Lab Exercises
Exercise 1 –Character Classification: Check if a Character is a Letter

Write a C program that do the following:


 Write a function named is_Letter that takes as argument a single char and returns 1 if the
character is a letter or 0 otherwise.
 Write a main function that test the previous functions

Note:
 Capital letter Alphabets (A-Z) lie in the range 65-91 of the ASCII value
 Small letter Alphabets (a-z) lie in the range 97-122 of the ASCII value
 Any other ASCII value is a non-alphabetic character.

Sample Output

Enter Character
A
A is letter

Enter Character
5
5 is not letter

Exercise 2 –Modify Even Digits with Random Even Numbers

Write a C program that does the following:

 Write a function named modifyNumber that takes a 4-digit integer as an argument.


o The function should modify the number such that:
 If a digit is even, replace it with a random even number (between 0 and 8).
 If a digit is odd, leave it unchanged.
o The function should return the modified number.
 In the main function:
o Prompt the user to enter a 4-digit number.
o If the entered number is not a valid 4-digit number, display an error message and
exit.
o Call the modifyNumber function and display both the original and modified
numbers.

Sample Output

Enter a 4-digit number: 2486


Original number: 2486
Modified number: 2266

Page 6 of 6

You might also like