Tutorial [Lớp học lập trình] Bài 2: Cấu trúc điểu khiển trong C# Part 1 2

nộp bài :D

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

namespace ConsoleApplication3
{
class Program
{
static void Main(string[] args)
{
int giahma = 0;
int giavip72 = 0;
int giasockescort = 0;
string tenkhach = "";
string mua = "";
int sl = 0;
int tong = 0;
double tongtien = 0;
double tiengiam = 0;
Console.WriteLine("dich vu gom:");
Console.Write("gia 1 acc hma: ");
giahma = Convert.ToInt32(Console.ReadLine());
Console.Write("gia 1 acc vip72: ");
giavip72 = Convert.ToInt32(Console.ReadLine());
Console.Write("gia 1 acc sockescort: ");
giasockescort = Convert.ToInt32(Console.ReadLine());
Console.WriteLine("ban ten gi?");
tenkhach = Console.ReadLine();
Console.WriteLine("ban muon mua gi?");
mua = Console.ReadLine();
Console.WriteLine("ban mua bao nhieu acc?");
sl = Convert.ToInt32(Console.ReadLine());
switch (mua)
{
case "hma":
tong = giahma * sl;
if (sl >= 1 && sl <= 10)
{
tongtien = tong * 0.9;
tiengiam = tong * 0.1;
}
if (sl >= 11 && sl <= 20)
{
tongtien = tong * 0.8;
tiengiam = tong * 0.2;
}
if (sl > 20)
{
tongtien = tong * 0.7;
tiengiam = tong * 0.3;
}
break;
case "vip72":
tong = giavip72 * sl;
if (sl >= 1 && sl <= 10)
{
tongtien = tong * 0.9;
tiengiam = tong * 0.1;
}
if (sl >= 11 && sl <= 20)
{
tongtien = tong * 0.8;
tiengiam = tong * 0.2;
}
if (sl > 20)
{
tongtien = tong * 0.7;
tiengiam = tong * 0.3;
}
break;
case "sockescort":
tong = giasockescort * sl;
if (sl >= 1 && sl <= 10)
{
tongtien = tong * 0.9;
tiengiam = tong * 0.1;
}
if (sl >= 11 && sl <= 20)
{
tongtien = tong * 0.8;
tiengiam = tong * 0.2;
}
if (sl > 20)
{
tongtien = tong * 0.7;
tiengiam = tong * 0.3;
}
break;
}
Console.WriteLine("hoa don:");
Console.WriteLine("ten khach hang: "+tenkhach);
Console.WriteLine("tong tien: "+tong);
Console.WriteLine("tien giam: "+tiengiam);
Console.WriteLine("tong tien phai tra :" + tongtien);
if (tongtien >= 100000 && tongtien <= 200000) Console.WriteLine("ban duoc cong 5 point vao tai khoan thuong");
if (tongtien >= 201000 && tongtien <= 400000) Console.WriteLine("ban duoc cong 10 point vao tai khoan thuong");
if (tongtien >= 400100 && tongtien <= 500000) Console.WriteLine("ban duoc cong 15 point vao tai khoan thuong");
Console.ReadLine();
}
}
}
bạn ơi giải thích cho mình chỗ này tongtien = tong * 0.9; tongtien = tong * 0.8; tongtien = tong * 0.7;
 
bạn ơi giải thích cho mình chỗ này tongtien = tong * 0.9; tongtien = tong * 0.8; tongtien = tong * 0.7;
tong=giá sản phẩm (hma,vip72,escort) * số lượng
tong tien = tong * giá giảm thêm 10% , 20% , 30%
 
XEM GIÚP MÌNH LỖI VỚI MỌI NGƯỜI ƠI:

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

