Ôn tập C#-Lớp và đối tượng, kế thừa và đa hình

Thảo luận trong 'C#' bắt đầu bởi TruTra, 22 Tháng mười hai 2010.

  1. Offline

    TruTra

    • Friends

    • Oi vua giong face, vua giong yahoo= mang xha roi :D
    Số bài viết:
    499
    Đã được thích:
    200
    Điểm thành tích:
    140
    Bài này độ lại của Ngôi Sao Băng pot lâu rồi.Hôm nay tớ làm để các bạn ôn tập cho dễ

    Viết lớp cơ sở Khohang gồm:
    - 3 thuộc tính: tên Khohang(string), khả năng chứa(float), tồn kho(float), giá thuê ngày(float)
    - Hàm tạo: Khohang(string ten, float kng, float ton, float giathuengay)) để gán các thuộc tính cho Khohang. Phương thức Void Nhapkho(float klg). Gọi N là khả năng chứa thêm của kho. Tính N. Hãy cập lượng hàng tồn kho theo 2 TH:
    + Nếu khối lượng hang nhập klg >=N : kho chứa đầy(hết khả năng). Lúc này Tồn kho = khả năng chứa.
    + Ngược lại, kho sẽ nhập vào hết khối lượng hết khối lượng hang. Lúc này tồn kho là bao nhiêu?
    - Phương thức đa hình: float Tinhtien (int songaythue) để tính tiền thuê kho hàng = gia thuê ngày*số ngày thuê.
    - Viết 2 lớp kho SP( sản phẩm) và kho NL (nguyên liệu) dẫn xuất từ lớp kho hang có them:
    + Thuộc tính: heso(float)
    + Phương thức đa hình: float Tinhtien (int songaythue) bằng tiền thuê kho hang tính theo lớp cơ sở hệ số của kho hang.
    - viết lớp mới có tên Ktra. Trong lớp này viết hàm Main () tạo một mảng gồm 3 đối tượng Kho hang:
    Phần tử 1 tên là: “Hải Châu”, khả năng chứa 500 tấn. Tồn kho=200 tấn, giá thuê 40$/ngày.
    Phần tử 2 thuộc kho NL tên là: “ Liên Chiểu”, khả năng chứa 800 tấn. Tồn kho=250 tấn, giá thuê 45$/, hê số: 0.9
    Phần tử 3 thuộc kho SP tên: “Cẩm Lệ”, khả năng chứa 600 tấn, tồn kho = 150 tấn, giá thuê 42$/ngày, hệ số: 0.,85. Nhập khối lượng hàng cần nhập vào mỗi kho. Số ngày đã thuê và gọi phương thức Tính tiền để biết phải trả bao nhiêu tiền để thuê các kho hang trên.
    integerMrD thích bài này.
  2. Offline

    TruTra

    • Friends

    • Oi vua giong face, vua giong yahoo= mang xha roi :D
    Số bài viết:
    499
    Đã được thích:
    200
    Điểm thành tích:
    140
    Đây là bài làm

    Mã:
    using System;
    using System.Collections.Generic;
    using System.Text;
    
    namespace Lop_va_doi_tuong
    {
       
       public class KhoHang
        {
            public string ten;
            public float klg;
            public float ton;
            public float gia;
            public KhoHang(string tenkhohang, float khanangchua, float tonkho, float giathuengay)
            {
                ten = tenkhohang;
                klg = khanangchua;
                ton = tonkho;
                gia = giathuengay;
            }
            public void nhap(float soluongnhap)
            {
                float N = klg-ton;
                if (soluongnhap >= N)
                {
                    Console.WriteLine(" Kho chua hien khong du kha nang nhap {0} Kg ",soluongnhap);
                    ton = klg;
                    Console.WriteLine(" Chi co the nhap vao {0} Kg ",N);
                    Console.WriteLine(" Kho hang {0} con ton kho {1}Kg ", ten, ton);
                }
                else
                {
                    Console.WriteLine(" Da nhap vao kho {0} Kg ", soluongnhap);
                    ton += soluongnhap;
                    Console.WriteLine( " Kho hang {0} con ton kho {1} ",ten,ton);
                }
            }
            public virtual float tinhtien(int songaythue)
            {
                return songaythue * gia;
            }
        }
        class KhoSP : KhoHang
        {
            float heso;
            public  KhoSP(string tenkhohang, float khanangchua, float tonkho, float giathuengay,float hs):base(tenkhohang,khanangchua,tonkho,giathuengay)
            {
                heso = hs;
            }
            public override  float tinhtien(int songaythue)
            {
                return songaythue * gia * heso;
            }
        }
        class KhoNL : KhoHang
        {
            float heso;
            public KhoNL(string tenkhohang, float khanangchua, float tonkho, float giathuengay, float hs):base(tenkhohang,khanangchua,tonkho,giathuengay)
            {
                heso = hs;
            }
            public override  float tinhtien(int songaythue)
            {
                return songaythue * gia * heso;
            }
        }
        class kiemtra
        {
      static void Main()
            {
                KhoHang [] mangKH = new KhoHang[3];
                mangKH[0] = new KhoHang("TenLua", 500, 200, 40);
                mangKH[1] = new KhoNL("Bom", 800, 250, 45,float.Parse("0.9"));
                mangKH[2] = new KhoSP("Nguoi chet", 600, 150, 42, float.Parse("0.85"));
                for (int i = 0; i < 3; i++)
                {
                    float soluongnhap;
                    Console.WriteLine("nhap so {0} vao kho",mangKH[i].ten);
                    soluongnhap = float.Parse(Console.ReadLine());
                    int songaythue;
                    Console.WriteLine("can chua {0} {1} trong may ngay",soluongnhap,mangKH[i].ten);
                  songaythue = Convert.ToInt32(Console.ReadLine());
                    mangKH[i].nhap(soluongnhap);
                    Console.WriteLine(" Thue ca cho nay can co {0} $ neu khong thi bom dan vo tinh",mangKH[i].tinhtien(songaythue));
                }
                Console.ReadLine();
            }
        }
    }
    
    chickenkon, integer, MrD5 người khác thích bài này.
  3. Offline

    ngoisaobang

    • Friends

    Số bài viết:
    558
    Đã được thích:
    614
    Điểm thành tích:
    560
    Chạy pài: Tên lửa. bom tấn j ghê rửa đúng là khả năng đạo.... Kủm ơn nhiều nhá! Very good!
  4. Offline

    TruTra

    • Friends

    • Oi vua giong face, vua giong yahoo= mang xha roi :D
    Số bài viết:
    499
    Đã được thích:
    200
    Điểm thành tích:
    140
    Một bài nữa về mảng kết hợp với chuỗi ký tự
    Nội dung :
    -Nhập vào và xuất ra danh sách sinh viên
    -Tìm kiếm sinh viên thao tên,nếu tìm ra sẽ đổi tên sinh viên thành . Cái gì đó "khùng"
    MrD thích bài này.
  5. Offline

    TruTra

    • Friends

    • Oi vua giong face, vua giong yahoo= mang xha roi :D
    Số bài viết:
    499
    Đã được thích:
    200
    Điểm thành tích:
    140
    Đây là code
    Mã:
    using System;
    using System.Collections.Generic;
    using System.Text;
    
    namespace Xu_ly_chuoi
    {
        class Program
        {
            static void Main(string[] args)
            {
                sinhvien[] danhsach = new sinhvien[20];
                int n;
                Console.WriteLine("nhap vao so sinh vien");
                n=Convert.ToInt32(Console.ReadLine());
            for( int i = 0 ;i<n;i++)
            {
                Console.WriteLine("nhap vao thong tin cho sinh vien thu {0}", i);
                danhsach[i]=new sinhvien("0",0);
                danhsach[i].nhap();
            }
            for (int i = 0; i < n; i++)
            {
                danhsach[i].xuat();
                Console.WriteLine("Ten sinh vien {0} :",danhsach[i].layten());
                Console.WriteLine("Ho cua sinh vien {0} :", danhsach[i].layho());
            }
                Console.WriteLine("nhap vao ten sinh vien can tim");
                string timten = Console.ReadLine();
                for (int i = 0; i < n; i++)
                {
                    int t = 0;
                    if (danhsach[i].layten() == timten)
                    {
                        Console.WriteLine("da tim thay sinh vien");
                        danhsach[i].hoten = danhsach[i].hoten.Insert(danhsach[i].hoten.Length," khung");
                        danhsach[i].xuat();
                        t++;
                    }
                    if (t == 0)
                        Console.WriteLine("khong co sinh vien {0} trong danh sach", timten);
                }
                    Console.ReadLine();
            }
        }
        public class sinhvien
        {
            public string hoten;
            public int sothutu;
            public sinhvien(string ten, int so)
            {
                hoten = ten;
                sothutu = so;
            }
            public void nhap()
            {
                Console.WriteLine("nhap ho va ten ");
                hoten = Console.ReadLine();
                Console.WriteLine("nhap so thu tu");
                sothutu = Convert.ToInt32(Console.ReadLine());
            }
            public void xuat()
            {
                Console.WriteLine("ho va ten : {0}",hoten);
                Console.WriteLine("sothutu : {0}",sothutu);
            }
            public string layten()
            {
                int n = hoten.Length;
                int y = hoten.LastIndexOf(" ");
                string ten = hoten.Substring(y+1, n-y-1);
                return ten;
            }
            public string layho()
            {
                return hoten.Substring(0, hoten.LastIndexOf(" "));
            }
        }
    }
    
    
    integerMrD thích bài này.
  6. Offline

    TruTra

    • Friends

    • Oi vua giong face, vua giong yahoo= mang xha roi :D
    Số bài viết:
    499
    Đã được thích:
    200
    Điểm thành tích:
    140
    Một bài nữa về thao tác với file
    Mã:
    using System;
    using System.Collections.Generic;
    using System.Text;
    using System.IO;
    
    namespace Tao_va_nhap_noi_dung_cho_tap_tin
    {
        class Program
        {
            static void Main(string[] args)
            {
                string tentaptin;
                Console.WriteLine("nhap vao ten tap tin");
                tentaptin = Console.ReadLine();
                //tao ra tap tin
                FileStream taotaptin = new FileStream(tentaptin, FileMode.CreateNew);
                taotaptin.Close();
                // nhap noi dung cho tap tin
                //Dau tien tao luong nhap
                StreamWriter nhapnoidung = new StreamWriter(tentaptin);
                for (int i = 1; i > 0; i++)
                {
                    string noidung;
                    noidung = Console.ReadLine();
                    if (noidung == "khongnhapnua")
                        break;
                    nhapnoidung.WriteLine(noidung);
                }
                nhapnoidung.Close();
                //xem thong tin ve tap tin
                FileInfo thongtin =new FileInfo(tentaptin);
                Console.WriteLine(" tentaptin {0}", thongtin.Name);
                Console.WriteLine(" dodaitaptin {0} ", thongtin.Length);
                Console.WriteLine(" thoigiantao {0} ", thongtin.CreationTime);
                //doc mot tap tin
                Console.WriteLine("Noi dung tap tin");
                StreamReader xemnoidung = File.OpenText(tentaptin);
                string xem;
                do
                {
                 xem = xemnoidung.ReadLine();
                    Console.WriteLine(xem);
                }while (xem !=null);
                xemnoidung.Close();
                Console.ReadLine();
            }
        }
    }
    
    
    sunboy thích bài này.
  7. Offline

    TruTra

    • Friends

    • Oi vua giong face, vua giong yahoo= mang xha roi :D
    Số bài viết:
    499
    Đã được thích:
    200
    Điểm thành tích:
    140
    Bài tương tự về nhị phân
    Mã:
    using System;
    using System.Collections.Generic;
    using System.Text;
    using System.IO;
    
    namespace Tao_va_nhap_noi_dung_cho_tap_tin
    {
        class Program
        {
            static void Main(string[] args)
            {
                string tentaptin;
                Console.WriteLine("nhap vao ten tap tin");
                tentaptin = Console.ReadLine();
                //tao ra tap tin
                FileStream taotaptin = new FileStream(tentaptin, FileMode.CreateNew);
                // nhap noi dung cho tap tin
               BinaryWriter nhapnoidung = new BinaryWriter(taotaptin);
                //nhap so tu 1 den 100
                for (int i = 1; i <=100 ; i++)
                {   
                    nhapnoidung.Write(i);
                }
                nhapnoidung.Close();
                taotaptin.Close();
                //xem thong tin ve tap tin
                FileInfo thongtin = new FileInfo(tentaptin);
                Console.WriteLine(" tentaptin {0}", thongtin.Name);
                Console.WriteLine(" dodaitaptin {0} ", thongtin.Length);
                Console.WriteLine(" thoigiantao {0} ", thongtin.CreationTime);
                //doc mot tap tin nhi phan
                Console.WriteLine("Noi dung tap tin");
                FileStream motaptin = new FileStream(tentaptin, FileMode.Open);
                BinaryReader xemfilenhiphan =new BinaryReader(motaptin);
                while(xemfilenhiphan.PeekChar()!=-1)
                {
                    Console.WriteLine(xemfilenhiphan.ReadInt32());
                }
                xemfilenhiphan.Close();
                taotaptin.Close();
                Console.ReadLine();
            }
        }
    }
    
    
    sunboy thích bài này.
  8. Offline

    HoVn_CNTT

    • Thành Viên Mới

    Số bài viết:
    64
    Đã được thích:
    71
    Điểm thành tích:
    0
    Ủng hộ bác TruTra một phiếu. Cảm ơn. Em định post mấy bài mà thấy mấy bài của bác chuẩn nên em nhừng quyền ưu tiên cho bác luôn.
  9. Offline

    sunboy

    • Thành viên sáng lập

    • No thing
    Số bài viết:
    1.616
    Đã được thích:
    1.340
    Điểm thành tích:
    1.000
    Mã:
    danhsach[i].hoten = danhsach[i].hoten.Insert(danhsach[i].hoten.Length," khung");
    
    Cái này là cái gì nhỉ :snicker:
  10. Offline

    lt_forever

    • Windows 95

    Số bài viết:
    238
    Đã được thích:
    99
    Điểm thành tích:
    90
    bài nhập sinh viên bạn trutra làm bị lỗi rồi.
    PHP:
    using System;
    using System.Collections.Generic;
    using System.Text;

    namespace 
    Xu_ly_chuoi
    {
        class 
    Program
        
    {
            static 
    void Main(string[] args)
            {
                
    sinhvien[] danhsach = new sinhvien[20];
                
    int n;
                
    Console.WriteLine("nhap vao so sinh vien");
                
    Convert.ToInt32(Console.ReadLine());
                for (
    int i 0ni++)
                {
                    
    Console.WriteLine("nhap vao thong tin cho sinh vien thu {0}"i);
                    
    danhsach[i] = new sinhvien("0"0);
                    
    danhsach[i].nhap();
                }
                for (
    int i 0ni++)
                {
                    
    danhsach[i].xuat();
                    
    Console.WriteLine("Ten sinh vien {0} :"danhsach[i].layten());
                    
    Console.WriteLine("Ho cua sinh vien {0} :"danhsach[i].layho());
                }
                
    Console.WriteLine("nhap vao ten sinh vien can tim");
                
    string timten Console.ReadLine();
                for (
    int i 0ni++)
                {
                    
    int t 0;
                    if (
    danhsach[i].layten() == timten)
                    {
                        
    Console.WriteLine("da tim thay sinh vien");
                        
    danhsach[i].hoten danhsach[i].hoten.Insert(danhsach[i].hoten.Length" khung");
                        
    danhsach[i].xuat();
                        
    t++;
                    }
                    if (
    == 0)
                        
    Console.WriteLine("khong co sinh vien {0} trong danh sach"timten);
                }
                
    Console.ReadLine();
            }
        }
        public class 
    sinhvien
        
    {
            public 
    string hoten;
            public 
    int sothutu;
            public 
    sinhvien()
            {
                
    hoten "";
                
    sothutu 0;
            }
            public 
    sinhvien(string tenint so)
            {
                
    hoten ten;
                
    sothutu so;
            }
            public 
    void nhap()
            {
                
    Console.WriteLine("nhap ho va ten ");
                
    hoten Console.ReadLine();
                
    Console.WriteLine("nhap so thu tu");
                    ;
                
    sothutu int.Parse(Console.ReadLine());
            }
            public 
    void xuat()
            {
                
    Console.WriteLine("ho va ten : {0}"hoten);
                
    Console.WriteLine("sothutu : {0}"sothutu);
                
    Console.ReadLine();
            }
            public 
    string layten()
            {
                
    int n hoten.Length;
                
    int y hoten.LastIndexOf(" ");
                
    string ten hoten.Substring(11);
                return 
    ten;
            }
            public 
    string layho()
            {
                return 
    hoten.Substring(0hoten.LastIndexOf(" "));
            }
        }
    }
  11. Offline

    Nh0c'c0n

    • Windows 3.0

    Số bài viết:
    151
    Đã được thích:
    44
    Điểm thành tích:
    40
    ai làm được bài này giúp mình với:
    viết ct in ra màn hình:

    *
    **
    ***
    ****
    ****
    ******
    hoặc là:
    ******
    *****
    ****
    ***
    **
    *
    hoặc:
    *
    **
    ***
    ****
    *****
    ******
    hoặc :
    *
    **
    ***
    ****
    *****
    ******
    hoặc:
    ******
    *****
    ****
    ***
    **
    *
    hoặc:
    *
    **
    ***
    *****
    ******
    cí cuối cùng nà:
    *
    **
    ***
    ****
    *****
    *****
    $$$$$$
    $$$$$
    $$$$
    $$$
    $$
    $
    ******
    ngoisaobang thích bài này.
  12. Offline

    ngoisaobang

    • Friends

    Số bài viết:
    558
    Đã được thích:
    614
    Điểm thành tích:
    560
    Bài nhập nhập sv trutra làm chạy bảo nhập miết tên sv luôn. phải có câu lệnh dừng lại chứ.
    Chú thjk thêm : in ra hình dạng tam giác!

    Mọi ng cùng nhau giải nhá!
  13. Offline

    TruTra

    • Friends

    • Oi vua giong face, vua giong yahoo= mang xha roi :D
    Số bài viết:
    499
    Đã được thích:
    200
    Điểm thành tích:
    140
    Ah.Cái này có khai cáo n= số sinh viên nhập vào.Tức là phải nhập đủ nó mới hết nhập
    Còn phần để dừng thì ở mấy bài sau có một bài có đó.Các bạn copy rồi dán vào.
  14. Offline

    TruTra

    • Friends

    • Oi vua giong face, vua giong yahoo= mang xha roi :D
    Số bài viết:
    499
    Đã được thích:
    200
    Điểm thành tích:
    140
    Là nếu tìm thấy tên sunboy trong sanh sách thì đổi lại thành "sunboy khung" haha
  15. Offline

    daminh185

    • Thành Viên Mới

    Số bài viết:
    6
    Đã được thích:
    3
    Điểm thành tích:
    0
    c#

    nhung bai nay ai ha? cung khong co gi la kho dau. su dung vong lap for la dc ay ma.
    dau tien la bai nay nha
    *****
    ****
    ***
    **
    *
    Mã:
    using System;
    
        public class Tamgiac
        {
           public static void Main()
            {
                Console.WriteLine("moi ban nhap a");
                int a = int.Parse(Console.ReadLine());
                for (int i = 0; i <= a; i++)
                {
                    for (int j = 0; j <= a-i; j++)
                        Console.Write("*");
                    Console.WriteLine("\t");
                }
            }
       }
    


    *
    **
    ***
    ****
    *****
    $$$$$
    $$$$
    $$$
    $$
    $

    se viet nhu sau:
    Mã:
    using System;
    
    public class Tamgiac
    {
        public static void Main()
        {
            Console.WriteLine("moi ban nhap a");
            int a = int.Parse(Console.ReadLine());
            for (int i = a; i > 0; i--)
            {
                for (int j = a; j > i; j--)
                    Console.Write("*");
                Console.WriteLine("\t");
            }
            for (int i = 0; i<=a; i++)
            {
                for (int j = 0; j <a-i; j++)
                    Console.Write("$");
                Console.WriteLine("\t");
            }
    
        }
    }

    con nua ne:
    *
    **
    ***
    ****
    *****

    viet:
    Mã:
    using System;
    
    public class Tamgiac
    {
        public static void Main()
        {
            Console.WriteLine("moi ban nhap a");
            int a = int.Parse(Console.ReadLine());
            for (int i = a; i >0; i--)
            {
                for (int j = a; j >i; j--)
                    Console.Write("*");
                Console.WriteLine("\t");
            }
        }
    }

    khuyen mai them bai nua ne:

    *****
    *****
    *****

    Mã:
    using System;
    
    public class Tamgiac
    {
        public static void Main()
        {
            Console.WriteLine("moi ban nhap a, b");
            int a = int.Parse(Console.ReadLine());
            int b = int.Parse(Console.ReadLine());
            for (int i = 1; i <=a; i++)
            {
                for (int j = 1; j <= b; j++)
                    Console.Write("*");
                Console.WriteLine("\t");
            }
        }
    }
    chuc may man nhe!!!!
    ngoisaobangsunboy thích bài này.
  16. Offline

    dongchailen

    • Thành Viên Mới

    Số bài viết:
    1
    Đã được thích:
    0
    Điểm thành tích:
    0
    anh TruTra ơi giúp dùng bài Lập trình hướng đối tượng:Lớp Đa thức và chương trình hỗ trợ học đa thức trên c# nhé,cám ơn trước nha!

Chia sẻ trang này

Advertising: Linux system admin | nukeviet | nukeviet 4 | Upload ảnh miễn phí