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

Đề tài: cấp phát bộ nhớ(làm sao để cấp phát bộ nhớ)

  1. #1
    Ngày gia nhập
    04 2008
    Bài viết
    6

    Unhappy cấp phát bộ nhớ(làm sao để cấp phát bộ nhớ)

    Để của mình là : Viết chương trình quản lý điểm sinh viên, sử dụng cấp phát động. Cho phép nhập vào số sinh viên và nhập vào thong tin cho từng sinh viên(mã sv, họ tên, điểm CF, điểm C, điểm HDJ). Đưa ra danh sách sinh viên và điểm trung bình của từng sinh viên.

    Mình mới viết dc đoạn code để nhập nhưng nó báo lỗi mình ko sửa dc
    mọi nguời coi giúp mình nhé
    Code:
    #include"conio.h"
    #include"stdio.h"
    #include"alloc.h"
    
    // dinh nghia hang toan cuc
    #define MAX 100
    
    // dinh nghia kieu cau truc
    typedef struct
    	{
    	int intMasv;
    	char chHoten[10];
    	float fltDiemC,fltDiemCF,fltDiemHDJ;
    
    	}Sinhvien;
    
    // vao ham chinh
    
    void main()
      {
    
    	int i,m;
    	Sinhvien *sv[100];//khai bao con tro cau truc
    
    	//input
    	printf("\nSo sinh vien: ");scanf("%d",&m);
    	for (i=1;i<=m;i++)
    	{
    		sv[i]= malloc (sizeof(Sinhvien)) ;// cap phat bo nho dong
    		printf("\n Sinh vien thu %d",i);
    		printf("Ma sinh vien");
    		fflush(stdin);
    		scanf("%d",&sv[i]->intMasv);
    		printf("Ho ten sinh vien");
    		fflush(stdin);
    		gets(sv[i]->chHoten);
    		printf("Diem C cua sinh vien: ");
    		fflush(stdin);
    		scanf("%f",&sv[i]->fltDiemC);
    		printf("Diem CF cua sinh vien: ");
    		fflush(stdin);
    		scanf("%f",&sv[i]->fltDiemCF);
    		printf("Diem HDJ cua sinh vien: ");
    		fflush(stdin);
    		scanf("%f",&sv[i]->fltDiemHDJ);
    	 }
    
    
    	getch();
      }

  2. #2
    Ngày gia nhập
    01 2008
    Nơi ở
    Rất đông người
    Bài viết
    531

    Trích dẫn Nguyên bản được gửi bởi ga con Xem bài viết
    Mình mới viết dc đoạn code để nhập nhưng nó báo lỗi mình ko sửa dc
    Nó báo lỗi gì?

  3. #3
    Ngày gia nhập
    04 2008
    Bài viết
    4

    http://forums.congdongcviet.com/newr...uote=1&p=42608
    Trả lời
    sv[i]= malloc (sizeof(Sinhvien)) ;// cap phat bo nho dong
    bạn sai ở dòng này. Hàm malloc trả về kiểu void* nên ở đây muốn sử dụng bạn phải ép kiểu nó:
    sv[i]= (Sinhvien*)malloc (sizeof(Sinhvien)) ;
    như vầy mới đúng.

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