Quay lại   Cộng đồng C Việt > LẬP TRÌNH C++ | LẬP TRÌNH C | LẬP TRÌNH C++0X > Thắc mắc lập trình C/C++/C++0x

Trả lời
 
Các công cụ đề tài Các chế độ hiển thị
  #1  
Cũ 15-04-2008, 03:45 PM
Avatar của truongphanbinh
truongphanbinh truongphanbinh là offline
Thành viên mới
 
Ngày gia nhập: 03 2008
Nơi ở: TP HCM
Bài viết: 27
Mặc định

Tính chu vi, diện tích tam giác


Đề bài: Xuất ra màn hình diện tích tam giác. Làm bằng hàm (chương trình con).
Mình mong các bạn để ý giùm phần chú thích của mình nha, do mình mới học về tham biến và tham trị nên còn chưa rành lắm. Thanks
#include <conio.h>
#include <iostream.h>
#include <math.h>
void Nhapcanh(char canh, float &x);
float TinhChuViTamGiac (float x, float y, float z);
float TinhDientichTamGiac(float x,float y,float z);
void Xuatketqua (float x);
//phan ham main
void main()
{
   clrscr();
   float a,b,c,dt;
   Nhapcanh ('a',a);       //a,b,c la tham bien cho x vi o tren co &x trong ham NhapCanh
   Nhapcanh ('b',b);
   Nhapcanh ('c',c);
   dt=TinhDientichTamGiac(a,b,c);
   Xuatketqua(dt);
   getch();
}


//Phan dinh nghia ham
void Nhapcanh(char canh, float &x)
{
   do
   {
   cout<<"Ban hay nhap do dai canh "<<canh<<"=";
   cin>>x;
   }
   while(x<0);
}


float TinhChuViTamGiac(float x, float y, float z)
{
    float cv=0;
    if(x+y>z&&x+z>y&&y+z>x)
     cv=(x+y+z);
    return cv;
}


float TinhDienTichTamGiac(float x,float y, float z)
{
   float p,s;
   p=TinhChuViTamGiac(x,y,z)/2;
   s=sqrt(p*(p-x)*(p-y)*(p-z));
   return s;
}


void XuatKetqua(float x)//x la tham tri cho s
{
   if (x>0)
     cout<<"Dien tich Tam giac la "<<x;
   else
      cout<<"Gia tri vua nhap ko la tam giac";
}
Trả lời cùng với trích dẫn
  #2  
Cũ 15-04-2008, 04:55 PM
Avatar của fedo
fedo fedo là offline
Thành viên chính thức
 
Ngày gia nhập: 10 2007
Bài viết: 32
Mặc định

Chào bạn!
Chỉ xem mình phần chú thích thôi hả bạn. Mình chưa hiểu ý bạn nên chưa dám nhận xét phần chú thich. Tuy nhiên, nình thấy bài của bạn khi compile chắc chắn sẽ có 2 lỗi sau(lỡ mà còn những lỗi khác thì chưa biết, mới đọc code thôi)
- Hàm khai bào là Xuatketqua(float x) nhưng khi định nghĩa hàm thì lại là XuatKetQua(float x), khi gọi hàm là Xuatketqua(float x). Tương tư đối với TinhDienTichTamGiac() nữa nhà. Sửa lại đi bạn
- float s = sqrt(...) là sai vì sqrt() trả về double. Bạn có thể ép kiểu để sửa lỗi này

Đã được chỉnh sửa lần cuối bởi fedo : 15-04-2008 lúc 05:04 PM.
Trả lời cùng với trích dẫn
  #3  
Cũ 15-04-2008, 05:39 PM
Avatar của NT_OnlyLove
NT_OnlyLove NT_OnlyLove là offline
Thành viên tích cực
 
Ngày gia nhập: 07 2007
Nơi ở: Sơn La
Bài viết: 135
Mặc định

Nếu đang học về truyền tham chiếu cho hàm thì nên khai báo như sau :
Trích dẫn:
1.void Truyen_Tham_Tri(const int &_int, const float &_float,...);
Why?
2.void Truyen_Tham_Chieu(int &_int, char &_char,...);
3.Phức tạp hơn thì tìm những bài về con trỏ chỉ tới con trỏ... của bác Dr và của Rr nhé.
Chút gợi ý nhỏ, còn bài của bạn mình không xem được nên miễn góp ý.
__________________
Trao đổi kiến thức sẽ giúp ta tiếp cận nhanh với kiến thức.
Trả lời cùng với trích dẫn
Trả lời
Google
 

Bookmarks

Các công cụ đề tài
Các chế độ hiển thị

Các nguyên tắc gửi bài
Bạn không thể gửi đề tài mới
Bạn không thể gửi bài trả lời
Bạn không thể gửi các đính kèm
Bạn không thể chỉnh sửa bài viết của bạn

[IMG] code: On
HTML code: Off

Nhảy tới diễn đàn


Toàn bộ thời gian tính theo múi GMT +7. Bây giờ là 11:57 PM.