Mình làm bài C với đề là user nhập danh sách n tên học viên, rồi in ra n tên người đó. Mà khúc nhập danh sách n tên mình làm hoài ko đc. Có ai biết cách nhập danh sách n tên trong C ko? Mình dùng mảng 1 chiều mà ko đc, chỉ nhập đc 1 tên, số phần tử mảng là số ký tự. Dùng mảng 2 chiều thì bị lỗi, ko chạy đc.
ý chính thui nhé: để nhập n tên thì đầu tiên có 2 cách: Vừa vào yêu cầu người dùng nhập n ngay, thứ hai là dùng 1 biến đóng vai trò là cờ để biết khi nào dừng. Ta sử dụng vòng lập while để thi hành việc nhập và biết khi nào dừng. Bắt đầu nhập thì bạn cần phài xóa bộ nhớ đệm bàn phím, nếu không sẽ không nhập được, còn lưu thì luu vào 1 cái mảng 2 chiều char, bạn dùng con trỏ đề thêm bộ nhớ cho cái mảng này. Khi xuất thì bạn xuất tuần tự thui
xài struct cũng đc. :) VD: typedef struct sinhvien { char hoten[30]; } sv[N]; //N là số lượng sv bạn muốn tạo sau đó thì làm như ở bài trên :)
Mã: struct SinhVien { char Name[50]; }; void Input(struct SinhVien SV[],int n) { for(int i = 0;i < n;i++) { fflush(stdin); printf("\n\nNhap vao ten nguoi thu: %d",i+1); gets(SV[i].CDName); } } void Output(struct SinhVien SV,int n) { for(int i = 0;i < n;i++) printf("%s\n",SV[i].Name); } void main() { struct SinhVien SV[100]; int n; printf("Ban muon nhap bao nhieu Sinh Vien: "); scanf("%d",&n); Input(SV,n); Output(SV,n); }
Mình cũng đang học phần này nè ! Dùng struct là ổn nhất ! Như mấy bác đã nói ở trên đó ! _________________________________________ Mấy anh Pro quá ! hjz hjz