Video Ngôn Ngữ C - 22 - Chương trình tính lãi suất tiền gửi

Cuối cùng đây là bài làm của em, mò mãi mới biết nhầm % thành $ và i = i + 2 thành i+2

#include <stdio.h>
#include <stdlib.h>

int main()
{
    float tiengui = 100 ;
    int thoihan = 100;
    float nhanduoc = tiengui;
    for(int i = 0; i < thoihan; i = i + 2) {
        float lai = nhanduoc * 16/100;
        nhanduoc += lai;
        printf("sau %d nam, so tien nhan duoc la %.0f, lai la %.0f\n", i+2, nhanduoc, lai);
    }
    printf("Vay sau %d nam, voi lai suat  moi %d nam\n", thoihan, 2);
    printf("ban se nhan duoc %.0f, gap %.0f lan tien gui ban dau", nhanduoc, (nhanduoc/tiengui));
    return 0;
}
1 Like

Sai nhé. Nó tăng i lên 2 mà lương vẫn tính theo từng năm liên tiếp chứ k cách nhau 2 năm ^^.

1 Like

Thế em phải lammf sao đây

1 Like

Bạn phải có 1 điều kiện trong scope vòng for để chỉ in ra các năm chẵn :smiley:

   for( ; ; ){
         conditions... 
   }
2 Likes

nếu là năm chẵn thì điều kiện như vầy có đúng ko?

if(thoihan % 2)
2 Likes

Biến Thoigian ở đây là const hằng số không đổi rồi bạn. bạn phải để conditions với biến i chứ :). Với i chẵn thì mới in ra kết quả.

1 Like

đúng rồi nó là constant rồi nhờ! vậy if (i%2) luôn à a. hay la ta gán thêm 1 giá trị phụ vào nữa

1 Like
 if (i%2 == 0)
   printf("sau %d nam, so tien nhan duoc la %.0f, lai la %.0f\n", i+2, nhanduoc, lai);
2 Likes

%2 là gì vậy ạ, chắc em chưa học tới

1 Like

Chưa học %2 là gì mà đã biết dùng loop?
%2 là phép toán chia lấy phần dư nhé. i%2 == 0. Nghĩa là i chia 2 dư 0. -> i là số chẵn

1 Like

Hic, cái đó ở bài mấy vậy ạ, em học theo thứ tự của series, sao không thấy cái đó vậy ta

1 Like

Giờ bạn biết rồi đó. ^^

1 Like

Dạ cám ơn, cơ mà giờ này sao thấy ít người onl thế nhỉ

2 Likes

giờ này cũng khya rồi! mai là đầu tuần mọi ng đi ngủ sớm chút đó mà!

2 Likes

Cái này là lỗi của anh, anh quên hướng dẫn phép chia này

1 Like

Em làm như này có được không ạ

#include <stdio.h>
#include <stdlib.h>

int main()
{
    float so_tien_ban_dau = 100;
    int so_nam_gui_tien = 10;
    float so_tien_ve_sau = so_tien_ban_dau;
    float lai;
    for (int i = 0; i < so_nam_gui_tien; i++)
    {

        if (i %2 ==0){
        lai = so_tien_ve_sau * 8/100;
        so_tien_ve_sau = so_tien_ve_sau + lai;
        }
        printf("lai = %f    tien hien tai = %f  sau %d nam\n", lai, so_tien_ve_sau, i+1);
        //}
    }
    printf("Tien ban dau = %f   tien hien tai = %f  tien hien tai gap %f lan tien ban dau ", so_tien_ban_dau, so_tien_ve_sau, so_tien_ve_sau / so_tien_ban_dau );
    return 0;

}

Chạy thử có ra đúng kết quả không :smile:

Mở một bản excel ra tính lại thử xem

1 Like
float ban_dau =100;
    int so_nam=10;
    float ve_sau = ban_dau;
    int n = 0;
    for(int i=0;i<so_nam;i++)
    {
        if(i == n + 1)

      {   float lai = ve_sau *LAI_SUAT;
          ve_sau += lai ;
            printf("lai = %.3f ,\ttien hien tai = %.3f , sau %d nam\n",lai,ve_sau,i+1);
      }
      if (i== n+1)
        n=n+2;

    }
         printf("tien ban dau = %.3f ,\ttien ve sau = %.3f , gap %.3f lan",ban_dau,ve_sau,ve_sau/ban_dau);
    return 0;

2 năm tính lãi suất 1 lần như vậy đúng ko anh ???

Em chạy chương trình có được không?

chạy dc mà ko bik ket quả đúng ko nữa anh ?

83% thành viên diễn đàn không hỏi bài tập, còn bạn thì sao?