ปัญหา
เขียนโปรแกรมคำนวณพื้นที่สามเหลี่ยม สี่เหลี่ยม วงกลม สี่เหลี่ยมผืนผ้า และรูปหลายเหลี่ยม โดยใช้สวิตช์เคส
วิธีแก้ปัญหา
ตามหมายเลขตัวพิมพ์ พื้นที่ของรูปสามเหลี่ยม สี่เหลี่ยม วงกลม สี่เหลี่ยมผืนผ้า และรูปหลายเหลี่ยมจะถูกคำนวณ
- ตรรกะที่ใช้ในการหา พื้นที่สามเหลี่ยม เป็นดังนี้ −
ใส่ด้านของสามเหลี่ยม 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