namespace Baitap2
{
    class Program
    {
        static void Main(string[] args)
        {
            int hma = 0;
            int vip72 = 0;
            int sockescort = 0;
            Console.WriteLine("Nhap gia hma");
            hma = Convert.ToInt32(Console.ReadLine());
            Console.WriteLine("Nhap gia vip72");
            vip72 = Convert.ToInt32(Console.ReadLine());
            Console.WriteLine("Nhap gia sockescort");
            sockescort = Convert.ToInt32(Console.ReadLine());
            string tenkhachhang, loaisp = "";
            int tongtien = 0;
            int soluong = 0;
            int tiengiam = 0;
            int tongtienphaitra = 0;
            Console.WriteLine("Ban ten gi?");
            tenkhachhang = Console.ReadLine();
            Console.WriteLine("Chung toi co ban hma: "+hma+" vip72 "+vip72+" va sockescort "+sockescort);
            Console.WriteLine("Ban muon mua loai san pham nao?");
            loaisp = Console.ReadLine();
            Console.WriteLine("Ban muon mua bao nhieu cai?");
            soluong=Convert.ToInt32(Console.ReadLine());
            switch (loaisp)
            { case "hma":
                    tongtien=hma*soluong;
                        break;
                case"vip72":
                    tongtien=vip72*soluong;
                        break;
                case"sockescort":
                    tongtien=sockescort*soluong;
                        break;
                default:
                    Console.WriteLine("Ban nhap sai roi, thu lai nhe!");
                       break;
            }
            if(soluong>=1 && soluong<=10)
            {
                tiengiam=tongtien*0.1;
            }
                else if(soluong>=11 && soluong<=20)
                {
                    tiengiam=tongtien*0.2;
                }
                    else(soluong>20)
                    {
                        tiengiam=tongtien*0.3;
                    }
tongtienphaitra=tongtien-tiengiam;
                        Console.WriteLine("Ten khac hang: "+tenkhachhang);
                        Console.WriteLine("Tong tien la: "+tongtien);
                        Console.WriteLine("Tien duoc giam la: "+tiengiam);
                        Console.WriteLine("Tong tien phai tra sau khi giam la: "+tongtienphaitra);
                        if(tongtienphaitra>=100000 && tongtienphaitra<=200000)
                        {
                            Console.WriteLine("Quy khach duoc cong 5 point vao tai khoang thuong");
                        }
                        else if(tongtienphaitra>=201000 && tongtienphaitra<=40000)
                        {
                           Console.WriteLine("Quy khach duoc cong 10 point vao tai khoang thuong");
                        }
                        else (tongtienphaitra>=401000 && tongtienphaitra<500000)
                        {
                            Console.WriteLine("Quy khach duoc cong 15 point vao tai khoang thuong");
                        }
                        Console.ReadLine();


        }
    }
}
 
Last edited:
chụp cái tool xem nó báo lỗi thế nào mới giúp được chứ .
 
Mình nghĩ mọi người copy cái code của mình bỏ vào Visual Studio luôn rồi bấm chạy ra lỗi dễ xem hơn chứ nhỉ
1/ else ko cần ghi dk vào , vì mọi trường hợp khác nó trả về else rồi
2/ công thức tính tiengiam=tongtien*0.2; ( mình sửa thành tiengiam=tongtien*2/10; ) thì ok.
mình cũng ko hiểu tại sao *0.2 thì lỗi còn *2/10 thì ko @tunvit
 
1/ else ko cần ghi dk vào , vì mọi trường hợp khác nó trả về else rồi
2/ công thức tính tiengiam=tongtien*0.2; ( mình sửa thành tiengiam=tongtien*2/10; ) thì ok.
mình cũng ko hiểu tại sao *0.2 thì lỗi còn *2/10 thì ko @tunvit
Cám ơn bạn nhiều, mình làm theo và sửa được rồi :D
 
Nộp bài hoàn chỉnh :D

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

