01/10/2018, 12:04
Liên kết đơn lồng trong 1 liên kết đơn khác (đọc từ file)
void open_file_sv(char *txt)
{
char file[10];
printf("cap nhat file diem cua tung sinh vien ");
gets(file);
ds fmh;//ds toàn bộ cái file
mon_null(fmh);//gán null
open_file_mh(fmh,file);//có ds null > add tail > ra khỏi hàm đã có 1 ds mh của các sinh viên (toàn bộ file)
FILE *o=fopen(txt,"r");
list lsv; //khai báo 1 list sv có 2 thành phần
list_null(lsv); //list sv rỗng.
int n;
char c;
fscanf(o,"%d",&n); fscanf(o,"%c",&c);
printf(" Ma Ho Ten Ns
");
for(int i=0;i<n;i++)
{
sv a;
fgets(a.ma,12,o); a.ma[strlen(a.ma)-1]=NULL;
fgets(a.ho,22,o); a.ho[strlen(a.ho)-1]=NULL;
fgets(a.ten,12,o); a.ten[strlen(a.ten)-1]=NULL;
fscanf(o,"%d",&a.ns); fscanf(o,"%c",&c);
mon_null(a.mh);//khởi tạo
node *p=taosv(a);
add_tail(lsv,p);
xuat_sv(p);
printf(" MaM TenM DTL DGK DCK STC
");
mh_sv(fmh,a.mh);
}
/*xuat_dssv(lsv);*/
fclose(o);
}
mình đã có 1 list file toàn bộ sv và 1 list file toàn bộ các môn học giờ mình muốn từ file môn học đó lấy ra n môn và gán cho sv thứ 1,2,3,4,… thì phải làm sao ?
Bài liên quan
Ý bạn là như thế nào?
đây là lk đơn của 1 ds sv
cái
ds mh
là 1 liên kết đơn bao gồm các môn mà sv đó đang theo học (tất cả nhập từ file chỉ dùng 2 file duy nhất đã đc xếp theo thứ tự mà sv đó đã theo học ) >> 1 file nhập vào thông tin sv 1 file cập nhật thông tin các mh mà sv đó đang học.VD: 1 file MH gồm 10 môn trong đó 3 môn đầu là của sv thứ 1 4 môn sau của sv thứ 2 và 3 môn còn lại của sv thứ 3
mình đã có 1 danh sách liên kết đơn gồm 10 môn học rồi giờ mình ko biết làm sao cắt nó ra rồi truyền nó vào cái
ds mh;
đấyp/s:bài nếu cho dùng ko giới hạn file txt thì rất dễ nhưng chỉ cho dùng 1 file để nhập mh thì mình ko biết.
Cho mình demo 2 file txt được không, nói thế này phức tạp quá.
file text ấy hả hay cái hàm ?
Mình nói rõ rồi mà, 2 file text.
file MH con nhiều lắm post tầm 7 môn thôi
Bạn giải thích từng dòng được không?
1.mã mh chuỗi
2.tên mh chuỗi
3.điểm tiểu luận float
4.điểm giữa kì float
5.điểm cuối kì float
6.số tín chỉ int
mô hình cái bài này nó là như vậy nếu bạn ko hiểu.