Code viết hàm trong thân struct sai ở đâu?

#include <stdio.h>

struct date {
	int ngay;
	int thang;
	int nam;
};

struct nhanVien {
	char hoTen[30];
	struct date ngaySinh;
	float luong;
	int gioiTinh;
	
	void nhap() {
		getchar();
		printf("Ho ten: ");
		gets(hoTen);
		printf("Ngay sinh: ");
		scanf("%d%d%d", &ngaySinh.ngay, &ngaySinh.thang, &ngaySinh.nam);
		printf("Luong: ");
		scanf("%f", &luong);
		printf("Gioi tinh: ");
		scanf("%d", &gioiTinh);
	}
};

typedef struct nhanVien nhanvien;



int main(){
	int n;
	scanf("%d", &n);
	nhanvien a[n];
	int i;
	for(i=0; i<n; ++i){
		printf("Nhap thong tin nhan vien %d:\n", i+1);
		a[i].nhap();
	}
	for(i=0; i<n; ++i){
		
		printf("%20s\t%d-%d-%d\t%12.3f\t%3s\n", a[i].hoTen, a[i].ngaySinh.ngay, a[i].ngaySinh.thang, a[i].ngaySinh.nam, a[i].luong, (a[i].gioiTinh==1?"Nam":"Nu"));
	}
	
	return 0;
}

bạn đang gặp vấn đề gì với đoạn code này?
vì sao bạn lại bảo code này sai? sai như thế nào?

5 Likes

mình k chạy được trên dev c++.
nó báo lỗi bạn ak

khi bạn đang muốn nhận sự giúp đỡ từ người khác
thì việc đầu tiên bạn phải làm là tạo điều kiện cho người khác giúp đỡ bạn, ít nhất cũng là cung cấp những thông tin rõ ràng nhất có thể

báo lỗi gì? lỗi khi build hay lỗi khi chạy? nếu là lỗi khi chạy thì bạn đã input như thế nào? lỗi dòng nào? compiler version nào?

bản thân một người lập trình, khi gặp vấn đề, họ cũng phải căn cứ vào những thông tin đó để đưa ra phán đoán và tìm giải pháp, còn bạn thì ngay cả thông báo lỗi là gì bạn cũng không để ý thì làm sao giải quyết được vấn đề

5 Likes
83% thành viên diễn đàn không hỏi bài tập, còn bạn thì sao?