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,867
Messages
7,077,447
Members
170,923
Latest member
Benerrn

Most viewed of week

Most discussed of week

Most viewed of week

Most discussed of week

Back
Top Bottom