Help Me!! 1 Bài C++

™KyoMons†er™

Youtube Master Race
Tham gia ngày
8/11/08
Bài viết
92
Reaction score
0
Hic! Ông Thầy ổng cho bài này, ai làm dc thì ổng add cho 2 điểm vào bài thi. Mong Các Bro giải Giúp.

Đề: Lập Trò chơi oẳn tù tì, Kéo=0, Bao=1, Búa=2. Người Chơi Với Máy(Player VS PC) trong đó có sử dụng hàm lặp (loops) sao cho số trận thắng thua lặp theo chu kì.
Ví Dụ như PC thắng 3 lần, thua 2 lần-thắng 2,thua 3-thắng 1, thua 2.
Chu Kì thắng thua đó cứ lập đi lập lại.

P/S:Trong Bài này thì mình chỉ không biết dùng hàm lặp thôi, còn mấy fa62n kia thì ổn.
 
cho em ăn ké với :D

đề thế này : nhập vào 3 cạnh của tam giác , kiểm tra xem là tam giác gì (ko fai tam giác,tg thường,tg cân,tg đều,tg vuông,tg vuông cân)

em biết đc vầy :

int latamgiac = ((a+b>c)&&(a+c>b)&&(b+c>a))
int tgcan = ((a=b)||(a=c)||(b=c))
int tgd = ((a==b) && (b==c))
int tgv = ((a*a+b*b=c*c)||(b*b+c*c=a*a)||(a*a+c*c=a*a))

còn sắp xếp như thế nào trong lệnh if thì em ko biết
em sắp đủ cách rồi mà khi nhập ( 3 3 3) thì nó báo 1 lần 2 kết quả "là tam giac đều,là tam giác cân"
nghĩa là khi 3 cạnh đều bằng 3 thì máy nó ko phân biệt đc tam giác đều hay cân ấy
anh nào giúp em sắp xếp sao cho máy nó báo đúng nhé
Em dùng lệnh if đấy,nếu có cách khác làm thì chỉ em lun hen
thks nhìu
 
ngoài ra khi if thì nên bắt đầu với mấy cái tam giác đặc biệt truớc ví dụ, đều , cân, vuông cân , vuông cho nó đẹp
Mã:
	if(latamgiac)
	{
		cout<<"Bé là tam giác ";
		if(latamgiacdeu)
		{
			cout<<"Đều Đều";	
		}
		if(latamgiacvuongcan)
		{
			cout<<"Vuông Cân Nè ";
			break; 
		}
		if(latamgiaccan)
		{	
			cout<<"Em rất cân";
			break;
		}
		if(latamgiacvuong)
		{
			cout<<"Em rât vuông";
		}
	}
	eles
		cout<<"Em không phải là tam giác đâu anh";

Hic! Ông Thầy ổng cho bài này, ai làm dc thì ổng add cho 2 điểm vào bài thi. Mong Các Bro giải Giúp.

Đề: Lập Trò chơi oẳn tù tì, Kéo=0, Bao=1, Búa=2. Người Chơi Với Máy(Player VS PC) trong đó có sử dụng hàm lặp (loops) sao cho số trận thắng thua lặp theo chu kì.
Ví Dụ như PC thắng 3 lần, thua 2 lần-thắng 2,thua 3-thắng 1, thua 2.
Chu Kì thắng thua đó cứ lập đi lập lại.

P/S:Trong Bài này thì mình chỉ không biết dùng hàm lặp thôi, còn mấy fa62n kia thì ổn.

bài gì ngộ vậy, game oẳn tù xì gì chơi ăn gian dữ vậy, bài này cho random tỉ lệ thằng mới đúng chứ ta.
 
bài gì ngộ vậy, game oẳn tù xì gì chơi ăn gian dữ vậy, bài này cho random tỉ lệ thằng mới đúng chứ ta.
ừ vì tớ đang học hàm while, nên ổng bắt phải làm vậy đó...ổng kêu có dùng hàm chứa random nữa. Ổng còn nói là chơi như vậy làm cho người chơi có cảm giác lúc thắng lúc thua nên sẽ ko chán ^^
 
anh REALM chỉ mà ko đọc bài em gì hết
em đâu có khai biến nào "latamgiavuongcan" đâu mà
với cái lệnh cout là lệnh gì vậy
mà cho dù có biến "latamgiacvuongcan" thì em nghĩ cũng chạy sai chương trình àh
 
anh REALM chỉ mà ko đọc bài em gì hết
em đâu có khai biến nào "latamgiavuongcan" đâu mà
với cái lệnh cout là lệnh gì vậy
mà cho dù có biến "latamgiacvuongcan" thì em nghĩ cũng chạy sai chương trình àh

