Sunday, June 15, 2014

Thực hành 3 - Bài 5


Đề bài :  ThucHanh03_CauTrucDieuKhien.pdf
Sửa chương trình "MuaTraGop.cpp" để giải Bài tập 4 trong trường hợp thời gian làm việc mỗi tháng của sinh viên đó là khác nhau :
Tháng                        Tổng số giờ
Tháng 09/2013               155
Tháng 10/2013               145
Tháng 11/2013               125
Tháng 12/2013               135
Tháng 01/2014               100
Tháng 02/2014               100
Tháng 03/2014               145
Tháng 04/2014               135
Tháng 05/2014               100
Tháng 06/2014               155
Tháng 07/2014               170
Tháng 08/2014               180

Được biết sinh viên đó được ngân hàng quyết định cho vay vào đầu tháng 9/2013

Viết chương trình để tính sau bao nhiêu tháng sinh viên đó hoàn trả hết nợ (gốc và lãi) cho ngân hàng.
Chương trình sẽ in ra :

  • Thu nhập sau thuế của sinh viên đó từ việc làm thêm
  • Số tiền lãi ngân hàng tính vào cuối mỗi tháng
  • Số tiền dư nợ của sinh viên vào đầu tháng (sau khi thanh toán hàng tháng cho ngân hàng)
  • Sau bao nhiêu tháng thì sinh viên đó thanh toán hết 
  • Khoản thanh toán cuối cùng với ngân hàng
--------------------------------------------------------------------------------------------------------

Code : http://pastebin.com/uAmeD1kQ  hoặc  thuchanh3-bai5.cpp

--------------------------------------------------------------------------------------------------------

Ở đây mình sửa lại bài Thực hành 3 - Bài 4 nhưng chuyển 2 bài Thực hành 3 - Bài 1Thực hành 3 - Bài 2 vào gộp chung thành luôn 1 hàm double tinhtienluong (int sogiolam) .
Chú ý : Nhập đúng theo thứ tự bảng thời gian làm việc vì mỗi lần nhập khác nhau sẽ ra kq khác.
Code như sau :

#include <iostream>
#include <iomanip>

using namespace std;


// Tinh tien luong
 
double tinhtienluong(int sogiolam)
{
// Luong truoc  thue
    const double muc0 = 12000, muc1 = 16000, muc2= 20000, muc3= 25000;
    double luong;
    if (sogiolam>200)
    {
        luong = (sogiolam-200)*muc3 + 50*(muc1 + muc2) + 100*muc0;
    }
    else
    {
        if ( sogiolam>150)
         {
                luong = (sogiolam-150)*muc2 + 50*muc1 + 100*muc0;
         }
         else
         {
                luong = (sogiolam-100)*muc1 + 100*muc0;
         }
    }
   
// Luong sau thue

    double thue;
    const double baohiem=0.09, thue0 = 0, thue1= 0.1, thue2= 0.15, thue3= 0.2;
    const double muctien0= 1e6, muctien1= 1.5e6, muctien2= 2e6;
    luong = luong* (1-baohiem);
    if ( luong>muctien2)
    {
        thue = (luong-muctien2)*thue3 + 5e5*(thue1 + thue2);
        luong = luong - thue;
    }
    else
    {
        if ( luong>muctien1 )
        {
            thue = (luong-muctien1)*thue2 + 5e5*thue1 ;
            luong = luong - thue;
        }
        else
        {
            thue = (luong-muctien0)* thue1;
            luong = luong -thue;
        }
    }
    return luong;
}

int main ()
{
     
// Tinh lai, in lai hang thang, tien du no
 
    const double tientrocap= 1.5e6, tienchitieu= 2e6;
    const double laixuat=0.02;
    double tienvay=10e6;
    double tienvaylai;
    double tienduhangthang;
    double tienluongtoithieu = tinhtienluong(100);
    double luong;
    int sogiolam, i= 1;
    cout << fixed << setprecision(0);
    while ( tienvay*1.02 >tienluongtoithieu )
    {
        cout << "Nhap gio : "; cin >> sogiolam;
        luong = tinhtienluong(sogiolam);
        tienduhangthang = luong + tientrocap - tienchitieu;
        cout << "Tien du sau chi tieu hang thang :  " << tienduhangthang << endl << endl;
        tienvaylai = tienvay * laixuat;
        cout << "Tien lai ngan hang vao cuoi thang thu " << i << " la: " << tienvaylai << endl;
        tienvay+= tienvaylai;
        cout << "So tien vay sau lai xuat thang thu " << i << " la: " << tienvay << endl;
        tienvay-= tienduhangthang;
        cout << "So tien du no vao dau thang thu " << i+1 << " la: " << tienvay << endl << endl;
        i++;
    }
    cout << "Tra het no vao dau thang thu " << ++i << endl;
    cout << "So tien thanh toan cuoi cung voi ngan hang la: " << tienvay*1.02 << endl;
    system("pause");
    return 0;
}

BACK TO TOP