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 ạ

2 Likes

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

Ông thần tính buồn cười vậy ngt bảo là trả trong vòng 24 năm nghĩa là 288 tháng mà đây ông thần lại tính thành 24 tháng rồi thêm quả 0.072 đâu ra đúng ra thì nó phải là 7.2/12 = 0.6% một tháng nhé.

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

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