Classes/Fall 2024/csci218/Labs/Lab10/lab10.c

96 lines
2.3 KiB
C

/* Name: Garrett Haldrup
# lab10.c
# Purpose: Solves problems assigned in Lab 10
*/
#include <stdio.h>
#include <math.h>
#include <assert.h>
float distance(float x1, float y1, float x2, float y2);
float perimeterOfTriangle(float x1, float y1, float x2, float y2, float x3, float y3);
float circleArea(float radius);
char scoreToLetter(int score);
int main(){
float x1, y1, x2, y2, x3, y3;
x1 = 1, y1 = 2, x2 = 4, y2 = 6, x3 = 5, y3 = 3;
char list[] = {'F', 'D', 'E', 'C', 'B', 'A', 'N'};
int count = 0;
printf("\nTest cases for score to letter\n");
for (int i = 51; i <= 101; i += 10) {
char grade = scoreToLetter(i);
assert(grade = list[count]);
printf("The score of %d is letter grade: %c\n", i, scoreToLetter(i));
printf("Pass!---------------------------------------------------\n");
count++;
}
//test example
printf("\n\ntest distance(): \n");
float radius = distance(x1, y1, x2, y2);
assert(radius == 5.00);
printf("Pass!---------------------------------------------------\n");
printf("\n\ntest circleArea(): \n");
float area = circleArea(radius);
assert((int)area == 78);
printf("Pass!---------------------------------------------------\n");
printf("\n\ntest perimeterOfTriangle(): \n");
float perimeter = perimeterOfTriangle(x1, y1, x2, y2, x3, y3);
assert((int)perimeter == 12);
printf("Pass!---------------------------------------------------\n");
return 0;
}
char scoreToLetter(int score) {
switch (score) {
case 60 ... 69:
return 'D';
break;
case 70 ... 79:
return 'C';
break;
case 80 ... 89:
return 'B';
break;
case 90 ... 100:
return 'A';
break;
default:
if (score < 0 || score > 100) {
return 'N';
} else {
return 'F';
}
break;
}
}
float distance(float x1, float y1, float x2, float y2) {
float distance = sqrt(pow(x1 - x2, 2)+pow(y1 - y2, 2));
return distance;
}
float perimeterOfTriangle(float x1, float y1, float x2, float y2, float x3, float y3) {
float perimeter = distance(x1, y1, x2, y2) + distance(x2, y2, x3, y3) + distance(x3, y3, x1, y1);
return perimeter;
}
float circleArea(float radius) {
float area = M_PI * pow(radius, 2);
return area;
}