Tài liệu Thiết lập web quản lí sinh viên doc

9 330 0
Tài liệu Thiết lập web quản lí sinh viên doc

Đang tải... (xem toàn văn)

Thông tin tài liệu

using System; using System.Collections.Generic; using System.Text; using QuanLySinhVien; namespace MinhHoaDaHinh { class Program { static void Main(string[] args) { Nguoi[] ng = new Nguoi[5]; ng[0] = new Nguoi("Nguyen"); ng[1] = new SinhVien("Sinh vien", 1, 2.4, 10); ng[2] = new Nguoi("Van"); ng[3] = new NhanVien("Nguyen Van", 2.3); ng[4] = new NhanVien("dd", 4); foreach (Nguoi x in ng) x.HienThi(); } } } Minh hoa ke thua: using System; using System.Collections.Generic; using System.Text; namespace MinhHoaKeThua { class Nguoi { protected string hoTen; #region Hàm khởi dựng public Nguoi(string name) { hoTen = name; } public Nguoi() { hoTen = "!!!"; } #endregion virtual public void HienThi() { Console.WriteLine("Nguoi - ten = {0}", hoTen); } } class NhanVien : Nguoi { double heSoLuong; public NhanVien(string ht, double hsl) :base(ht) { this.heSoLuong = hsl; } /// <summary> /// Muốn thay đổi hành vi của lớp > new /// </summary> override public void HienThi() { Console.WriteLine("Nhan vien - ten {0}, he so luong: {1}", this.hoTen, this.heSoLuong); } } class Program { static void Main(string[] args) { Nguoi nva = new Nguoi("Nguyen A"); nva.HienThi(); NhanVien x = new NhanVien("Tran Van", 1.23); x.HienThi(); #region Tính chất gắn kết sớm (early binding) #region Giải thích /// y nắm giữ 1 NhanVien nhưng không HienThi() theo cách của /// NhanVien /// /// Khi khai báo y là một Nguoi thì y.HienThi() được xác định /// là HienThi theo cách của Nguoi /// /// Đa hình = sử dụng phương thức DỰA THEO KIỂU GIÁ TRỊ /// MÀ ĐỐI TƯỢNG ĐANG NẮM GIỮ lúc thực thi chương trình #endregion //Khai báo y là 1 đối tượng Nguoi Nguoi y; //Khởi tạo giá trị cho y y = new NhanVien("Nguyen Van Y", 1.11); //Hiển thị thông tin của y y.HienThi(); y = nva; // Giá trị y đang tham chiếu bây giờ có kiểu là Nguoi y.HienThi(); #endregion } } } using System; using System.Collections.Generic; using System.Text; namespace MinhHoaREFOUT { class Program { static void Main(string[] args) { Diem p = new Diem(10.12, 12.0); int x = 1, y = 2; Console.WriteLine("Truoc khi goi ham thanh phan: "); Console.WriteLine("\tx = {0}", x); Console.WriteLine("\ty = {0}", y); p.LayToaDo(ref x, ref y); Console.WriteLine("Sau khi goi ham thanh phan: "); Console.WriteLine("\tx = {0}", x); Console.WriteLine("\ty = {0}", y); Diem O = new Diem(); O.HienThi("Toa do cua goc la: "); O.HienThi(); } } } using System; using System.Collections.Generic; using System.Text; namespace MinhHoaREFOUT { public class Diem { int x, y; /// <summary> /// Hàm khởi tạo 1 điểm với 2 đối số đầu vào /// </summary> /// <param name="x"></param> /// <param name="y"></param> public Diem(int x, int y) { this.x = x; this.y = y; } public Diem(double x, double y) { this.x = (int)x; this.y = (int)y; } /// <summary> /// Hàm khởi dựng không có đối số. Mặc định là (0, 0) /// </summary> public Diem() { this.x = this.y = 0; } public void HienThi() { Console.WriteLine("(x, y) = ({0}, {1})", this.x, this.y); } public void HienThi(string gioiThieu) { Console.Write(gioiThieu); Console.WriteLine(" (x, y) = ({0}, {1})", this.x, this.y); } public void LayToaDo(ref int hoanhDo, ref int tungDo) { //Trong này //- có thể sử dụng giá trị của hoanhDo //- không được sử dụng giá trị của tungDo //- PHẢI thay đổi giá trị của tungDo Console.WriteLine("Trong than ham: "); Console.WriteLine("\ttso 1 = {0}", hoanhDo); Console.WriteLine("\ttso 2 = {0}", tungDo); hoanhDo = this.x; tungDo = y; Console.WriteLine("\t >tso 1 = {0}", hoanhDo); Console.WriteLine("\t >tso 2 = {0}", tungDo); } } } using System; using System.Collections.Generic; using System.Text; using System.Collections; namespace QuanLySinhVien { /// <summary> /// Nhập danh sách sinh viên /// In danh sách sinh viên ra màn hình /// </summary> class Program { static void Main(string[] args) { /* //Nhập số lượng sinh viên Console.Write("so luong sv: "); int n = int.Parse(Console.ReadLine()); //Nhập danh sách sv SinhVien[] sv = new SinhVien[n]; for (int i = 0; i < sv.Length; i++) { Console.WriteLine("Nhap thong tin cho sinh vien thu {0}", i + 1); Console.Write("\tHo ten: "); string stHoTen = Console.ReadLine(); Console.Write("\tGioi tinh (1/0 tuong ung Nam/Nu): "); string stGioiTinh = Console.ReadLine(); Console.Write("\tDiem mon 1: "); string m1 = Console.ReadLine(); Console.Write("\tDiem mon 2: "); string m2 = Console.ReadLine(); Console.Write("\tDiem mon 3: "); string m3 = Console.ReadLine(); sv[i] = new SinhVien(stHoTen, stGioiTinh, m1, m2, m3); } //In danh sách sinh viên for (int i = 0; i < sv.Length; i++) sv[i].HienThiDangBang(); */ //Khai báo và khởi tạo arrayList ArrayList sv = new ArrayList(); //Nhập dữ liệu cho arrayList while (1 == 1) { Console.WriteLine("Nhap thong tin cho sinh vien"); Console.Write("\tHo ten: "); string stHoTen = Console.ReadLine(); Console.Write("\tGioi tinh (1/0 tuong ung Nam/Nu): "); string stGioiTinh = Console.ReadLine(); Console.Write("\tDiem mon 1: "); string m1 = Console.ReadLine(); Console.Write("\tDiem mon 2: "); string m2 = Console.ReadLine(); Console.Write("\tDiem mon 3: "); string m3 = Console.ReadLine(); Student x = new Student(stHoTen, stGioiTinh, m1, m2, m3); sv.Add(x); //sv.Add(new SinhVien(stHoTen, stGioiTinh, m1, m2, m3)); Console.Write("\nNhap tiep (C/K)"); if (Console.ReadLine().ToUpper() == "K") break; } //In dữ liệu for (int i = 0; i < sv.Count; i++) { //Xử lý phần tử sv[i]: object > cần phải ép về kiểu SinhVien Student x = (Student)sv[i]; x.HienThiDangBang(); //((SinhVien)sv[i]).HienThiDangBang(); } //foreach (object x in sv) //{ // ((SinhVien)x).HienThiDangBang(); //} } } } using System; using System.Collections.Generic; using System.Text; namespace QuanLySinhVien { class Nguoi { string hoTen; public Nguoi(string name) { this.hoTen = name; } public virtual void HienThi() { Console.WriteLine("Ten toi la {0}", hoTen); } } class SinhVien : Nguoi { double m1, m2, m3; public SinhVien(string hoTen, double m1, double m2, double m3) :base(hoTen) { this.m1 = m1; this.m2 = m2; this.m3 = m3; } public override void HienThi() { base.HienThi(); //Sử dụng hàm HienThi() của lớp cha Console.WriteLine("Diem {0}, {1}, {2}\n", this.m1, this.m2, this.m3); } } class NhanVien : Nguoi { private double heSoLuong; /// <summary> /// Hiển thị thông tin của Nhân viên /// </summary> public override void HienThi() { base.HienThi(); Console.WriteLine("He so luong: {0}\n", this.heSoLuong); } public NhanVien(string hoTen, double heSoLuong) :base(hoTen) { this.heSoLuong = heSoLuong; } } } using System; using System.Collections.Generic; using System.Text; namespace QuanLySinhVien { /// <summary> /// Lớp mô tả thực thể Sinh viên /// </summary> class Student { #region Các biến thành phần private string hoTen; private bool gioiTinh; private double mon1; private double mon2; private double mon3; #endregion #region Các hàm khởi dựng /// <summary> /// Hàm khởi dựng không có tham số /// </summary> public Student() { this.hoTen = "Khong biet"; this.gioiTinh = true; this.mon1 = this.mon2 = this.mon3 = 0; } /// <summary> /// Hàm khởi dựng SinhVien /// </summary> /// <param name="hoTen">Họ tên</param> /// <param name="gioiTinh">Giới tính (1/True: Nam)</param> /// <param name="m1">Chuỗi điểm môn 1</param> /// <param name="m2">Chuỗi điểm môn 2</param> /// <param name="m3">Chuỗi điểm môn 3</param> public Student(string hoTen, string gioiTinh, string m1, string m2, string m3) { this.hoTen = hoTen; this.gioiTinh = (gioiTinh == "1" || gioiTinh.ToUpper() == "TRUE"); this.mon1 = double.Parse(m1); this.mon2 = double.Parse(m2); this.mon3 = double.Parse(m3); } /// <summary> /// Hàm khởi dựng cho SinhVien với các tham số trực tiếp /// </summary> /// <param name="hoTen"></param> /// <param name="gioiTinh"></param> /// <param name="m1"></param> /// <param name="m2"></param> /// <param name="m3"></param> public Student(string hoTen, bool gioiTinh, double m1, double m2, double m3) { this.hoTen = hoTen; this.gioiTinh = gioiTinh; this.mon1 = m1; this.mon2 = m2; this.mon3 = m3; } #endregion #region Hàm tính toán public double DiemTrungBinh() { return (mon1 + mon2 + mon3) / 3; } #endregion #region Các hàm hiển thị thông tin public void HienThi() { Console.WriteLine("{0} {1} Mon 1: {2}, Mon 2: {3}, Mon 3 {4}", this.gioiTinh ? "Anh" : "Chi", this.hoTen, this.mon1, this.mon2, this.mon3); } public void HienThiDangBang() { Console.WriteLine("{1, 35} {0,5} {2} {3} {4} {5}", this.gioiTinh ? "Nam" : "Nu", this.hoTen, this.mon1, this.mon2, this.mon3, this.DiemTrungBinh()); } #endregion } } . System.Collections; namespace QuanLySinhVien { /// <summary> /// Nhập danh sách sinh viên /// In danh sách sinh viên ra màn hình /// </summary> . số lượng sinh viên Console.Write("so luong sv: "); int n = int.Parse(Console.ReadLine()); //Nhập danh sách sv SinhVien[] sv = new SinhVien[n];

Ngày đăng: 18/01/2014, 13:20

Từ khóa liên quan

Tài liệu cùng người dùng

  • Đang cập nhật ...

Tài liệu liên quan