ปัญหา
เขียนโปรแกรมคำนวณพื้นที่สามเหลี่ยม สี่เหลี่ยม วงกลม สี่เหลี่ยมผืนผ้า และรูปหลายเหลี่ยม โดยใช้สวิตช์เคส
วิธีแก้ปัญหา
ตามหมายเลขตัวพิมพ์ พื้นที่ของรูปสามเหลี่ยม สี่เหลี่ยม วงกลม สี่เหลี่ยมผืนผ้า และรูปหลายเหลี่ยมจะถูกคำนวณ
- ตรรกะที่ใช้ในการหา พื้นที่สามเหลี่ยม เป็นดังนี้ −
ใส่ด้านของสามเหลี่ยม a,b,c
s=(float)(a+b+c)/2; area=(float)(sqrt(s*(s-a)*(s-b)*(s-c)));
- ตรรกะที่ใช้ในการหา พื้นที่สี่เหลี่ยมจัตุรัส เป็นดังนี้ −
ป้อนด้านข้างของสี่เหลี่ยมจัตุรัสขณะรันไทม์
area=(float)side*side;
- ตรรกะที่ใช้ในการหา พื้นที่วงกลม เป็นดังนี้ −
ป้อนรัศมีของวงกลมที่รันไทม์
area=(float)3.14159*radius*radius;
- ตรรกะที่ใช้ในการหา พื้นที่สี่เหลี่ยมผืนผ้า เป็นดังนี้ −
ป้อนความยาวและความกว้างของสี่เหลี่ยมที่รันไทม์
area=(float)len*breadth;
- ตรรกะที่ใช้หาพื้นที่ของสี่เหลี่ยมด้านขนานมีดังต่อไปนี้ −
ป้อนฐานและความสูงของสี่เหลี่ยมด้านขนาน
area=(float)base*height;
ตัวอย่าง
ต่อไปนี้เป็นโปรแกรม C เพื่อคำนวณพื้นที่ของรูปสามเหลี่ยม สี่เหลี่ยม วงกลม สี่เหลี่ยมผืนผ้า และรูปหลายเหลี่ยมโดยใช้สวิตช์กรณี -
#include<stdio.h>
#include<math.h>
main(){
int choice;
printf("Enter\n1 to find area of Triangle\n2 for finding area of Square\n3 for finding area of Circle\n4 for finding area of Rectangle\n5 for Parallelogram\n");
scanf("%d",&choice);
switch(choice) {
case 1: {
int a,b,c;
float s,area;
printf("Enter sides of triangle\n");
scanf("%d%d %d",&a,&b,&c);
s=(float)(a+b+c)/2;
area=(float)(sqrt(s*(s-a)*(s-b)*(s-c)));
printf("Area of Triangle is %f\n",area);
break;
}
case 2: {
float side,area;
printf("Enter Sides of Square\n");
scanf("%f",&side);
area=(float)side*side;
printf("Area of Square is %f\n",area);
break;
}
case 3: {
float radius,area;
printf("Enter Radius of Circle\n");
scanf("%f",&radius);
area=(float)3.14159*radius*radius;
printf("Area of Circle %f\n",area);
break;
}
case 4: {
float len,breadth,area;
printf("Enter Length and Breadth of Rectangle\n");
scanf("%f %f",&len,&breadth);
area=(float)len*breadth;
printf("Area of Rectangle is %f\n",area);
break;
}
case 5: {
float base,height,area;
printf("Enter base and height of Parallelogram\n");
scanf("%f %f",&base,&height);
area=(float)base*height;
printf("Enter area of Parallelogram is %f\n",area);
break;
}
default: {
printf("Invalid Choice\n");
break;
}
}
} ผลลัพธ์
เมื่อโปรแกรมข้างต้นทำงาน มันจะสร้างผลลัพธ์ต่อไปนี้ -
When the above program is executed, it produces the following output: Run 1: 1 to find area of Triangle 2 for finding area of Square 3 for finding area of Circle 4 for finding area of Rectangle 5 for Parallelogram 5 Enter base and height of Parallelogram 2 4 6 8 Enter area of Parallelogram is 8.000000 Run 2: 1 to find area of Triangle 2 for finding area of Square 3 for finding area of Circle 4 for finding area of Rectangle 5 for Parallelogram 3 Enter Radius of Circle 4.5 Area of Circle is 63.617199