Cho mình hỏi sao bài này 1 là ra toàn nam 2 là ra toàn nữ vậy mình sửa hoài không được.
#include <iostream>
#include<string.h>
#include<stdio.h>
#include<iomanip>
#include<math.h>
using namespace std;
struct SINH_VIEN
{
char ma[10];
char ten[150];
bool gioi_tinh;
};
void Nhap_danh_sach(SINH_VIEN danh_sach_sinh_vien[],int si_so)
{
for(int i=0;i<si_so;i++)
{
cout<<"nhap ma : ";
cin.getline(danh_sach_sinh_vien[i].ma,20);
//cout<<"\n";
cout<<"nhap ten : ";
cin.getline(danh_sach_sinh_vien[i].ten,20);
//cout<<"\n";
cout<<"gioi tinh(nam/nu) : ";
//char gt[10];
char gt[10];
cin.getline(gt,10);
if(strcmp(gt,"nam")==0)
{
danh_sach_sinh_vien[i].gioi_tinh=false;
}
else
{
danh_sach_sinh_vien[i].gioi_tinh=true;
}
}
}
void Xuat_danh_sach(SINH_VIEN danh_sach_sinh_vien[],int si_so)
{
for(int i=0;i<si_so;i++)
{
//cout.width(10);
cout<<setw(10)<<danh_sach_sinh_vien[i].ma;
//cout.width(10);
cout<<setw(20)<<danh_sach_sinh_vien[i].ten;
//cout.width(10);
cout<<setw(10)<<(danh_sach_sinh_vien[i].gioi_tinh==false?"nam":"nu")<<"\n";
}
}
SINH_VIEN * tim_sinh_vien_theo_ma(SINH_VIEN danh_sach_sinh_vien[],int si_so,char matim[])
{
for(int i=0;i<si_so;i++)
{
if(stricmp(danh_sach_sinh_vien[i].ma,matim)==0)
{
return &danh_sach_sinh_vien[i];
//if(danh_sach_sinh_vien[i].gioi_tinh==false?"nam":"nu");
}
}
return NULL;
}
int main()
{
int const siso=3;
char s[5];
SINH_VIEN danh_sach_sinh_vien[siso];
Nhap_danh_sach(danh_sach_sinh_vien,siso);
cout<<"danh sach sinh vien sau khi nhap : \n";
Xuat_danh_sach(danh_sach_sinh_vien,siso);
char matim[10];
cout<<"nhap ma muon tim : ";
cin.getline(matim,10);
SINH_VIEN * pSv = tim_sinh_vien_theo_ma(danh_sach_sinh_vien,siso,matim);
if(pSv==NULL)
{
cout<<"khong tim thay ma sinh vien : "<<matim;
}
else
{
cout<<"tim thay ma sinh vien : "<<matim<<"\n";
//if(danh_sach_sinh_vien[i]
cout<<pSv->ma<<"-"<<pSv->ten<<"-"<<pSv->gioi_tinh<<"\n";
}
//cout<<"Hello World";
cout<<"moi ban nhap gioi tinh(nam/nu) : ";
char gioi_tinh_tim[10];
cin.getline(gioi_tinh_tim,10);
for (int i = 0; i < siso; i++)
{
bool gioi_tinh_tim_bool=true;
if(strcmp(gioi_tinh_tim,"nam"))
{
gioi_tinh_tim_bool=true;
}
/*else
{
gioi_tinh_tim_bool=true;
}*/
if(danh_sach_sinh_vien[i].gioi_tinh=gioi_tinh_tim_bool)
{
cout<<setw(10)<<danh_sach_sinh_vien[i].ma;
//cout.width(10);
cout<<setw(20)<<danh_sach_sinh_vien[i].ten;
//cout.width(10);
cout<<setw(10)<<(danh_sach_sinh_vien[i].gioi_tinh==false?"nam":"nu")<<"\n";
}
}
system("pause");
return 0;
}