CT1111: PROGRAMMING IN C
Week 1 - Lecture 2
Worked Through Example
- Problem Description:
- Objective: Write a program that reads in an exam mark.
- Output:
- "Passed" if the mark is 60 or more.
- "Failed" if the mark is less than 60.
Pseudocode
- Outline of the logic to implement:
- Get exam grade.
- If grade is greater than or equal to 60:
- Print "Passed".
- Else:
- Print "Failed".
Flowchart
- Start
- Get Grade
- Check if Grade >= 60:
- If True: Print "Passed"
- If False: Print "Failed"
- End
Example Code Snippet
void main() {
int grade = 0;
printf ("Enter grade: ");
scanf("%d", &grade);
if (grade >= 60) {
printf ("Passed \n");
} else {
printf ("Failed \n");
}
}
Another Example
- New Task:
- Write a program to take in three subject grades for a student.
- Calculate the average of the three grades:
- If average > 60: Print "Passed" and the average grade.
- Otherwise: Print "Failed" and the average grade.
Pseudocode for Average Calculation
- Get exam grade1 for subject 1.
- Get exam grade2 for subject 2.
- Get exam grade3 for subject 3.
- Calculate average of grade1, grade2, and grade3.
- If average >= 60:
- Print "Passed with average of [average]".
- Else:
- Print "Failed with average of [average]".
Flowchart for Average Calculation
- Start
- Get Grade1, Grade2, Grade3
- Calculate Average
- Check if Average >= 60:
- If True: Print "Passed with average of [average]"
- If False: Print "Failed with average of [average]"
- End
Example Code Snippet for Average Calculation
#include <stdio.h>
void main() {
int grade1 = 0;
int grade2 = 0;
int grade3 = 0;
float average = 0;
printf ("Enter grade1: ");
scanf("%d", &grade1);
printf ("Enter grade2: ");
scanf("%d", &grade2);
printf ("Enter grade3: ");
scanf("%d", &grade3);
average = (grade1 + grade2 + grade3) / 3;
if (average >= 60) {
printf ("Passed, with average = : %f \n", average);
} else {
printf ("Failed, with average = : %f \n", average);
}
}
Output from Previous Example
- Enter grade1: 45
- Enter grade2: 56
- Enter grade3: 78
Output
- "Failed, with average: 59.000000"
Floating Point Version
#include <stdio.h>
void main() {
float grade1 = 45.0, grade2 = 56.0, grade3 = 78.0;
float avg;
avg = (grade1 + grade2 + grade3) / 3.0;
if (avg >= 40.0) {
printf ("Passed with average of: %f\n", avg);
} else {
printf ("Failed with average of: %f\n", avg);
}
}
Output - Notice the Difference from Previous Example
Output
- "Passed with average of: 59.666668"
#include <stdio.h>
void main() {
float grade1 = 45.0, grade2 = 56.0, grade3 = 78.0;
float avg;
avg = (grade1 + grade2 + grade3) / 3.0;
if (avg >= 40.0) {
printf ("Passed with average of: %.2f\n", avg);
} else {
printf ("Failed with average of: %.2f\n", avg);
}
}
Output
- "Passed with average of: 59.67"
- Start
- Get Grade
- Check if Grade >= 60:
- If True: Print "Passed"
- If False: Print "Failed"
- End
C Program for Single Grade Check
void main() {
int grade;
printf ("Enter Grade: ");
scanf ("%d", &grade);
if (grade >= 60) {
printf ("Passed\n");
} else {
printf ("Failed\n");
}
}
Using scanf Function
scanf ("%d", &grade);
- Function name example.
- Always end line with ;.
- Use parentheses () to enclose parameters:
- Expecting text containing an integer.
- Variable name preceded by &.
Sample Output
Same Example but with Floats
void main() {
float grade;
printf ("Enter Grade: ");
scanf ("%f", &grade);
if (grade >= 40) {
printf ("Passed\n");
} else {
printf ("Failed\n");
}
}
Using scanf for Floats
- Explanation for usage:
-
scanf ("%f", &grade);
- Function name example.
- Always end line with ;.
- Expecting text containing a float.
Using printf for Output
- Example: \n
printf ("%f", grade);
- Function name example.
- Always end line with ;.
- Use parentheses () to enclose parameters:
- Expecting text containing a float.
- Variable name to display.
Flowchart for Average Calculation with Three Subjects
- Start
- Get Grade1, Grade2, Grade3
- Calculate Average
- Check if Average >= 40:
- If True: Print "Passed with average of [Average]"
- If False: Print "Failed with average of [Average]"
- End
Complete Program for Average Calculation
void main() {
float grade1, grade2, grade3;
float avg;
printf ("Enter Grade for First Subject: ");
scanf ("%f", &grade1);
printf ("Enter Grade for Second Subject: ");
scanf ("%f", &grade2);
printf ("Enter Grade for Third Subject: ");
scanf ("%f", &grade3);
Continuing the Program Logic
avg = (grade1 + grade2 + grade3) / 3.0;
if (avg >= 40.0) {
printf ("Passed with average of: %.2f \n", avg);
} else {
printf ("Failed with average of: %.2f \n", avg);
}
}
Final Output Example
- Enter Grade for First Subject: 34
- Enter Grade for Second Subject: 35
- Enter Grade for Third Subject: 88
Sample Output
- "Passed with average of: 52.33"