kakavip Bằng Cấp: A
Tổng số bài gửi : 30 Join date : 17/05/2011
| Tiêu đề: Giải các dề thi lập trình hương đối tượng của các trường (C#) Fri Jun 10, 2011 4:20 pm | |
| Giải các dề thi lập trình hương đối tượng của các trường (C#)Câu 1: Viết lớp cơ sở kho hàng (KhoHang) bao gồm: - 3 thuộc tính: tên KhoHang(string), khả năng chứa (double), tồn kho (double), giá thuê ngày (double) - Hàm tạo: KhoHang(string ten,double kng,double ton,double giathuengay) để gán các thuộc tính cho KhoHang. Phương thức void NhapKho(double klg). Gọi N là khả năng chứa thêm của kho. Hãy cập nhật hàng tồn kho theo 2 trường hợp: o Nếu khối lượng hàng 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 o Ngược lại, kho sẽ nhập hết khối lượng hàng. Lúc này tồn kho là bao nhiêu? - Phương thức đa hình: double Tinhtien(int Songaythue) để tính tiền thuê kho hàng = giá thuê* số ngày thuê
- Viết 2 lớp KhoSP(Sản phẩm),KhoNL(Nguyên liệu) dẫn xuất từ lớp kho hàng có thêm: o Thuộc tính heso(double) o Phương thức đa hình: double TinhTien(int Songaythue) bằng tiền thuê kho hàng tính theo hệ số của kho hàng. - Viết lớp mới có tên là Ktra. Trong lớp này viết hàm main() tạo 1 mảng gồm 3 đối tượng KhoHang: o Phần tử 1 tên “Hải Châu”, khả năng chứa 500 tấn. tồn kho 200 tấn. giá thuê 400.000/ngày o Phần tử 2 thuộc kho NL tên “Liên chiểu”, khả năng chứa 800 tấn. tồn kho 250 tấn, giá thuê 450.000/Ngày, hệ số 0.9 o 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ê 420.000/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 trên. - Code:
-
using System; using System.Collections.Generic; using System.Linq; using System.Text;
namespace Dapancau1 { //Lop Khohang public class Khohang { //bien thanh vien private string ten;//ten kho hang private double kng;//kha nang chua private double ton; //ton kho private double giathue;//gia thue public string Ten { get { return ten; } } //Ham tao public Khohang(string ten, double kng, double ton, double giathue) { this.ten = ten; this.kng = kng; this.ton = ton; this.giathue = giathue; } //phuongthuc public void Nhapkho(double klg) { if (klg >= (kng - ton)) ton = kng; else ton += klg; } public virtual double Tinhtien(int songaythue) { return giathue * songaythue; } } //Lop KhoSP public class KhoSP : Khohang { //bien thanh vien private double heso; public KhoSP(string ten, double kng, double ton, double giathue, double heso) : base(ten, kng, ton, giathue) { this.heso = heso; } public override double Tinhtien(int songaythue) { return base.Tinhtien(songaythue)*heso; } } //lop khoNL public class KhoNL : Khohang { //bien thanh vien private double heso; public KhoNL(string ten, double kng, double ton, double giathue, double heso) : base(ten, kng, ton, giathue) { this.heso = heso; } public override double Tinhtien(int songaythue) { return base.Tinhtien(songaythue) * heso; } } public class Ktra { static void Main(string[] args) { double N = 0; int songaythue = 0; Khohang kh = new Khohang("Hai chau", 500, 200, 400000); Console.Write("Nhap so luong hang vao kho {0}:",kh.Ten); N = double.Parse(Console.ReadLine()); kh.Nhapkho(N); Console.Write("Nhap so ngay thue kho {0}:", kh.Ten); songaythue = Int32.Parse(Console.ReadLine()); kh.Nhapkho(N); Console.WriteLine("So tien thue kho {0} la: {1:0.00}",kh.Ten,kh.Tinhtien(songaythue)); // KhoNL khnl = new KhoNL("Lien Chieu",800,250,450000,0.9); Console.Write("Nhap so luong hang vao kho {0}",khnl.Ten); N = double.Parse(Console.ReadLine()); khnl.Nhapkho(N); Console.Write("Nhap so ngay thue kho {0}: ",khnl.Ten); songaythue = Int32.Parse(Console.ReadLine()); khnl.Nhapkho(N); Console.WriteLine("So tien thue kho {0} la {1:0.00}",khnl.Ten,khnl.Tinhtien(songaythue)); // KhoSP khsp = new KhoSP("Cam Le", 600, 150, 420000, 0.85); Console.Write("Nhap so luong hang vao kho {0}", khsp.Ten); N = double.Parse(Console.ReadLine()); khsp.Nhapkho(N); Console.Write("Nhap so ngay thue kho {0}: ", khsp.Ten); songaythue = Int32.Parse(Console.ReadLine()); khsp.Nhapkho(N); Console.WriteLine("So tien thue kho {0} la {1:0.00}", khsp.Ten, khsp.Tinhtien(songaythue));
Console.ReadKey(); } } }
| |
|
kakavip Bằng Cấp: A
Tổng số bài gửi : 30 Join date : 17/05/2011
| Tiêu đề: Re: Giải các dề thi lập trình hương đối tượng của các trường (C#) Fri Jun 10, 2011 4:21 pm | |
| Bài 02: Xây dựng lớp Stack<T> để mô phỏng một Stack bao gồm: - Hàm Stack(int n) khởi tạo 1 Stack có tối đa n phần tử - Phương thức IsEmpty để kiểm tra xem Stack có phần tử nào hay không? - Phương thức IsFull để kiểm tra xem Stack đầy hay chưa? - Phương thức Push để thêm một phần tử vào Stack. - Phương thức Pop để loại một phần tử khỏi Stack. Xây dựng đối tượng Stack<int> và Stack<String> và thực hiện các phương thức trên. - Code:
-
using System; using System.Collections.Generic; using System.Linq; using System.Text;
namespace Baigiaicau2 { public class Stack<T> { private int n;//so phan tu toi da cua stack private int top;//danh dau dinh stack public T[] a; public int Top { get { return top; } set { top = value; } } public Stack(int n) { top = -1; this.n = n; a = new T[n]; } public bool isEmpty() { return top == -1; } public bool isFull() { return top==n-1; } public void Push(T pt) { //neu stack chua day thi top++,a[top]=x //Neu stack day roi thi bao "stack day" if (!isFull()) { top = top + 1; a[top] = pt; } else { Console.WriteLine("Stack day!"); } } public void Pop() { if (!isEmpty()) { top = top - 1; } else { Console.WriteLine("Stack rong"); } } public void Hienthi() { if (!isEmpty()) { for (int i = 0; i <= top; i++) Console.Write("{0}", a[i].ToString()); Console.WriteLine(); } else Console.WriteLine("Stack rong roi"); } }
public class Test { static void Main(string[] args) { Stack<int> st = new Stack<int>(5); if (st.isEmpty()) Console.WriteLine("Stack rong");
Console.WriteLine("***Thuc hien thao tac***");
Console.WriteLine("\n"); Console.WriteLine("//them {0} phan tu",st.a.Length); st.Push(3); st.Push(4); st.Push(5); st.Push(6); st.Push(7); st.Hienthi(); if (st.isFull()) Console.WriteLine("Stack da day");
Console.WriteLine("\n"); Console.WriteLine("//Xoa 1 phan tu"); st.Pop(); st.Hienthi(); Console.WriteLine("\n"); // Stack<string> st2 = new Stack<string>(3); if (st2.isEmpty()) Console.WriteLine("Stack rong");
Console.WriteLine("***Thuc hien thao tac***");
Console.WriteLine("\n"); Console.WriteLine("//them {0} phan tu", st2.a.Length); st2.Push("a"); st2.Push("b"); st2.Push("c");
st2.Hienthi(); if (st2.isFull()) Console.WriteLine("Stack da day");
Console.WriteLine("\n"); Console.WriteLine("//Xoa 3 phan tu"); st2.Pop(); st2.Pop(); st2.Pop(); st2.Hienthi(); Console.WriteLine("\n"); Console.ReadLine(); } } }
| |
|