30/09/2018, 16:15

Khai báo phân số với hàm dựng struct trong c/c++

#include<iostream>
using namespace std;
struct phanSo
{
	int tuSo;
	int mauSo;
};
typedef phanSo PHANSO;
void nhapPhanSo(PHANSO *x)
{
	cout << "nhap tu so : ";
	cin >> x->tuSo;
	do 
	{
		cout << "
Nhap mau so : ";
		cin >> x->mauSo;
		if (x->mauSo == 0)
		{
			cout << "
Mau so ban vua nhap ko hop le xin kiem tra lai";
		}
	} while (x->mauSo==0);
}
void xuatPhanSo(PHANSO *x)
{
	cout << "
 phan so : " << x->tuSo << '/' << x->mauSo;
}
int main(int argc, char **argv)
{
	PHANSO*x = new PHANSO;
	nhapPhanSo(x);
	xuatPhanSo(x);
	delete x;
	system("pause");
	return 0;
}
Đoàn Hiếu Tâm viết 18:21 ngày 30/09/2018

Cái này

struct phanSo
{
	int tuSo;
	int mauSo;
};
typedef phanSo PHANSO;

cũng tương tự

struct phanSo
    {
    	int tuSo;
    	int mauSo;
    } PHANSO;

phải ko nhỉ?

TTmagic viết 18:21 ngày 30/09/2018

cho t hỏi (int argc, char **argv) là cái j ạ ?

Đoàn Hiếu Tâm viết 18:24 ngày 30/09/2018

int argc, char **argv

stackoverflow.com
Greg Treleaven

What does int argc, char *argv[] mean?

c++, parameters, command-line-arguments, argv
asked by Greg Treleaven on 03:45PM - 11 Jun 10

Cái đó là khai báo đầy đủ thay vì int main() như thường dùng.

Thực tế khắc nghiệt viết 18:23 ngày 30/09/2018

cũng tương tự

yes nhưng khuyến khích khai báo kiểu kia cho dễ hiểu

Nguyễn Minh Dũng viết 18:28 ngày 30/09/2018

Cái đó là khai báo đầy đủ thay vì int main() như thường dùng.

Nó có công dụng là mình có thể nhập vào tham số đầu vào cho chương trình cua mình. Ví dụ mình muốn làm một chương trình có thể nhập vào 2 số, tính tổng 2 số đó.

Khi thực thi chương trình mình sẽ chạy như sau

main.exe 3 4

trả ra

7

Lúc đó mình cần cái gọi là “tham số hàm main” này.

Chi tiết một chút, giá trị ta có sẽ là mảng argv, trong đó argc là số lượng tham số, argv là mảng chứa các tham số đó.

với

  • argv[0] là tên của chương trình, trong trờng hợp này là main.exe
  • argv[1] là 3
  • argv[2] là 4
Thực tế khắc nghiệt viết 18:23 ngày 30/09/2018

Chi tiết một chút, giá trị ta có sẽ là mảng argv, trong đó argc là số lượng tham số, argv là mảng chứa các tham số đó.

ko phiền nếu anh cho 1 vidu đơn giản về tham số hàm main cho mọi người học hỏi

Nguyễn Minh Dũng viết 18:18 ngày 30/09/2018

Em xem bài này, rất chi tiết nhé: http://www.tutorialspoint.com/cprogramming/c_command_line_arguments.htm

Bài liên quan
0