Bài tập C tính tiền vay trả góp

Mình đang làm bài tập tính tiền vay mua xe, sao lúc chạy thì tiền vay hằng tháng lại bị lỗi nhỉ??
Đề bài:

// main()
        double soPhanTramVay, giaTienxe, thoiHanVay;
	printf("Xin moi nhap vao gia tien cua chiec xe quy khach muon mua: ");
	scanf("%lf", &giaTienxe);
	printf("Xin moi nhap vao so phan tram vay toi da : ");
	scanf("%lf", &soPhanTramVay);
	printf("Xin moi nhap vao thoi han vay( <= 24 nam): ");
	scanf("%.0lf", &thoiHanVay)
	double thoiHanVayToiDa = 24;
	double laiSuatCoDinhNam = 0.072;
	double tienDuocVayCoDinh = 500000000;
	double tienTraLanDau, tienTraHangThang, tienVay, tienLaiHangThang, tienVayPhaiTraMoiNam, tienVayPhaiTraMoiThang;
	tienTraLanDau = (100-soPhanTramVay)/100*giaTienxe;
	tienVay = giaTienxe - tienTraLanDau;
	tienVayPhaiTraMoiNam = tienVay/thoiHanVay;
	tienLaiHangThang = tienVay*(0.072/12);
	tienVayPhaiTraMoiThang = tienVayPhaiTraMoiNam/12;
	if((tienVay <= tienDuocVayCoDinh) && (thoiHanVay <= thoiHanVayToiDa) ){
		tienTraHangThang = tienLaiHangThang + tienVayPhaiTraMoiThang;
	}else{
		printf("Quy khach khong du dieu kien de vay tien (Tien vay <= 500000000 VND)!");
	}
	printf("So tien phai tra lan dau cua quy khach la: %.0lf VND\n", tienTraLanDau);
	printf("So tien phai tra hang thang cho den het ki han vay la: %lf VND", tienTraHangThang);

Cho xem kết quả mẫu chứ!

3 Likes

Kết quả đây ạ

1 Like

Mình thấy code bạn có giống với đề đâu nhỉ. :thinking:

Input thì có nói mỗi phần trăm vay tối đa. Mà code bạn thì nhập vô đủ thứ. :smile:

3 Likes

thầy bảo càng sáng tạo càng tốt :))))

1 Like

A post was merged into an existing topic: Topic lưu trữ các post off-topic - version 3

Google: printf "#IO" site:stackoverflow.com có vài kết quả về “số lạ” này.
Bạn thử in riêng tienLaiHangThangtienVayPhaiTraMoiThang ra xem có đúng chưa.
Và điều kiện if - else nữa, đáng lẽ bạn kiểm tra trước khi tính. Điều này có nghĩa là phần tính toán và 2 dòng in ra phải cho vào trong if để đảm bảo.

3 Likes

Thấy ở trên bạn đã khai báo biến laiSuatCoDinhNam rồi, bên dưới lại sử dụng 0.072 =,=

Làm đúng đề nó chạy đã rồi hãy mở rộng :v :v :v

2 Likes

Theo đề thì mình làm như này

void vaytienmuaxe(){
	float phanTramVay;
	printf("Nhap phan tram vay (0 -> 1): ");
	scanf("%f", &phanTramVay);
	
	double phanTramTraTruoc = 1.0 - phanTramVay;
	double sotien = 500000000;
	double laiHangThang = 0.072/24;
	int thoiHan = 24;
	
	double sotienTraTruoc = sotien * phanTramTraTruoc;
	sotien = sotien - sotienTraTruoc;
	double traHangThang = sotien/thoiHan;
	
	printf("So tien tra truoc la: %.2f VND\n",sotienTraTruoc);
	printf("So tien phai tra hang thang:");
	printf("\nKy han\tLai phai tra\tGoc phan tra\tSo tien phai tra\tSo tien con lai");
	for(int i=1;i<=thoiHan;i++){
		double traLai = sotien*laiHangThang;
		double tongPhaiTra = traLai+traHangThang;
		sotien = sotien - traHangThang;
		printf("\nT%d\t%.2lf\t%.2lf\t%.2lf\t\t%.2lf\n",i,traLai,traHangThang,tongPhaiTra,sotien);
	}
}
1 Like
83% thành viên diễn đàn không hỏi bài tập, còn bạn thì sao?