ok sr bé nhìu, sáng xớm buồn ngủ viết sai, bù cho bé nhé
Mã:
bé thích chơi hàm thì :
#include<iostream.h>
#include<stdlib.h>
void HienThiLoaiTamGiac(int a, int b, int c)
{
	if(a+b>c && b+c>a && a+c>b)
	{
		cout<<"Em Day La Tam Giac ";
		if(a==b && b==c)
		{
			cout<<"Deu";
			exit(1);
		}
		if(a==b || a==c || b==c)
		{
			cout<<"Can";
			exit(1);
		}
		if((a*a+b*b==c*c) || (a*a+c*c==b*b) || (c*c+b*b==a*a))
		{
			cout<<"Vuong";
			exit(1);
		}
	}
	else
		cout<<"Em Khong La Tam Giac";
	
}
còn không chơi hàm thì viết như vầy
Mã:
#include<iostream.h>
#include<stdlib.h>
void main()
{
	cout<<"Chuong Trinh Kiem Tra Tam Giac\n";
	int a,b,c;
	cout<<"Nhap Cac Canh Cua Ba Tam Giac";
	cout<<"Canh a,b,c : ";
	cin>>a>>b>>c;
		if(a+b>c && b+c>a && a+c>b)
	{
		cout<<"Em Day La Tam Giac ";
		if(a==b && b==c)
		{
			cout<<"Deu";
			exit(1);
		}
		if(a==b || a==c || b==c)
		{
			cout<<"Can";
			exit(1);
		}
		if((a*a+b*b==c*c) || (a*a+c*c==b*b) || (c*c+b*b==a*a))
		{
			cout<<"Vuong";
			exit(1);
		}
	}
	else
		cout<<"Em Khong La Tam Giac";
}

Test rùi chạy ok ko lỗi, cout thay cho cái printf, cin thay cho scanf
 