namespace Baitap2
{
    class Program
    {
        static void Main(string[] args)
        {
            int hma = 0;
            int vip72 = 0;
            int sockescort = 0;
            Console.WriteLine("Nhap gia hma");
            hma = Convert.ToInt32(Console.ReadLine());
            Console.WriteLine("Nhap gia vip72");
            vip72 = Convert.ToInt32(Console.ReadLine());
            Console.WriteLine("Nhap gia sockescort");
            sockescort = Convert.ToInt32(Console.ReadLine());
            string tenkhachhang, loaisp = "";
            int tongtien = 0;
            int soluong = 0;
            int tiengiam = 0;
            int tongtienphaitra = 0;
            Console.WriteLine("Ban ten gi?");
            tenkhachhang = Console.ReadLine();
            Console.WriteLine("Chung toi co ban hma "+hma+" vip72 "+vip72+" va sockescort "+sockescort);
            Console.WriteLine("Ban muon mua loai san pham nao?");
            loaisp = Console.ReadLine();
            Console.WriteLine("Ban muon mua bao nhieu cai?");
            soluong = Convert.ToInt32(Console.ReadLine());
            switch (loaisp)
            { case "hma":
                    tongtien=hma*soluong;
                        break;
                case"vip72":
                    tongtien=vip72*soluong;
                        break;
                case"sockescort":
                    tongtien=sockescort*soluong;
                        break;
                default:
                    Console.WriteLine("Ban nhap sai roi,vui long tat tap nay di va thu lai nhe!");
                       break;
            }          
            if(soluong>=1 && soluong<=10)
            {
                tiengiam=tongtien*1/10;
            }
                else if(soluong>=11 && soluong<=20)
                {
                    tiengiam=tongtien*2/10;
                }
                    else if(soluong>20)
                    {
                        tiengiam=tongtien*3/10;
                    }
tongtienphaitra=tongtien-tiengiam;
                        Console.WriteLine("Ten khac hang: "+tenkhachhang);
                        Console.WriteLine("Tong tien la: "+tongtien);
                        Console.WriteLine("Tien duoc giam la: "+tiengiam);
                        Console.WriteLine("Tong tien phai tra sau khi giam la: "+tongtienphaitra);
                        if(tongtienphaitra>=100000 && tongtienphaitra<=200000)
                        {
                            Console.WriteLine("Quy khach duoc cong 5 point vao tai khoan thuong");
                        }
                        else if(tongtienphaitra>=201000 && tongtienphaitra<=40000)
                        {
                           Console.WriteLine("Quy khach duoc cong 10 point vao tai khoan thuong");
                        }
                        else if (tongtienphaitra >= 401000 && tongtienphaitra < 500000)
                        {
                            Console.WriteLine("Quy khach duoc cong 15 point vao tai khoan thuong");
                        }
                        Console.ReadLine();


        }
    }
}
 
Last edited:
1/ else ko cần ghi dk vào , vì mọi trường hợp khác nó trả về else rồi
2/ công thức tính tiengiam=tongtien*0.2; ( mình sửa thành tiengiam=tongtien*2/10; ) thì ok.
mình cũng ko hiểu tại sao *0.2 thì lỗi còn *2/10 thì ko @tunvit
muốn *0.2 thì kiểu dữ liệu phải là float hoặc double nha anh zai :D. Do e mới chỉ hướng dẫn 2 kiểu dữ liệu cho mọi người làm nhần nhuyễn các toán tử mà ko phải vội nhớ nhiều thứ ấy mà, có lý do hết ;)
@tunvit đề nghị đại ca lần sau nói to lên 1 tí. bật max cmn vô cmn lum mà nghe chả rõ đc :))
Ơ mình nghe to lắm rồi mà ta, để mình tăng lên thêm 10 :D

@all các bạn có post code thì tạo 1 acc ở http://pastebin.com/ post lên cho dễ nhìn nhé :D
Cách config pastbin
2m6510n.png

Submit xong thì gửi link lên như vầy: http://pastebin.com/7LVwATeS
 
