Chào mừng đến với Diễn đàn lập trình - Cộng đồng lập trình.
Kết quả 1 đến 8 của 8
  1. #1
    Ngày tham gia
    Sep 2015
    Bài viết
    0

    Bài tập App console.

    Mình có 1 bài tập như thế này:
    App console thực hiện các việc sau:
    - Hiển thị 5 mặt hàng gồm Mã số, tên hàng, và giá (tùy chọn).
    - Khách hàng nhập vào Mã số và số lượng mỗi mặt hàng muốn mua.
    - Chương trình hỏi đáp, nếu mua tiếp thì quay lại từ đầu, nếu không mua nữa thì in ra Mã số, tên hàng, giá và tống số tiền. Tức là gộp tất cả các lần mua vào 1 hóa đơn.
    Mình làm không nổi cái ý thứ 3 ( không gộp được tất cả các lần mua vào 1 hóa đơn, mà thay vào đó mỗi lần khách hàng mua hàng là 1 lần in hóa đơn.)
    Các bạn có ý tưởng nào hay giúp mình chỗ bế tắc đó với. Mình mới học C# thôi. Thank.
    Mã:
        class Program
        {
            static void Main(string[] args)
            {
                string
                    h1 = " Banh kem",
                    h2 = " Keo deo",
                    h3 = " Duong trang",
                    h4 = " Sua tuoi",
                    h5 = " Sua dac",
                    m, s,kt;
                int
                    dem=0,tien,
                    g1 = 5000,
                    g2 = 7000,
                    g3 = 9000,
                    g4 = 3000,
                    g5 = 6000;
                Console.WriteLine("\t\tDANH SACH HANG HOA
    ");
                Console.WriteLine("\tMA SO  \t  TEN HANG  \t  GIA");
                Console.WriteLine("\t  1. \t{0} \t {1} d", h1, g1);
                Console.WriteLine("\t  2. \t{0} \t {1} d", h2, g2);
                Console.WriteLine("\t  3. \t{0} \t {1} d", h3, g3);
                Console.WriteLine("\t  4. \t{0} \t {1} d", h4, g4);
                Console.WriteLine("\t  5. \t{0} \t {1} d", h5, g5);
                do
                {
                    Console.Write("
    MA SO hang can mua: ");
                    m = Console.ReadLine();
                    Console.Write("So luong: ");
                    s = Console.ReadLine();
                    switch(m)
                    {
                        case "1":
                            tien=g1*(Convert.ToInt32(s));
                            Console.WriteLine("-> {0}, {1}", h1, tien);
                            break;
                        case "2":
                            tien=g2*(Convert.ToInt32(s));
                            Console.WriteLine("-> {0}, {1}", h2, tien);
                            break;
                        case "3":
                            tien=g3*(Convert.ToInt32(s));
                            Console.WriteLine("-> {0}, {1}", h3, tien);
                            break;
                        case "4":
                            tien=g4*(Convert.ToInt32(s));
                            Console.WriteLine("-> {0}, {1}", h4, tien);
                            break;
                        case "5":
                            tien=g5*(Convert.ToInt32(s));
                            Console.WriteLine("-> {0}, {1}", h5, tien);
                            break;
                        default:
                            Console.WriteLine("Nhap sai MA SO !");
                            dem--;
                            break;
                    }
                    Console.Write("Mua tiep (C\\K) ?: ");
                    kt = Console.ReadLine();
                    dem++;
                } while (kt == "c");
                Console.WriteLine("
    Tat ca {0} hoa don.",dem);
                Console.ReadLine();
            }
        }

  2. #2
    Ngày tham gia
    Sep 2015
    Bài viết
    0
    Bạn thiết kế lớp/struct mathang gồm tên, giá tiền, số lượng. Sau đó tạo lớp/struct hoadon chứa danh sách hoặc mảng các mặt hàng.

  3. #3
    Ngày tham gia
    Sep 2015
    Bài viết
    0
    Trích dẫn Gửi bởi meoconlongvang
    Bạn thiết kế lớp/struct mathang gồm tên, giá tiền, số lượng. Sau đó tạo lớp/struct hoadon chứa danh sách hoặc mảng các mặt hàng.
    hix,mình mới học thôi,vấn chưa đến những phần đó.

  4. #4
    Ngày tham gia
    Sep 2015
    Bài viết
    0
    Gộp tất cả các hóa đơn là sao mình không hiểu?
    có phải là in ra tất cả các hóa đơn mà người dùng chọn vào phải không bạn.

    nói như mèo con đúng rồi. nhưng bạn chưa học đến phần này thì có thể mảng bạn đã học rồi chứ.
    nếu học rồi thì khỏi tổ chức thành một struct mà bạn hãy tổ chức thành nhiều mảng khác nhau;
    ví dụ: int []arrTien, []arrMahang....
    khi người dùng chọn cái nào thì bạn đưa từng thông tin vào từng mảng tương ứng. khi xuất ra thì dùng xuất từng mảng ra từng dòng khác nhau.

    cách này chỉ là cách rất không nên dùng nhưng do bạn chưa học struct nên mình nói cách này. còn đã học struct rồi thì nên làm cách của mèo con.[IMG]images/smilies/biggrin.png[/IMG]

  5. #5
    Ngày tham gia
    Sep 2015
    Bài viết
    0
    gộp tất cả vào làm 1 là như thế này: khi kết thúc mua thì xuất ra màn hình vdụ như thế này:
    Mã:
    DANH SACH HANG MUA
    MA SO.......TEN HANG......SO LUONG.....DON GIA.....THANH TIEN
    2................AAAA.........5.............10.............50
    3................BBBB..........3.............15.............45
    5................CCCC ........2..............20............40
    TONG TIEN THANH TOAN: 135
    Phần mảng thì mình chỉ mới tìm hiểu thôi, cũng bít tý tý. Nhung vẫn gặp phải khó khăn trong phần in ra danh sách như trên.
    Mình tạo 2 mảng DonGia, MaHang. Mỗi lần nhập nhập vào mã hàng sản phẩm mua, chương trình lại hỏi tiếp tục hay không ? Nếu tiếp thì nhập tiếp, nếu không thì kết thúc và in ra hóa đơn như trên.

  6. #6
    Ngày tham gia
    Sep 2015
    Bài viết
    0
    Đoạn code như vậy mình làm được, như của bạn thì mới chỉ là phần xuất thông tin thông báo cho người mua biết mã hàng để chọn thôi (Hiển thị 5 mặt hàng).
    Mình mắc chỗ in danh sách các mã hàng mà khách chọn khi kết thúc mua. Mình có tạo 1 mảng (DanhSachNhap) để lưu các mã hàng mà người dùng nhập vào, thêm 1 mảng SoLuong để lưu số lượng mỗi mặt hàng. Đến đây thì tịt, trả nghĩ ra cách giải quyết vấn đề còn lại. ( in DANH SACH HANG MUA và tính toán ).

  7. #7
    Ngày tham gia
    Sep 2015
    Bài viết
    0
    thì nó cũng đại loại như vậy đó bạn.
    sau khi người dùng đã nhập xong. bạn có danh sách nhập hàng và số lượng đúng không?
    nếu có rồi thì số lượng của từng mảng. nếu có rồi thì việc bạn chỉ in ra giống như ở trên của mình thôi mà.

    giờ bài ở trên của mình thì mình giả sử là DanhsachNhap và SoLuong của bạn là 2 mảng TenHang và MaHang của mình.
    việc bạn xuất ra thì chỉ có như vậy thôi.

    nói tóm lại là bây giờ mảng thứ 2 của mình không còn là mã hàng nữa mà là mảng Số Lượng thì bạn nghĩ làm sao?????(hy vọng là bạn hiểu được ý mình).

    còn tính toán thì chỉ là vấn đề cộng trừ nhân cha thôi chứ có gì đâu.

    Lưu ý cho bạn khi làm cách này. Giả sử người dùng nhập mã hàng AAA vào danh sách mua với số lượng là 5, sau đó nhập thêm cũng mã hàng là AAA với số lượng là 3(vì lý do nào đó) thì bạn phải làm sao trong trường hợp này????? bạn tự giải quyết trường hợp này nhé.

    chúc bạn thành công.

  8. #8
    Ngày tham gia
    Sep 2015
    Bài viết
    0
    hix, "trên lớp đc dạy đến đâu thì làm đến đấy", không nên cầm đền chạy trước ôtô.
    Vậy là mình làm hết rùi, đúng những phần được học.
    Mã nguồn PHP:
    class Program { static void Main(string[] args) { string h1 = " Banh kem",h2 = " Keo deo",h3 = " Duong trang",h4 = " Sua tuoi",h5 = " Sua dac", nhap, m1 = null, m2 = null, m3 = null, m4 = null, m5 = null, kt, slg; int g1 = 5000, g2 = 7000, g3 = 9000, g4 = 3000, g5 = 6000, dem=0,t1=0, t2=0, t3=0, t4=0, t5=0, t; Console.WriteLine("\t\tDANH SACH HANG HOA
    "
    ); Console.WriteLine("\tMA SO \t TEN HANG \t GIA"); Console.WriteLine("\t h1. \t{0} \t {1} d", h1, g1); Console.WriteLine("\t h2. \t{0} \t {1} d", h2, g2); Console.WriteLine("\t h3. \t{0} \t {1} d", h3, g3); Console.WriteLine("\t h4. \t{0} \t {1} d", h4, g4); Console.WriteLine("\t h5. \t{0} \t {1} d", h5, g5); // do { Console.Write("
    MA SO hang mua: "); nhap = Console.ReadLine(); Console.Write("So luong: "); slg = Console.ReadLine(); switch (nhap) { case "h1": { m1 = h1; t1 = Convert.ToInt32(slg) * g1; Console.WriteLine("-> Mua: {0}, so luong: {1}", h1, slg); break; } case "h2": { m2 = h2; t2 = Convert.ToInt32(slg) * g2; Console.WriteLine("-> Mua: {0}, so luong: {1}", h2, slg); break; } case "h3": { m3 = h3; t3 = Convert.ToInt32(slg) * g3; Console.WriteLine("-> Mua: {0}, so luong: {1}", h3, slg); break; } case "h4": { m4 = h4; t4 = Convert.ToInt32(slg) * g4; Console.WriteLine("-> Mua: {0}, so luong: {1}", h4, slg); break; } case "h5": { m5 = h5; t5 = Convert.ToInt32(slg) * g5; Console.WriteLine("-> Mua: {0}, so luong: {1}", h5, slg); break; } default: { dem--; Console.WriteLine("MA SO khong ton tai, vui long nhap lai !"); break; } } Console.Write("
    Mua tiep (c\\k)? "); kt = Console.ReadLine(); dem++; } while ((kt == "c")&(dem<5)); Console.WriteLine("
    \tDANH SACH HANG MUA"); Console.WriteLine("\t {0}",m1); Console.WriteLine("\t {0}",m2); Console.WriteLine("\t {0}",m3); Console.WriteLine("\t {0}",m4); Console.WriteLine("\t {0}",m5); t = t1 + t2 + t3 + t4 + t5; Console.WriteLine("\t Tong tien: {0}",t); Console.ReadLine(); } }  
    Cám ơn bạn đã nhiệt tình giúp.

 

 

Quyền viết bài

  • Bạn Không thể gửi Chủ đề mới
  • Bạn Không thể Gửi trả lời
  • Bạn Không thể Gửi file đính kèm
  • Bạn Không thể Sửa bài viết của mình
  •