Em cũng chạy thử
Cái code đầu của anh nó báo :
id returned 1 exit status
còn cái code thứ 2 thì báo :
'main' must 'return'
Nói tóm lại là cả 2 đều ko chạy đc :(
Máy em xài Bloodshed Dev-C++,ko biết có khác gì ko
Còn bài đó cuối cùng em cũng làm đc rồi
Mã:
#include <stdio.h>
#include <conio.h>
#include <stdlib.h>
main()
{
      int a,b,c;
      printf ("nhap vao 3 canh cua 1 tam giac :");
      scanf ("%d%d%d",&a,&b,&c);
      int kfltg = ((a+b<=c)||(a+c<=b)||(b+c<=a));
      int ltg = ((a+b>c)&&(a+c>b)&&(b+c>a));
      int tgc = ((a==b)||(b==c)||(a==c));
      int tgd = ((a==b)&&(b==c));
      int tgv = ((a*a+b*b==c*c)||(a*a+c*c==b*b)||(b*b+c*c==a*a));
     
      if (kfltg) printf ("ko fai la tam giac");
     else if (tgd) printf ("la tam giac deu");
     else if(tgv)
           if (tgc) printf ("tg vc");
           else printf ("la tg v");
           else if (tgc) printf ("la tam giac can");
           else printf ("la tam giac thuong");

          getch();
          }
Dù sao cũng cám ơn anh nhìu hen
 
hì hì
cũng là sinh viên năm nhất mà
có gì anh em mình chỉ bảo nhau hen
tui cũng đang học vòng lặp nì
ông có tài liệu gì liên quan tới cái bài ông nói ko
share đi rồi có gì tui suy nghĩ phụ cho
 
cái c++ của tui viết là sài trên visual c++, nên không cần trả về giá trị của hàm main() còn trên mấy cái mới như dev thì nó sài c++ chuẩn mới nên khác biệt hàm main nó phải là int main() và có giá trị trả về
 
Tình hình là đã có người chỉ và đã đc GV add point. Dù sao cũng thanks anh em. Tới đây Close topic được roài :hug:
 
Em cũng chạy thử
Cái code đầu của anh nó báo :

còn cái code thứ 2 thì báo :

Nói tóm lại là cả 2 đều ko chạy đc :(
Máy em xài Bloodshed Dev-C++,ko biết có khác gì ko
Còn bài đó cuối cùng em cũng làm đc rồi
Mã:
#include <stdio.h>
#include <conio.h>
#include <stdlib.h>
main()
{
      int a,b,c;
      printf ("nhap vao 3 canh cua 1 tam giac :");
      scanf ("%d%d%d",&a,&b,&c);
      int kfltg = ((a+b<=c)||(a+c<=b)||(b+c<=a));
      int ltg = ((a+b>c)&&(a+c>b)&&(b+c>a));
      int tgc = ((a==b)||(b==c)||(a==c));
      int tgd = ((a==b)&&(b==c));
      int tgv = ((a*a+b*b==c*c)||(a*a+c*c==b*b)||(b*b+c*c==a*a));
     
      if (kfltg) printf ("ko fai la tam giac");
     else if (tgd) printf ("la tam giac deu");
     else if(tgv)
           if (tgc) printf ("tg vc");
           else printf ("la tg v");
           else if (tgc) printf ("la tam giac can");
           else printf ("la tam giac thuong");

          getch();
          }
Dù sao cũng cám ơn anh nhìu hen
bạn dùng dev C thi hàm main phải trả về int ; => main() sửa thành int main() và cuối hàm main() thêm câu lệnh return(0);
 
hì hì
cũng là sinh viên năm nhất mà
có gì anh em mình chỉ bảo nhau hen
tui cũng đang học vòng lặp nì
ông có tài liệu gì liên quan tới cái bài ông nói ko
share đi rồi có gì tui suy nghĩ phụ cho
Viết code C++, nhất là GNU/C++ thì tránh dùng code C, ví dụ library C như iostream.h, stdlib.h... mà phải là iostream...
hàm getch() ko nằm ko GNU/C++
tránh dùng scanf, printf mà hãy dùng cin, cout.
Đôi lời về cách lập trình ::)
 
cho tớ hỏi để 1 hàm fuction trong C++ trả về giá trị số thực thì mình fải làm sao ?
đề bài của ông thầy kêu là tính S=1+1/3+1/5....1/n ( n là số lẻ )
viết bình thường thì mình viết được nhưng khi ông thầy yêu cầu là viết function của tổng đó thì mình làm ko dc :(
đây là đoạn code function của mình , mấy bạn xem xem chỗ nào ko ổn sửa lại dùm mình nhé
Mã:
#include<iostream>
using namespace std;

float Sum(int N,int Tong);

int main()
{
	int N;
	int Tong=0;
	cout<<" enter N ";
	cin>>N;

	cout<<Sum(N,Tong)<<endl;
	return 0;
}
float Sum(int N, int  Tong)
{
	int i=1;
	while(i<=N)
	{   
		Tong= Tong + (1/i);
		i+=2;
	}
	return Tong;
}
 
Tong của cậu phải là kiểu float, thứ 2 là cái arg Tong pass vào function Sum là ko cần thiết.
Chú í là 1/i sẽ ra kiểu int, có thể ép kiểu hoặc cho i là float luôn
 
Tong của cậu phải là kiểu float, thứ 2 là cái arg Tong pass vào function Sum là ko cần thiết.
Chú í là 1/i sẽ ra kiểu int, có thể ép kiểu hoặc cho i là float luôn

thanks cậu nha , mình làm dc rồi ^^
cậu nói Tong pass vào function là ko cần thiết , mình không hiểu , cậu giải thích thêm dc ko :D
cho mình hỏi thêm 1 bài là nhập vô ngày tháng năm xuất ra đó là thứ mấy
VD : 21/12/2008 là CN
mình không biết sao để tính ra dc đó là thứ mấy , cậu có công thức thì giúp mình nhé . thank ::)
với bài dãy Fibouacci mình code như sau :
Mã:
#include<iostream>
using namespace std;
int main()
{
int i=0,T1=0,T2=1,T=0,N;
cout<<" nhap N ";
cin>>N;
cout<<T1<<endl<<T2<<endl;
while(T<=N)
{ 
T=T1+T2;
T1=T2;
T2=T;
cout<<T<<endl;
}
return 0;
}
mình nhập vô 10 sao nó lại hiện ra tới 13 lận , sao sừa lại để nó hiện ra những số nhỏ hơn N ?
 
iii, không ngờ lập trình C nhà mình cũng rôm rả các bác vào nói chuyện quá đi, vui thật đó
 
Theo tui mỗi bài bạn nên vẽ lưu đồ ra trước sẽ nhìn dễ hơn là cứ để mấy cái cần rẽ nhánh trong đầu.
 
mình nhập vô 10 sao nó lại hiện ra tới 13 lận , sao sừa lại để nó hiện ra những số nhỏ hơn N ?
Vòng for cậu để điều kiện là t<n là được thôi
 
Neu chuong trinh Oan Tu Ti de thi ban nao co the cho minh code duoc khong. Minh bo tay roi.Nho gui qua mail cho minh [email protected]
 
Back
Top