Làm thế nào hiển thị đầy đủ thông tin của những môn có số tín = 3 trong cấu trúc struct

Hiển thị đầy đủ thông tin của những môn có số tín = 3 như thế nào ạ?
        #include"iostream"
            #include"math.h"
            #include"stdio.h"
            #include"string.h"
            using namespace std;
            struct mon
            {
            	char ma[5];
            	char ten[40];
            	char gv[30];
            	int tin;
            };
            void nhap(mon a[],int n)
            {
            	for(int i=0;i<n;i++)
            	{
            		cout<<"Nhap thong tin mon thu "<<i+1<<": "<<endl;
            		cin.ignore();
            		cout<<"Nhap ma mon: ";cin.getline(a[i].ma,5);
            		cout<<"Nhap ten mon: ";cin.getline(a[i].ten,40);
            		cout<<"Nhap giang vien mon: ";cin.getline(a[i].gv,30);
            		cout<<"Nhap so tin chi: ";cin>>a[i].tin;cout<<endl;
            	}
            }
            void xuat(mon a[],int n)
            {
            	for(int i=0;i<n;i++)
            	{
            		cout<<"Thong tin mon thu "<<i+1<<": "<<endl;
            		cout<<"Ma mon: "<<a[i].ma<<endl;
            		cout<<"Ten mon: "<<a[i].ten<<endl;
            		cout<<"Giang vien mon: "<<a[i].gv<<endl;
            		cout<<"So tin chi: "<<a[i].tin<<endl;
            	}
            }
            main()
            {
            	int n;mon a[n];
            	do{
            		cout<<"Nhap n: ";cin>>n;
            	}while(n<=0||n>=100);`Preformatted text`
            	nhap(a,n);
            	xuat(a,n);
            	cout<<"Thong tin mon tin chi =3 la "<<endl;
            }

Sử dụng câu lệnh điều kiện thôi :v

void xuatTinChi3(mon a[], int n)
{
    for (int i = 0; i < n; i++)
    {
        if (a[i].tin == 3)
        {
            cout << "Thong tin mon thu " << i + 1 << ": " << endl;
            cout << "Ma mon: " << a[i].ma << endl;
            cout << "Ten mon: " << a[i].ten << endl;
            cout << "Giang vien mon: " << a[i].gv << endl;
            cout << "So tin chi: " << a[i].tin << endl;
        }
    }
}
5 Likes

ok ạ
Do em viết thừa vòng for nên nó chạy toàn bộ ạ :v

        for (int i = 0; i < n; i++)
        {
            if (a[i].tin == 3)
            {
for (int i = 0; i < n; i++)
{
83% thành viên diễn đàn không hỏi bài tập, còn bạn thì sao?