Của e đây. a chỉ làm căn bản thôi, e làm thêm nhé, có gì thắc mắc thì post lên 
``C++
#include "stdafx.h"
#include "string"
#include "iostream"
struct ThiSinh
{
std::string SoBaoDanh;
std::string HoTen;
std::string NgaySinh;
std::string GioiTinh;
std::string HoKhau;
float TongDiem;
}
;
typedef struct ThiSinh THISINH;
void ThiSinhTrungTuyen(THISINH * DSThiSinh, float diemchuan, int n);
void XuatThiSinh(THISINH ts);
int _tmain(int argc, _TCHAR* argv[])
{
int n = 3;
THISINH * DSThiSinh = new THISINH[n];
DSThiSinh[0].HoTen = "Tran Van A";
DSThiSinh[0].SoBaoDanh = "001";
DSThiSinh[0].TongDiem = 15;
DSThiSinh[0].HoKhau = "113, Gia Lam- Ha Noi";
DSThiSinh[1].HoTen = "Le Van B";
DSThiSinh[1].SoBaoDanh = "002";
DSThiSinh[1].TongDiem = 11;
DSThiSinh[1].HoKhau = "456, Gia Lam- Ha Noi";
DSThiSinh[2].HoTen = "Lai Van S";
DSThiSinh[2].SoBaoDanh = "002";
DSThiSinh[2].TongDiem = 17;
DSThiSinh[2].HoKhau = "113, Sai Gon";
std::cout << "Danh sach thi sinh trung tuyen: " << std::endl;
ThiSinhTrungTuyen(DSThiSinh, 15, 3);
getchar();
return 0;
}
void XuatThiSinh(THISINH ts)
{
std::cout << "SoBao danh: " << ts.SoBaoDanh<<std::endl;
std::cout << "HoTen: " << ts.HoTen << std::endl;
std::cout << "Ho Khau " << ts.HoKhau << std::endl;
std::cout << std::endl;
}
void ThiSinhTrungTuyen(THISINH * DSThiSinh,float diemchuan,int n)
{
for (int i = 0; i < n; i++)
{
if (DSThiSinh[i].TongDiem >= diemchuan && DSThiSinh[i].HoKhau.find("Gia Lam- Ha Noi") != std::string::npos)
{
XuatThiSinh(DSThiSinh[i]);
}
}
}