Công cụ bảo vệ mã nguồn .NET mạnh nhất, không thể unpack, miễn phí cho các khách hàng đầu tiên đăng ký.
Trang 1 trên tổng số 2 12 Cuối cùngCuối cùng
Từ 1 tới 10 trên tổng số 18 kết quả

Đề tài: Tính thuế thu nhập cá nhân trên C!

  1. #1
    Ngày gia nhập
    11 2010
    Bài viết
    6

    Mặc định Tính thuế thu nhập cá nhân trên C!

    Thầy cho bài này để đánh giá tư cách đợt thi C sắp tới. Đọc đầu bài sao mà rối như mớ bòng bong. Mong mọi người giúp đỡ!

    Đề bài:

    Viết chương trình tính thuế thu nhập cá nhân của một người theo hướng dẫn và thông tin sau đầy:
    ----------------------------------------------------------
    Bậc 1: 4 triệu đồng/tháng 0%;
    Bậc 2: Trên 4 - 6 triệu đồng/tháng: 5%;
    Bậc 3: Trên 6 - 9 triệu đồng: 10%;
    Bậc 4: Trên 9 - 14 triệu đồng/tháng: 15%;
    Bậc 5: trên 14 - 24 triệu đồng/tháng: 20%;
    Bậc 6: Trên 24 - 44 triệu đồng/tháng: 25%;
    Bậc 7: Trên 44 - 84 triệu đồng/tháng: 30%;
    Bậc 8: Trên 84 triệu đồng: 35%.
    -------------------------------------------------------

    Các thông số nhập từ bàn phím bao gồm: Full Name, Mức lương, Số người giảm trừ.

    --------------------------------------------------------
    Sau đây là ví dụ của thầy:

    ví dụ 1: thu nhập của tapchoi82 là: 06 triệu đồng/tháng, nuôi hai con nhỏ dưới 18 tuổi thuộc diện được giảm trừ gia cảnh.

    tapchoi82 sẽ được giảm trừ gia cảnh cho bản thân là 4 triệu đồng/tháng.2 đứa con nhỏ được tính là người phụ thuộc được giảm trừ (1,6 +1,6 )= 3,2 triệu đồng/tháng . Như vậy, tổng mức giảm trừ của tapchoi82 là ( 4 triệu + 1,6 triệu +1,6 triệu ) = 7,2 triệu, cao hơn thu nhập (6 triệu) nên tapchooi82 không phải nộp thuế.
    ( có 1 đứa con nhỏ được tính là người phụ thuộc thì được giảm trừ 1,6 triệu đồng/tháng )




    Ví dụ 2: Thu nhập của tapchoi82 là: 10 triệu đồng/tháng, nuôi một con nhỏ thuộc diện được giảm trừ gia cảnh.

    tapchoi82 sẽ được giảm trừ gia cảnh cho bản thân là 04 triệu đông/tháng. 1 đứa con nhỏ được tính là người phụ thuộc được giảm trừ 1,6 triệu đồng/tháng. tổng mức giảm trừ của tapchoi82 là: ( 4 triệu + 1,6 triệu ) = 5,6 triệu.
    Số tiền mà tapchoi82 phải chịu thuế là: 10 - 5,6 = 4,4 triệu đồng/tháng. [ thuộc bậc 2 và bậc 3 vì đã trừ 4 triệu vào phần giảm trừ, nhưng bậc đóng thuế vẫn tính là thu nhập chịu thuế với mức thuế suất 0%. ( 04 triệu giảm trừ + 4,4 triệu )= 8,4 triệu]
    Số tiền thuế tapchoi82 phải nộp là: (2 triệu x 5%) + (2,4 triệu x 10%) = 340.000 nghìn đồng.

    Ví dụ để làm hiển thị ra màn hình:
    Full Name: Nguyen Van An

    Muc luong: 3000000

    So nguoi giam tru: 0



    Hien thi ra man hinh: Chao ban: Nguyen Van An

    Ban ko phai nop Thue TNCN



    Full Name: Nguyen Van An

    Muc luong: 5000000

    So nguoi giam tru: 0



    Hien thi ra man hinh: Chao ban: Nguyen Van An

    Ban phai nop Thue TNCN: 50000
    Công cụ bảo vệ mã nguồn .NET mạnh nhất hiện tại, miễn phí cho các khách hàng đầu tiên đăng ký.
    Đã được chỉnh sửa lần cuối bởi langman : 22-01-2013 lúc 01:46 PM. Lý do: Xóa đi thông tin phản cảm

  2. #2
    Ngày gia nhập
    03 2010
    Nơi ở
    My Home
    Bài viết
    772

    Trích dẫn Nguyên bản được gửi bởi superkun Xem bài viết
    [B]


    P/S: Thứ 4 này là hạn cuối cùng mình phải nộp bài rồi. Mong mọi ng hết sức giúp đỡ để mình có bài kiểm tra tư cách THI môn C đạt kết quả tốt!
    Cám ơn!
    Tự làm đi, công thức rõ ràng thế rồi. Toàn nhân chia cơ học cả thui mà.

  3. #3
    Ngày gia nhập
    09 2010
    Bài viết
    487

    Cứ if-else tẹt ga đi bạn.
    Một mình ngồi khóc ngoài trời bão tố người đi...


  4. #4
    Ngày gia nhập
    10 2010
    Nơi ở
    hà nội
    Bài viết
    50

    he he .code cho bạn nè !ai có cách hay hơn thì góp ý nhé !

    PHP Code:
    #include<stdio.h>
    #include<conio.h>

    void main()
    {
        
    char ten[30];
        
    int snguoi;
        
    long int luong,luongc,thue;
        
    printf("nhap vao cac thong tin :\n");
        
    printf("Full name :");
        
    gets(ten);
        
    printf("muc luong :");
        
    scanf("%ld",&luongc);
        
    printf("so nguoi giam tru :");
        
    scanf("%ld",&snguoi);
        
    luong luongc snguoi*1600000;
        
    printf("\nchao ban : %s\n",ten);
        if(
    luong<=4000000)
        
    printf("ban khong phai nop thue tncn \n");
        else
        {
            if(
    luong <=6000000)
            {
            
    thue = (luong 4000000)*5/100;
            
    printf("ban phai nop thue thu nhap ca nhan : %ld\n",thue);
            }
            else
            {
                if(
    luong <= 9000000)
                {
                    
    thue = (6000000-4000000)*5/100+(luong 6000000)*10/100;
                    
    printf("ban phai nop thue thu nhap ca nhan : %ld\n",thue);
                }
                else
                {
                    if(
    luong <= 14000000)
                    {
                    
    thue = (6000000-4000000)*5/100+(9000000-6000000)*10/100+(luong-9000000)*15/100;
                    
    printf("ban phai nop thue thu nhap ca nhan : %ld\n",thue);
                    }
                    else
                    {
                        if(
    luong<=24000000)
                        {
                            
    thue = (6000000-4000000)*5/100+(9000000-6000000)*10/100+(14000000-9000000)*15/100+(luong-14000000)*20/100;
                            
    printf("ban phai nop thue thu nhap ca nhan : %ld\n",thue);
                        }
                        else
                        {
                            if(
    luong<=44000000)
                            {
                                
    thue = (6000000-4000000)*5/100+(9000000-6000000)*10/100+(14000000-9000000)*15/100+(24000000-14000000)*20/100+(luong-24000000)*25/100;
                                
    printf("ban phai nop thue thu nhap ca nhan : %ld\n",thue);
                            }
                            else
                            {
                                if(
    luong<=84000000)
                                {
                                    
    thue = (6000000-4000000)*5/100+(9000000-6000000)*10/100+(14000000-9000000)*15/100+(24000000-14000000)*20/100+(44000000-24000000)*25/100+(luong-44000000)*30/100;
                                    
    printf("ban phai nop thue thu nhap ca nhan : %ld\n",thue);
                                }
                                else
                                {
                                    
    thue = (6000000-4000000)*5/100+(9000000-6000000)*10/100+(14000000-9000000)*15/100+(24000000-14000000)*20/100+(44000000-24000000)*25/100+(84000000-44000000)*30/100+(luong-84000000)*35/100;
                                    
    printf("ban phai nop thue thu nhap ca nhan : %ld\n",thue);
                                }
                            }
                            
                        }
                    }
                }
            }
        }
        
    getch();

    chúc vui !
    mong được mọi người chỉ bảo
    duongquyet90@gmail.com
    http://duongquyet.forumvi.com

  5. #5
    Ngày gia nhập
    11 2010
    Bài viết
    6

    ko thấy nút THANKS ở đâu cả :((
    Cám ơn bạn rất nhiều.
    Hi vọng sẽ nhận được sự giúp đỡ của bạn và mọi ng trong 4rum nhiều hơn nữa trên chặng đường của mình!
    Tớ không đẹp trai nhưng cũng đủ sức kua gái!
    Tớ không dân chơi nhưng cũng chẳng rẻ rách!
    Tớ không đua đòi vì tớ đã đầy đủ!
    Tớ không giống ai, bởi, Tớ là chính Tớ!

  6. #6
    Ngày gia nhập
    04 2010
    Bài viết
    1,534

    Mặc định Tính thuế thu nhập cá nhân trên C!

    Loại bài như vầy (tính đơn vị theo từng bậc thang) tôi đã chỉ một lần rồi. Dùng if-else thì cũng giải được nhưng trên thực tế không ai làm vậy cả. Lý do là trên thực tế, các bậc thay đổi thường xuyên. Mỗi lần thay đổi thì phải xem lại code ra sao, đó mới là điểm khác nhau giữa một LTV có kinh nghiệm và một LTV chỉ biết viết code giỏi.

    Loại bài này cần phải lập ra một hàm tính con số lọt vào khoảng giữa hai bậc. Xong hàm tính thuế chỉ việc gọi hàm này và công các khoảng bậc đó. Vì có thêm phần giảm thuế nên ta trừ đi phần giảm thuế

    Hàm tính khoảng:
    C Code:
    1. int TrongKhoang (int so, int dauKhoang, int cuoiKhoang)
    2. {
    3.    // hàm dùng để tính xem một số có bao nhiêu phần của nó lọt vào giữa đầu và cuối khoảng
    4.    // nếu số nhỏ hơn đầu khoảng thì hàm trả về giê rô
    5.    
    6.    if (so <= dauKhoang) return 0;
    7.    if (so > cuoiKhoang) return cuoiKhoang - dauKhoang;
    8.    return so - dauKhoang;
    9. }


    code tính số luơng phải chịu thuế:
    C Code:
    1. int lct = luong - soCon * 1600000;
    2. if (lct < 0) lct = 0;


    code tính số thuế:
    C Code:
    1. /*
    2. Bậc 1: 4 triệu đồng/tháng 0%;
    3. Bậc 2: Trên 4 - 6 triệu đồng/tháng: 5%;
    4. Bậc 3: Trên 6 - 9 triệu đồng: 10%;
    5. Bậc 4: Trên 9 - 14 triệu đồng/tháng: 15%;
    6. Bậc 5: trên 14 - 24 triệu đồng/tháng: 20%;
    7. Bậc 6: Trên 24 - 44 triệu đồng/tháng: 25%;
    8. Bậc 7: Trên 44 - 84 triệu đồng/tháng: 30%;
    9. Bậc 8: Trên 84 triệu đồng: 35%.
    10. */
    11. int thue = 0 * TrongKhoang(lct,0,4000000) / 100
    12.             + 5 * TrongKhoang(lct,4000000,6000000) / 100
    13.             + 10 * TrongKhoang(lct,6000000,9000000) / 100
    14.             + 15 * TrongKhoang(lct,9000000,14000000) / 100
    15.             + 20 * TrongKhoang(lct,14000000,24000000) / 100
    16.             + 25 * TrongKhoang(lct,24000000,44000000) / 100
    17.             + 30 * TrongKhoang(lct,44000000,84000000) / 100
    18.             + 35 * TrongKhoang(lct,84000000,900000000) / 100
    19. /* mức đầu tiên là 0 cũng tính luôn, sau này dễ sửa */
    20. /* ở đây chỉ tính sô nguyên, dĩ nhiên là nếu muốn tính sô thực thì 100 đổi thành 100.0 */


    Cón toán tính lương và thuế là loại toán không khó nhưng rất rắc rối. Vì vậy người ta viết càng dễ nhìn càng tốt. Để ý sẽ thấy ở trên tôi không thèm gộp các con toán cộng lại và chia một lần cho nhanh.

    chú thích: nếu con số lớn quá thì dùng double, hầu hết các hệ thống số int tính được đến 2 tỷ

    tb. Trên thực tế làm việc, chỉ khi nào bạn lập trình game mới cần code chạy nhanh và it tốn bộ nhớ vv... Viết lập trình ứng dụng thương mại người ta chú trọng code dễ xem dễ sửa.
    Đã được chỉnh sửa lần cuối bởi VoTichSu : 02-11-2010 lúc 10:02 AM.

  7. #7
    Ngày gia nhập
    11 2010
    Bài viết
    6

    cám ơn!! Tuy chưa hiểu lắm nhưng cũng biết đc thêm 1 phần nào đầy
    Tớ không đẹp trai nhưng cũng đủ sức kua gái!
    Tớ không dân chơi nhưng cũng chẳng rẻ rách!
    Tớ không đua đòi vì tớ đã đầy đủ!
    Tớ không giống ai, bởi, Tớ là chính Tớ!

  8. #8
    Ngày gia nhập
    02 2012
    Bài viết
    4

    Sr đào mộ rồi, Các bạn code mà không xét tới cái VD2 của cái đề bạn đưa ra sao ? mà đòi if-else ?

  9. #9
    Ngày gia nhập
    06 2007
    Nơi ở
    C:\WINDOWS\system32\dllcache\
    Bài viết
    3,007

    Trích dẫn Nguyên bản được gửi bởi LeeVN Xem bài viết
    Sr đào mộ rồi, Các bạn code mà không xét tới cái VD2 của cái đề bạn đưa ra sao ? mà đòi if-else ?
    Cám ơn bạn đã tham gia post bài tại C việt.

    Và bạn LeeVN có sự đóng góp code giúp chủ topic ?
    ^_,^

    Facebook : https://www.facebook.com/langmaninternet

    Bùi Tấn Quang

  10. #10
    Ngày gia nhập
    05 2008
    Bài viết
    224

    Trích dẫn Nguyên bản được gửi bởi LeeVN Xem bài viết
    Sr đào mộ rồi, Các bạn code mà không xét tới cái VD2 của cái đề bạn đưa ra sao ? mà đòi if-else ?
    VD 2 có vấn đề gì đâu bạn ? if - else hay cách dùng hàm của bạn post bài sau cũng đâu có gì sai ? chẳng qua VD 1 lọt vào vùng không phải chịu thuế do có người phụ thuộc, ví dụ 2 phải chịu thuế do có người phụ thuộc , lúc này chỉ việc tính bậc chịu thuế và số tiền chịu thuế . Hết, có gì đâu mà vì VD 2 mà ko if - else nổi ?
    Công cụ bảo vệ mã nguồn .NET mạnh nhất hiện tại, miễn phí cho các khách hàng đầu tiên đăng ký.
    Em có thấy nắng vàng kỷ niệm
    Hạ ngồi ru thanh thản những môi cười
    Thuở ngồi ngóng tay choàng tay nỗi nhớ
    Vin tay vào tháng năm chơi vơi...

Các đề tài tương tự

  1. Kỹ Thuật Nhận Dạng Chữ Viết Tay - Phương pháp và các thực hiện trên C#
    Gửi bởi lttq trong diễn đàn Tutorials và Thủ thuật lập trình C#, ASP.NET
    Trả lời: 11
    Bài viết cuối: 22-04-2015, 04:34 PM
  2. Algorithm Thuật toán tính số câu đúng trên 100 câu trả lời gần nhất!
    Gửi bởi hungknorton trong diễn đàn Thắc mắc lập trình C#
    Trả lời: 2
    Bài viết cuối: 21-06-2013, 11:13 PM
  3. CNN nhận dịch thuật hơn 50 ngôn ngữ trên thế giới
    Gửi bởi ngocbichtb89 trong diễn đàn Giới thiệu website, sản phẩm của bạn
    Trả lời: 0
    Bài viết cuối: 27-07-2012, 07:34 AM
  4. Trả lời: 1
    Bài viết cuối: 08-11-2011, 11:05 PM
  5. Thảo luận về thuật toán tìm đường đi ngắn nhất (có chi phí ít nhất) trên ma trận
    Gửi bởi hunterphu trong diễn đàn Thắc mắc lập trình C/C++/C++0x
    Trả lời: 10
    Bài viết cuối: 10-08-2010, 12:05 AM

Quyền hạn của bạn

  • Bạn không thể gửi đề tài mới
  • Bạn không thể gửi bài trả lời
  • Bạn không thể gửi các đính kèm
  • Bạn không thể chỉnh sửa bài viết của bạn