Lỗi khi gọi hàm nhập danh sách nhân viên

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace bai_28
{
class CNhanVien
{
    protected string HoTen, PhongBan;
    protected int CMND;
    //Rang buoc
    private bool KiemTraChungMinh(int a)
    {
        return (a > 0);
    }
    //Khoi tao
    public CNhanVien()
    {
        HoTen = "Pham Thanh Trung";
        PhongBan = "IT";
        CMND = 17110394;
    }
    public CNhanVien(string t, string p, int c)
    {
        if (KiemTraChungMinh(c))
        {
            HoTen = t; PhongBan = p; CMND = c;
        }
        else
        {
            HoTen = "Pham Thanh Trung";
            PhongBan = "IT";
            CMND = 17110394;
        }
    }
    public CNhanVien(CNhanVien x)
    {
        HoTen = x.HoTen;
        PhongBan = x.PhongBan;
        CMND = x.CMND;
    }
    //Cap nhat va truy xuat thong tin
    public string Ten
    {
        get { return HoTen; }
        set { HoTen = value; }
    }
    public string Ban
    {
        get { return PhongBan; }
        set { PhongBan = value; }
    }
    public int MaSoCMND
    {
        get { return CMND; }
        set { CMND = value; }
    }
    //Xu ly thong tin
    public virtual void Nhap()
    {
        Console.Write("Nhap ho va ten: "); HoTen = Console.ReadLine();
        Console.Write("Nhap phong ban: "); PhongBan = Console.ReadLine();
        Console.Write("Nhap CMND: "); CMND = int.Parse(Console.ReadLine());
    }
    public virtual void Xuat()
    {
        Console.WriteLine("Ho va ten: "+HoTen);
        Console.WriteLine("Phong ban: "+PhongBan);
        Console.WriteLine("CMND: "+CMND);
    }
}
class CBienChe : CNhanVien
{
    private int BacLuong;
    //Rang buoc
    private bool KiemTra(int b)
    {
        return (b > 0);
    }
    //cap nhat va truy cuat thong tin
    public int Luong
    {
        get { return BacLuong; }
        set
        {
            if (KiemTra(value))
                BacLuong = value;
        }
    }
    //Xu ly thong tin
    public override void Nhap()
    {
        base.Nhap();
        Console.Write("Nhap bac luong: ");
        do
        {
            BacLuong = int.Parse(Console.ReadLine());
            if (KiemTra(BacLuong) == false)
                Console.Write("Nhap lai bac luong: ");
        } while (KiemTra(BacLuong) == false);
    }
    public override void Xuat()
    {
        base.Xuat();
        Console.WriteLine("Luong cua nhan vien la: " + BacLuong);
    }
}
 class DanhSachNhanVienBienChe
{
    CBienChe[] A;
    private int n;
    //Xu ly thong tin
    public void Nhap()
    {
        Console.Write("Nhap so luong nhan vien bien che: ");n = int.Parse(Console.ReadLine());
        for(int i=0;i<n;i++)
        {
           A[i] = new CBienChe();
            A[i].Nhap();
        }
    }
    public void Xuat()
    {
        
    }
}
 class Program
{
    static void Main(string[] args)
    {
        //CBienChe m = new CBienChe();
        //m.Nhap();
        //m.Xuat();
        //CHopDong n = new CHopDong();
        //n.Nhap();
        //n.Xuat();
        DanhSachNhanVienBienChe m = new DanhSachNhanVienBienChe();
        m.Nhap();
    }
}

Lỗi:

thử thêm dòng này vào xem

 public void Nhap()
    {
        Console.Write("Nhap so luong nhan vien bien che: ");
        n = int.Parse(Console.ReadLine());
        //==============================
        A = new CBienChe[n] ;
       //==============================
        for(int i=0;i<n;i++)
        {
           A[i] = new CBienChe();
            A[i].Nhap();
        }
    }
1 Like

Cũng giống bên Java, một câu mà mình vừa nói cách đây vài hôm.

C# cũng vậy.

CBienChe[] A = new CBienChe[n]; // Giá trị n xác định và không âm.
1 Like

Không được bạn.

Không được luôn bạn.

Vẫn lỗi đó hay lỗi khác?

Giúp cho bạn giống như xem bói ấy nhỉ, rất mất thời gian mà hiệu quả không cao

1 Like

thêm vào v vẫn báo lỗi.
Chắc khai báo sai hay gì :thinking:

Vẫn lỗi nhưng là LỖI GÌ mới được.:rage:

 à bài này e làm kế thừa nữa,

à e fix dc r nãy e đánh thiếu :joy:

83% thành viên diễn đàn không hỏi bài tập, còn bạn thì sao?