96 lines
2.3 KiB
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;
|
|
}
|