01/10/2018, 16:09

Cho em hỏi code của em sai ở đâu ạ?

#include<stdio.h>
#include<conio.h>
#include<stdlib.h>

typedef struct{
	char hoten[100];
	int songaycong;
	int bac;
}nhanvien;
int main(){
	int n,i;
	nhanvien nvlist[n];
	printf("Nhap vao so nhan vien: ");
	scanf("%d",&n);
	for(i=0;i<n;i++)
	{
		printf("Nhap ten nhan vien thu %d: ",i+1);
		scanf("%d",&nvlist[i].hoten);
		printf("Nhap so ngay cong cua nhan vien thu %d: ",i+1);
		scanf("%d",&nvlist[i].songaycong);
		printf("Nhap bac luong cua nhan vien thu %d: ",i+1);
		scanf("%d",&nvlist[i].bac);
	}
	for(i=0;i<n;i++)
	{
		printf("%s 		%d 	%0.2d",nvlist[i].hoten,nvlist[i].bac,nvlist[i].songaycong*nvlist[i].bac*1.05);
	}
	return 0;
}

viết 18:24 ngày 01/10/2018

sai ở chỗ khai báo nvlist[n] trước khi nhập giá trị cho n

cho cái nhanvien nvlist[n]; xuống dưới dòng scanf("%d",&n); là được

An Nguyễn Đăng viết 18:16 ngày 01/10/2018

vẫn không được ạ…

name viết 18:12 ngày 01/10/2018

scanf("%d",&nvlist[i].hoten);

scanf("%d",&nvlist[i].hoten);
phai là scanf("%s",&nvlist[i].hoten);
bạn có thực sự thông hiểu việc nhập stdin chú ý flush
thêm vào 1 sự logic sau
fflush(stdin) (xóa bộ đệm nhập từ bàn phím nữa)

An Nguyễn Đăng viết 18:12 ngày 01/10/2018

à em hiểu rồi:yum:…

rogp10 viết 18:10 ngày 01/10/2018
  1. fflush(stdin) có thể sẽ không chạy
  2. scanf("%s") sẽ dừng khi gặp khoảng trắng (nhận thiếu).
Bài liên quan
0