DANH SÁCH BÀI VIẾT Vẽ hình tam giác trong lập trình C/C++ Vẽ hình vuông trong lập trình C/C++ Vẽ hình chữ nhật trong lập trình C/C++ Kiểm tra 3 cạnh nhập vào có tạo thành hình tam giác Tính chu vi, diện tích hình tam giác trong C/C++ Tính chu vi diện tích hình tròn, thể tích hình cầu trong C/C++ Tính diện tích, thể tính hình lập phương trong lập trình C/C++ Tính diện tích, thể tích hình hộp chữ nhật trong lập trình C/C++ Tính diện tích, thể tích hình trụ tròn trong lập trình C/C++
Đây là một bài tập rất cơ bản giúp cho việc luyện tập code lập trình C/C++.
Tính diện tích, thể tích hình trụ tròn trong lập trình C/C++
Hình trụ tròn là một loại hình học không gian cơ bản được giới hạn bởi mặt trụ và hai đáy là hai đường tròn bằng nhau.
Tính diện tích hình trụ thì người ta cũng chia ra làm diện tích xung quanh tức là diện tích của mặt xung quanh, và diện tích toàn phần bao gồm cả diện tích 2 mặt đáy là 2 mặt tròn.
Vậy trong bài viết này chúng ta cùng đi viết chương trình tính diện tích xung quanh, diện tích toàn phần, thể tích của hình trụ tròn trong lập trình C/C++. Nhưng trước đó ta hãy cùng đi tìm hiểu cách lấy giá trị Pi chính xác nhất trong C/C++.
Pi trong C/C++ (π)
Tất cả các tính toán liên quan tới đường tròn, hình tròn, hình cầu thì đều phải liên quan tới hàng số pi(π), Pi là hàng số vô tỉ có giá trị là 3.14159265359.x.x.x… và thông thường khi tính toán người ta sẽ dùng giá trị sấp sỉ là 3.14.
Tuy nhiên, trong lập trình C nếu bạn muốn sử dụng Pi với một con số chính xác gần hơn(đã là hàng số vô tỉ thì không thể có chính xác tuyệt đối) ta có thể tính toán Pi thông qua bảng lượng giác.
Trong bảng lượng giác bạn đã biết thì arccost của -1 chính là bằng Pi(π). Thư viện math.h đã cũng cấp sẵn 1 hàm cho phép chúng ta tính được arccost của 1 giá trị là hàm double acos(float a).
#include <stdio.h>
#include <math.h>
using namespace std;
int main()
{
printf("%f",acos(-1) );
}
Ta viết thành 1 hàm tính Pi như sau:
#include <stdio.h>
#include <math.h>
using namespace std;
//Hàm tính pi
float tinhPi(){
return acos(-1);
}
int main()
{
printf("%f", tinhPi());
}
Tính diện tích xung quang
Nếu một hình trụ tròn có bán kính đáy là r và chiều cao h thì diên tích xung quanh được tính bằng:
Sxq = 2.π.r.h
Vậy ta viết chương trình C
#include <stdio.h>
#include <math.h>
//Hàm tính tính PI
float tinhPi(){
return acos(-1);
}
//Khai báo biến toàn cục hàng số PI
const float PI = tinhPi();
int main()
{
int r, h;
printf("Nhap ban kinh day: ");
scanf("%d", &r);
printf("Nhap chieu cao: ");
scanf("%d", &h);
int Sxq = 2 * PI *r * h;
printf("\n\nDien tich xung quanh hinh tru tron la: %d", Sxq);
}
Mình viết lại hàm tính diện tích xung quanh tách thành 1 hàm riêng như sau
#include <stdio.h>
#include <math.h>
float tinhPi(){
return acos(-1);
}
//Khai báo biến toàn cục hàng số PI
const float PI = tinhPi();
int dienTichXQ(int r, int h){
return 2 * PI *r * h;
}
int main()
{
int r, h;
printf("Nhap ban kinh day: ");
scanf("%d", &r);
printf("Nhap chieu cao: ");
scanf("%d", &h);
printf("\n\nDien tich xung quanh hinh tru tron la: %d", dienTichXQ(r,h));
}
Tính diện tích toàn phần
Nếu một hình trụ tròn có bán kính đáy là r và chiều cao h thì thể tích được tính bằng:
Stp = 2.π.r.(r + h)
Vậy ta viết chương trình C
#include <stdio.h>
#include <math.h>
//Hàm tính tính PI
float tinhPi(){
return acos(-1);
}
//Khai báo biến toàn cục hàng số PI
const float PI = tinhPi();
int main()
{
int r, h;
printf("Nhap ban kinh day: ");
scanf("%d", &r);
printf("Nhap chieu cao: ");
scanf("%d", &h);
int Stp = 2 * PI * r * (r + h);
printf("\n\nDien tich toan phan hinh tru tron la: %d", Stp);
}
Mình sẽ lại viết tách hàm tính diện tích toàn phần thành 1 hàm riêng như sau
#include <stdio.h>
#include <math.h>
float tinhPi(){
return acos(-1);
}
//Khai báo biến toàn cục hàng số PI
const float PI = tinhPi();
int dienTichTP(int r, int h){
return 2 * PI * r * (r + h);
}
int main()
{
int r, h;
printf("Nhap ban kinh day: ");
scanf("%d", &r);
printf("Nhap chieu cao: ");
scanf("%d", &h);
printf("\n\nDien tich xung quanh hinh tru tron la: %d", dienTichTP(r,h));
}
Tính thể tích
Nếu một hình trụ tròn có bán kính đáy là r và chiều cao h thì thể tích được tính bằng:
V = π.r2.h
#include <stdio.h>
#include <math.h>
//Hàm tính tính PI
float tinhPi(){
return acos(-1);
}
//Khai báo biến toàn cục hàng số PI
const float PI = tinhPi();
int main()
{
int r, h;
printf("Nhap ban kinh day: ");
scanf("%d", &r);
printf("Nhap chieu cao: ");
scanf("%d", &h);
int V = PI * r * r * h;
printf("\n\nThe tich hinh tru tron la: %d", V);
}
Mình sẽ lại viết tách hàm tính thể tích thành 1 hàm riêng như sau
#include <stdio.h>
#include <math.h>
float tinhPi(){
return acos(-1);
}
//Khai báo biến toàn cục hàng số PI
const float PI = tinhPi();
int theTich(int r, int h){
return PI * r * r * h;
}
int main()
{
int r, h;
printf("Nhap ban kinh day: ");
scanf("%d", &r);
printf("Nhap chieu cao: ");
scanf("%d", &h);
printf("\n\nThe tich hinh tru tron la: %d", theTich(r,h));
}
Chương trình tính diện tích, thể tích hình hộp chứ nhật
Với cả 3 ý trên mình sẽ gộp lại thành một chương trình hoàn chỉnh như sau:
#include <stdio.h>
#include <math.h>
float tinhPi(){
return acos(-1);
}
//Khai báo bi?n toàn c?c hàng s? PI
const float PI = tinhPi();
int dienTichXQ(int r, int h){
return 2 * PI *r * h;
}
int dienTichTP(int r, int h){
return 2 * PI * r * (r + h);
}
int theTich(int r, int h){
return PI * r * r * h;
}
int main()
{
int r, h;
printf("Nhap ban kinh day: ");
scanf("%d", &r);
printf("Nhap chieu cao: ");
scanf("%d", &h);
int Sxq = dienTichXQ(r,h);
int Stp = dienTichTP(r,h);
int V = theTich(r,h);
printf("\n\nDien tich xung quanh hinh tru tron la: %d", Sxq);
printf("\nDien tich toan phan hinh tru tron la: %d", Stp);
printf("\nThe tich hinh tru tron la: %d", V);
}
Bạn chạy thử chương trình nhé!
[Xem tất cả bài viết chủ đề C/C++ tại đây]