Last edited:
up chờ bài tiếp theo
 
muốn *0.2 thì kiểu dữ liệu phải là float hoặc double nha anh zai :D. Do e mới chỉ hướng dẫn 2 kiểu dữ liệu cho mọi người làm nhần nhuyễn các toán tử mà ko phải vội nhớ nhiều thứ ấy mà, có lý do hết ;)

Ơ mình nghe to lắm rồi mà ta, để mình tăng lên thêm 10 :D

@all các bạn có post code thì tạo 1 acc ở http://pastebin.com/ post lên cho dễ nhìn nhé :D
Cách config pastbin
2m6510n.png

Submit xong thì gửi link lên như vầy: http://pastebin.com/7LVwATeS
Bác Tunvit cho mình hỏi là học lập trình thì cấu hình máy tính bao nhiêu mới đủ
 
Chú ý:
- Vui lòng bình luận trọng phạm vi bài học để mọi người dễ dàng trao đổi
- Do bài 2 này lượng kiến thức khá lớn (để hiểu - ko phải để học thuộc lòng) nên mình bắt buộc phải chia ra 2 part. Part thứ 2 sẽ update vào đêm mai (ban ngày mình khá bận nên chỉ có thể làm vụ này vào ban đêm nên các bạn thông cảm).

Bài tập về nhà: Level 69


Video:
Đã xong :D
upload_2015-7-18_10-7-59.png

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

namespace ConsoleApplication1
{
  class Program
  {
  static void Main(string[] args)
  {
  String[] tenhang = new String[] { "hma", "vip72", "sockescort" };
  Int32[] giahang = new Int32[] { 0, 0, 0 };
  String tenkh;
  String canmua;
  Int32 giamgia=0, soluong, i=0, diemcong=0, tienphaitra;
  foreach (string hang in tenhang)
  {
  Console.Write("Nhap gia cua "+hang+": ");
  giahang[i] = Convert.ToInt32(Console.ReadLine());
  i++;
  }
  Console.Write("Nhap ten khach hang: ");
  tenkh = Console.ReadLine();
  Console.Write("Nhap ten hang: ");
  canmua = Console.ReadLine();
  Console.Write("Nhap so luong hang can mua: ");
  soluong = Convert.ToInt32(Console.ReadLine());
  if (soluong <= 0)
  {
  Console.Write("Nhap lai: ");
  soluong = Convert.ToInt32(Console.ReadLine());
  }
  else if (soluong <= 10)
  {
  giamgia = 10;
  }
  else if (soluong <= 20)
  {
  giamgia = 20;
  }
  else
  {
  giamgia = 30;
  }
   
  if (canmua == "hma")
  {i=0;}
  else if (canmua == "vip72")
  { i = 1; }
  else
  {
  i = 2;
  }

  tienphaitra = soluong * giahang[i] * (100 - giamgia) / 100;
  if (tienphaitra >= 100000 && tienphaitra <= 200000)
  {
  diemcong = 5;
  }
  if (tienphaitra > 200000 && tienphaitra <= 400000)
  {
  diemcong = 10;
  }
  if (tienphaitra > 400000 && tienphaitra <= 500000)
  {
  diemcong = 15;
  }
  Console.WriteLine("HOA DON");
  Console.WriteLine("TEN KHACH HANG: " + tenkh);
  Console.WriteLine("TONG TIEN: " + soluong * giahang[i]);
  Console.WriteLine("TIEN GIAM: " + soluong * giahang[i] * giamgia / 100);
  Console.WriteLine("TIEN PHAI TRA: " + tienphaitra);
  Console.WriteLine("DIEM CONG: " + diemcong + " points");
  Console.ReadLine();

  }
  }
}
 
Last edited:

Announcements

Today's birthdays

Forum statistics

Threads
418,396
Messages
7,071,030
Members
170,508
Latest member
academialhopital

Most viewed of week

Most viewed of week

Back
Top Bottom