View Full Version : cho em hỏi 2 bài C này với ạ
henryford
09-04-2009, 03:59 PM
Bài tập 1
Viết chương trình tính diện tích và chu vi các hình: tam giác, hình vuông, hình chữ nhật và hình tròn ới những thôing tin cần được nhập từ bàn phím
Bài tập 2:
Nhập vào giờ phút giây, kiểm tra xem giờ phút giây có hợp lệ hay không? In kết quả ra màn hình
Kai_it
09-04-2009, 04:19 PM
Bài tập 1
Viết chương trình tính diện tích và chu vi các hình: tam giác, hình vuông, hình chữ nhật và hình tròn ới những thôing tin cần được nhập từ bàn phím
Bài tập 2:
Nhập vào giờ phút giây, kiểm tra xem giờ phút giây có hợp lệ hay không? In kết quả ra màn hình
Bài 1: Nhập từng phần.
VD, Tam giác. Nhập độ dài 3 cạnh. a,b,c
printf, scanf..
Kiểm tra tính lợp lệ, tổng 2 cạnh phải lớn hơn cạnh còn lại.
if((a+b>c)||(a+c>b)||(c+b>a))
thì
dùng công thức tính chu vi,diện tích:S=...,P=...
in ra printf(" Chu vi: %d ,Dien tich %f",P,S); dùng %d cho kiểu số nguyên, %f kiểu số thực. S,P đã dùng công thức tính rồi.
ngược lại
printf(" 3 canh ko tao thanh tam giac");
Tương tự nhập tiếp cho, hình vuông, hình chữ nhật... và các công thức thời tiểu học.:khi15:.
Bài 2:
Nhập vào giờ, nhập vào phút, giây... h,m,s
nếu giờ <24, phút <60, giây <60...-->if(h<24|| h>=0|| 0=<m ||<60 || 0=<s|| s<60)
in ra printf("%d gio % phut % giay",h,m,s); (lâu quá ko bit viết đúng ko):khi1:
ngược lại in ra printf(" giờ nhap vao ko hợp le");
Các cách trên là thường thôi, còn muốn kiểm tra triệt để giờ sai phút sai hay giây sai thì kiểm tra lúc nhập luôn, dùng while.
Chú ý: Ở đây chỉ giải cho bạn giải thuật, chứ code nguyên bài có sẳn luôn, nhưng ko thể bê lên để bạn copy rồi ko hiểu chi hết thì như ko à :D.
linhnguyenit
09-04-2009, 04:56 PM
cũng như trên nhưng anh bổ sung thêm, mấy bài này dễ nên em tự suy luận và làm sẽ tốt hơn.
1. Tam giác: tổng 2 cạnh lớn hơn cạnh còn lại, yêu cầu kiểm tra 3 cạnh phải dương (a>0, b>0, c>0) sau đó em áp dụng công thức tính chu vi và diện tích để tính
2. hình vuông: chỉ cần nhập 1 cạnh (a>0) rồi em tính
3. Hình chữ nhật, nhập chiều dài và rộng ( a là chiều dài thì a>0, b là chiều rộng thì b> 0 và b< a) , sau đó áp dụng công thức và tính
4. Hình tròn thì em nhập vào bán kính đường tròn r>0 sau đó áp dụng công thức http://upload.wikimedia.org/math/7/5/d/75d91fd91292b00817f6540ce167b439.png để tính diện tích nè và chu vi = 2 *π* r nhớ là (π=3.14)
5. Nhập vào giờ phút giây, em nên có 1 thông báo cho nhập theo 24h hay 12h
sau đó kiểm tra ẽp nhập 24h thì em kiểm tra theo từng phần giá trị, ko nên kiểm tra chung: if( h>=0 && h<=24) if(m>=0 && m<=60) if(s>=0&&s<=60)
Ví dụ em nhập vào giờ =25 nó sẽ có 1 câu thông báo để em nhập lại h
Còn nếu đúng sẽ tiếp tục nhập phút, nếu phút em nhập sai thì chỉ nhập lại phút, không cần nhập lại biến h, và lải nhập và kiểm tra tứng phần giúp em debug dễ hơn.
Em tự làm đi, có gì thì post lên nhé
toend2008
27-04-2009, 11:35 PM
Tối Mai 28-4 mình sẽ post lời giải lên.
chemchethet
28-04-2009, 08:54 AM
điều đầu tiên bạn cần biết hình đó là hình gì rồi sau đó mới tính đựơc diện tích hay chu vi của nó ;
đây là ý tưởng bạn có thể tham khảo:
----------------
char chuoi;
cout<<"nhap hinh ma ban can tinh chu vi va dien tich ";
cout<<"chu y: '1':hinh tam giac;'2':hinh vuong;'3'hcm;'4':hinh tron";
cin>>chuoi;
swicth(chuoi)
{
case '1':
int a,b,c;
float dttg,cvtg
cout<<"nhap canh 1 ";
cin>>a;
cout<<"nhap canh 2 ";
cin>>b;
cout<<"nhap canh 3 ";
cin>>c;
if(a+b>c||b+c>a||a+c>b)
vvvv.vvv.vvvvv
else
cout<<"ban nhap sai";
case '2':
vvv.vvv.vvvv
case '3':
vvv.vvvv.vvvvv
case '4':
vvvvvv.vvvv
những chuyện còn lại là bạn tự làm nhá .
-------------------
bài 2 đơn giản lắm bạn ah . bài này bạn tự giải nha .
thank.
vBulletin® v3.8.3, Copyright ©2000-2012, Jelsoft Enterprises Ltd.