Từ 1 tới 2 trên tổng số 2 kết quả

Đề tài: cấu trúc có sử dụng cấp phát động... mình chưa phát hiện được lỗi.

  1. #1
    Ngày gia nhập
    03 2011
    Bài viết
    12

    Mặc định cấu trúc có sử dụng cấp phát động... mình chưa phát hiện được lỗi.

    /* Nhập vào số viện, tên viện, số phòng của mỗi viện.....
    chương trình sử dụng cấp phát động:

    Code:
    /* Bai tap: su dung cap phat dong */
    
    #include <stdio.h>
    #include <conio.h>
    #include <stdlib.h>
    
    typedef struct {
            char ht[25];
            int ns;           //nam sinh
    } person;
    
    typedef struct {
            char tenphong[30];
            int sonhanvien;
            person *nhanvien;
    }ppp;
    
    typedef struct {
            char tenvien[30];
            int sophong;
            ppp *phong;
    }vvv;
    
    vvv *vien;
    int sovien;
    
    int main() {
        int i, j, k, thang, nam, sophong, sonhanvien, ns;
        
        //vao so lieu va cap phat bo nho cho so vien
        
        printf("\nSo vien: ");
        scanf("%d%*c", &sovien);
        vien = (vvv*)malloc((sovien + 1)*sizeof(vvv));
        for (i = 1; i <= sovien; i++) {
            printf("\nTen vien thu %d: ",i);
            gets(vien[i].tenvien);
            printf("\nso phong cua vien %s: ", vien[i].tenvien);
            scanf("%d%*c", &sophong);
            vien[i].sophong = sophong;
            vien[i].phong = (ppp*)malloc((sophong + 1)*sizeof(ppp));
            for (j = 1; j <= sophong; j++) {
                printf("\nTen phong %d cua vien %s: ", j, vien[i].tenvien);
                gets(vien[i].phong[j].tenphong);
                printf("\nso nhan vien cua phong %s vien %s: ", vien[i].phong[j].tenphong, vien[i].tenvien);
                scanf("%d%*c", &sonhanvien);
                vien[i].phong[j].sonhanvien = sonhanvien;
                printf("\n Vien %s phong %s: ", vien[i].tenvien, vien[i].phong[j].tenphong);
                vien[i].phong[j].nhanvien = (person*)malloc((sonhanvien + 1)*sizeof(person));
                for (k = 1; k <= sonhanvien; k++) {
                    printf("ho ten nhan vien thu %d: ", k);
                    gets(vien[i].phong[j].nhanvien[k].ht);
                    printf("nam sinh nhan vien thu %d: ", k);
                    scanf("%d%*c", &ns);
                    vien[i].phong[j].nhanvien[k].ns = ns;
                }
            }
         }
    
    for (i = 1; i <= sovien; i++) {
        printf("\nVien %s co %d phong: ", vien[i].tenvien, vien[i].sophong);
        for (j = 1; j <= vien[i].sophong; j++) {
            printf("\nPhong %s vien %s co %d nhan vien: ", vien[i].phong[j].tenphong
                                                         , vien[i].tenvien
                                                         , vien[i].phong[j].sonhanvien);
            for (k = 1; k <= vien[i].phong[j].sonhanvien; k++) {
                printf("\n Ho ten %s sinh nam %d ", vien[i].phong[j].nhanvien[k].ht
                                                  , vien[i].phong[j].nhanvien[k].ns);
            }
        }
    }
    
    getch();
    }
    dòng mình gạch đỏ ở trên.. nếu ko cấp phát cho con tro *nhanvien thì sẽ có lỗi nhưng nếu cấp bộ nhớ động thì nó .... (mọi người run trên devC hộ mình chứ mình cũng ko biết giải thích lỗi ấy hic
    Đã được chỉnh sửa lần cuối bởi rimberry : 06-03-2012 lúc 06:12 PM. Lý do: đã tìm ra lỗi, cảm ơn mọi người

  2. #2
    Ngày gia nhập
    10 2011
    Bài viết
    552

    Trước khi nhập sonhanvien vào thì làm động tác : fflush(stdin); coi
    Nhập dữ liệu dùng mấy cái hàm cũ cũ của C nó ko an toàn vì dễ tràn đệm. Thêm cái đó vào đi coi có gì hot ?
    Um Mani Padme Hum...!!

Các đề tài tương tự

  1. Trả lời: 0
    Bài viết cuối: 07-07-2013, 07:29 PM
  2. Bài tập về cấu trúc trong c | Cấu trúc sinh viên???
    Gửi bởi dddzzzjjjiii trong diễn đàn Nhập môn lập trình C/C++
    Trả lời: 14
    Bài viết cuối: 21-07-2012, 05:06 PM
  3. Chiếu trúc, Chiếu trúc cao cấp, Hàng Sản xuất tại Việt Nam: Giá rẻ nhất thị trường
    Gửi bởi tqt.tranquoctuan trong diễn đàn Giới thiệu website, sản phẩm của bạn
    Trả lời: 0
    Bài viết cuối: 13-05-2012, 08:33 PM
  4. cấu trúc bảng băm là cấu trúc như thế nào?
    Gửi bởi minh_quang1202 trong diễn đàn Thắc mắc lập trình C/C++/C++0x
    Trả lời: 1
    Bài viết cuối: 06-01-2011, 07:03 PM
  5. Cấu trúc file excel | Cấu trúc file xls. Giúp mình với?
    Gửi bởi knightofit trong diễn đàn Thắc mắc lập trình C/C++/C++0x
    Trả lời: 2
    Bài viết cuối: 02-04-2009, 10:44 PM

Quyền hạn của bạn

  • Bạn không thể gửi đề tài mới
  • Bạn không thể gửi bài trả lời
  • Bạn không thể gửi các đính kèm
  • Bạn không thể chỉnh sửa bài viết của bạn