Giúp đỡ code tam giác

Viết chương trình có sử dụng kiểu dữ liệu struct, tạo menu và định nghĩa các hàm để thực hiện các công việc sau:

a. Nhập vào tọa độ (x,y) của 3 điểm gọi là A, B, C trong hệ trục tọa độ Descartes để lập thành 3 đỉnh của một tam giác (nếu không thỏa mãn là 3 đỉnh của một tam giác yêu cầu nhập lại). Xuất ra màn hình (console) tọa độ của 3 đỉnh tam giác tương ứng.
b. Tính chu vi và diện tích tam giác ABC.
c. Kiểm tra đây là tam giác cân (tại đỉnh nào), tam giác đều hay tam giác thường.
d. Kiểm tra đây là tam giác vuông (tại đỉnh nào), tam giác vuông cân (tại đỉnh nào) hay tam giác thường.
e. Tạo menu để thực hiện các công việc trên và xuất kết quả ra màn hình (console).
Kết thúc chương trình khi bấm chọn phím 0.

Hi there,

Cậu muốn bọn tớ giúp gì nào? Với cả, cậu có thể post code dưới dạng text được không?

5 Likes

mọi người giúp em làm câu này với ạ em làm được 1 tí mà không biết nên làm tiếp như thế nào và sai ở đâu:

#include<stdio.h>
#include<conio.h>
#include<iostream>
#include<math.h>
using namespace std;
int main(){
	//truc toado
	struct toado{
		float x,y;
	};
	// khai bao bien toado
	float kiemtra();
 toado A,B,C;
	// nhap toa do ba diem
	cout<<"\nNhap toa do 3 diem:";
	cout<<"\n A\t:";
	cin>>A.x>>A.y;
	cout<<"\n B\t:";
	cin>>B.x>>B.y;
	cout<<"\n C\t:";
	cin>>C.x>>C.y;
	//tinh do dai doan thang 
	float d1;//AB
	float d2;//AC
	float d3;//BC
 	d1 = sqrt((A.x-B.x)*(A.x-B.x)+(A.y-B.y)*(A.y-B.y));
	d2 = sqrt((A.x-C.x)*(A.x-C.x)+(A.y-C.y)*(A.y-C.y));
	d3 = sqrt((B.x-C.x)*(B.x-C.x)+(B.y-C.y)*(B.y-C.y));
	// in do dai ba doan thang
	cout<<"\n AB :"<<d1;
	cout<<"\n AC :"<<d2;
	cout<<"\n BC :"<<d3;
		//kiem tra tinh thang hang
		float kiemtra();{
		if(d1+d2==d3||d1+d3==d2||d2+d3==d1){
		cout<<"\n 3 diem A,B,C khong tao thanh tam giac";
		cout<<"\n yeu cau nhap lai";
 }
		else
		{
		cout<<"\nla tam giac";
}
}
		float p=(d1+d2+d3)/2;
	float s=(p*(p-d1)*(p-d2)*(p-d3));
	cout<<"\n chu vi tam giac :"<<2*p;
	cout<<"\n dien tich tam giac :"<<s;
	// kiem tra day la tam giac can (tai dinh nao ) ,deu hay tam giac thuong
	if(d1==d2||d2==d3||d3==d1)
	{
	cout<<"\ntam giac can\n";
		if(d1==d2)
		cout<<"\ntam giac can tai dinh A\n";
		else if(d2==d3)
		cout<<"\n tam giac can tai dinh C\n";
		else
		cout<<"\n tam giac can tai dinh B\n";
		}
	else if(d1==d2&&d2==d3)
	cout<<"\ntam giac deu\n";
	else if(d1*d1+d2*d2==d3*d3||d1*d1+d3*d3==d2*d2||d2*d2+d3*d3==d1*d1)
	{
	cout<<"\ntam giac vuong\n";
	if(d1*d1+d2*d2==d3*d3)
	cout<<"\ntam giac vuong dinh A\n";
	else if(d2*d2+d3*d3==d1*d1)
	cout<<"\ntam giac vuong dinh C\n";
	else
	cout<<"\ntam giac vuong dinh B\n";
	}
	else if(d1*d1+d2*d2==d3*d3||d1*d1+d3*d3==d2*d2||d2*d2+d3*d3==d1*d1&&d1==d2||d2==d3||d3==d1)
	cout<<"\ntam giac vuong can\n";
	else
	cout<<"\ntam giac thuong\n";
}
2 Likes

mọi người ơi , em mới học năm nhất đại học và cô giáo cho bài tập giống bài này nhưng với C thôi ạ . lúc em học là lúc đang cách ly tránh dịch nên khó tránh khỏi nhiều chỗ không hiểu dẫn đến em cũng ko làm đc bài tập này . mọi người có thể giúp em với không ạ . em không làm được cái gì hết ấy ạ :frowning:

Welcome to DNH @QUAN_NGUYEN5

Bọn tớ chỉ có thể giúp cậu khi cậu đã làm được cái gì đó thôi.
Khi cậu “không làm được cái gì hết”, khả năng là cậu không hiểu gì, chứ không phải “nhiều chỗ không hiểu”. Cậu nên đọc lại tài liệu, làm các bài cơ bản trước, rồi thử làm bài này xem. Như thế sẽ tốt hơn cho cậu.


@Hoangquyen
Tớ không familiar với Cpp lắm, cơ mà có một số thứ tớ muốn cậu chỉnh:

  • Cậu nên format lại code. Code đó không dễ đọc chút nào đâu.
  • Làm sao cậu biết là code đó “sai”? Cậu có test TH nào rồi? Input là gì, output kỳ vọng là gì, và output thực tế là gì?
  • Code menu của cậu đâu?

Bổ sung thêm thông tin nhé cậu! :slight_smile:

4 Likes

Làm được phần nhập điểm trước đã.

Vào bài: Tam giác vuông thì không thể là tam giác đều, mà tam giác đều thì nó phải cân, vậy thì đầu tiên chia thành tam giác vuông và không vuông.

2 Likes

cảm ơn mọi người đã góp ý , mình đã làm được phần nhập điểm rồi . bây h mình sẽ cố làm thử phần tiếp theo xem có được hay không .:slight_smile:

83% thành viên diễn đàn không hỏi bài tập, còn bạn thì sao?