#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 \t\t%d \t%0.2d",nvlist[i].hoten,nvlist[i].bac,nvlist[i].songaycong*nvlist[i].bac*1.05);
}
return 0;
}
Code quản lý nhân viên bị sai output
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
1 Like
vẫn không được ạ…
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)
à em hiểu rồi
…
-
fflush(stdin)có thể sẽ không chạy
-
scanf("%s")sẽ dừng khi gặp khoảng trắng (nhận thiếu).
1 Like
83% thành viên diễn đàn không hỏi bài tập, còn bạn thì sao?