Giúp làm bài tập C Quản lý đội bóng

viết các hàm thực hiện các công việc sau
- nhập danh sách N đội bóng (0<N<100) gồm các thông tin : Tên viết tắt, tên đội bóng, số lượng cầu thủ,năm thành lập
- Hiện danh sách N đội bóng ra màn hình
- tìm đội bóng lâu đời nhất trong danh sách , nếu có nhiều đội bóng có cùng năm thành lập hãy hiện tất cả đội bóng đó ra màn hình
- tính trung bình cộng số lượng cầu thủ trong toàn bộ giải thi đấu.(tổng số cầu thủ /số đội)
- ghi vào tệp " DOIBONG.OUT" danh sách các đội bóng thành lập vào X với X nhập từ bàn phím.
 

taplamhacker

♥ Thanh Trâm ♥
Reply: mn giup e vs, khó quá e làm k ra

mình viết hàm với struct thôi bạn tham khảo nha
k viêt hàm main nên có gì sai bạn báo mình sửa
[AH]
Mã:
struct DB
{
    char Ten[15],TenVT[5];
    int SLCT,Nam;
};
DB nhap()
{
    DB a;
    printf("Nhap ten: ");
    fflush(stdin);
    gets(a.Ten);
    printf("Nhap ten viet tat: ");
    fflush(stdin);
    gets(a.TenVT);
    printf("Nhap so luong cau thu: ");
    scanf("%d",&a.SLCT);
    printf("Nhap so luong cau thu: ");
    scanf("%d",&a.Nam);
    return a;
    // o day chua kiem tra dieu kien nguoi dung nhap sai
    // vd so luong ma nhap vao 1 chu cai
}
void nhapDS(DB a[], int n)
{
    for(int i = 0 ; i < n ; i ++)
        a[i]=nhap();    
}
void xuat(DB a)
{
    printf("%-15s %-10s %-8s %-13s\n",a.Ten,a.TenVT,a.SLCT,a.Nam);
}
void xuatDS(DB a[], int n)
{
    if(n == 0)
    {
        printf("Khong co cau thu nao");
        return;
    }
    printf("%-15s %-10s %8d %13d","Ten","Ten Viet Tat","So Luong","Nam Thanh Lap");
    for(int i = 0 ; i < n ; i ++)
        xuat(a[i]);
}
DB* LauDoi(DB a[], int n, int &dem)
{
    int min = a[0].Nam;
    for(int i = 1 ; i < n ; i ++)
        if(min > a[i].Nam)
            min = a[i].Nam;
    DB *tmp = new DB;
     dem=0;
     for(int i = 0 ; i < n ; i ++)
         if(min == a[i].Nam)
             *(tmp+dem++)=a[i];
    return tmp;
    // ham tra ve con tro de luu lai nhung doi bong nao thanh lap lau doi nhat
    // dem la so doi bong thanh lap chung nam
}
int TrungBinh(DB a[], int n)
{
    unsigned int S=0;
    for(int i = 0 ; i < n ; i ++)
        S+= a[i].SLCT;
    return S/n;
}
void GhiTep(DB a[], int n, int X)
{
    FILE *f = fopen("DOIBONG.OUT","w+b");
    for(int i = 0 ; i < n ; i ++)
        if(a[i].Nam == X)
            fwrite(&a[i],sizeof(DB),1,f);
    fclose(f);
}
[/AH]
 

taplamhacker

♥ Thanh Trâm ♥
:ucche:
lỗi gì bạn mình vừa test xong ok mà
bạn cho mình xin cái hình lỗi với
 
T7azNr0.png

n cứ báo sai ở lối for
 

taplamhacker

♥ Thanh Trâm ♥
Fve8WvF.png

báo lỗi kiểu này nè bạn
chứ nó hiện như vậy thì bó tay rồi k xem lỗi dc
 

taplamhacker

♥ Thanh Trâm ♥
bạn thử sủa lại thành thế này xem
[AH]
Mã:
DB* LauDoi(DB a[], int n, int &dem)
{
int i;
    int min = a[0].Nam;
    for( i = 1 ; i < n ; i ++)
        if(min > a[i].Nam)
            min = a[i].Nam;
    DB *tmp = new DB;
     dem=0;
     for( i = 0 ; i < n ; i ++)
         if(min == a[i].Nam)
             *(tmp+dem++)=a[i];
    return tmp;
    // ham tra ve con tro de luu lai nhung doi bong nao thanh lap lau doi nhat
    // dem la so doi bong thanh lap chung nam
}
[/AH]
 

Thống kê

Chủ đề
102,787
Bài viết
470,612
Thành viên
340,593
Thành viên mới nhất
winspire
Top