Code này của em thay gets_s bằng gets thì dev c++ chạy dc còn để nguyên gets_s chạy trong visua thì lại bị lỗi. Ai giải thích cho em với!
#include<iostream>
#include<stdio.h>
#include<conio.h>
using namespace std;
struct NGAYTHANG
{
int ngay;
int thang;
int nam;
} ngaysinh;
struct HOCSINH
{
char ten[30];
NGAYTHANG ngaysinh;
char gioitinh[4];
char hokhau[20];
float diemTB;
}hocsinh[50];
void nhap(HOCSINH hocsinh[], int &n)
{
do
{
cout << "nhap n: ";
cin >> n;
} while (n <= 0);
for (int i = 0; i < n; i++)
{
cout << "hocsinh" << i << "]\n";
cout << "ho ten: ";
fflush(stdin);
gets_s (hocsinh[i].ten);
cout << "ngay sinh:";
cin >> hocsinh[i].ngaysinh.ngay; cout << "/";
cin >> hocsinh[i].ngaysinh.thang; cout << "/";
cin >> hocsinh[i].ngaysinh.nam;
cout << "gioi tinh:";
fflush(stdin);
gets_s(hocsinh[i].gioitinh);
cout << "ho khau:";
fflush(stdin);
gets_s(hocsinh[i].hokhau);
cout << "diem tb:";
cin >> hocsinh[i].diemTB;
}
}
void xoa(int a[], int &n)
{
int j, d;
for (int i = 0; i<n - 1; i++)
{
j = i + 1; d = j;
while (a[j] != a[i] && j<n)
{
j++; d++;
}
for (j = d; j<n; j++)
if (a[j] != a[i])
{
a[d] = a[j]; d++;
}
n = d;
}
}
void xuat(HOCSINH hocsinh[], int n)
{
for (int i = 0; i < n; i++)
{
cout << hocsinh[i].ten << endl;
cout << hocsinh[i].ngaysinh.ngay << "/";
cout << hocsinh[i].ngaysinh.thang << "/";
cout << hocsinh[i].ngaysinh.nam<<endl ;
cout << hocsinh[i].gioitinh<<endl;
cout << hocsinh[i].hokhau << endl;
cout << hocsinh[i].diemTB << endl;
}
}
int main()
{
int n;
nhap(hocsinh, n);
//xoa(A, n);
xuat(hocsinh, n);
_getch();
return 0;
}
83% thành viên diễn đàn không hỏi bài tập, còn bạn thì sao?