01/10/2018, 11:41

Code đổi tiền bị lỗi, toàn in ra 0

mình có cái code chương trình:

double doitien(double euros);
int main()
{
    double sotien=0,a=0;
    printf("Nhap so tien?
");
    scanf("%f",&sotien);
    a=doitien(sotien);
    printf("so tien sau khi doi la %f
",a);
    return 0;
}
double doitien(double euros)
{
    return 22846.0426*euros;
}

sau khi chạy thì nó hiện ra như thế này:
nhap so tien?
minh nhập 10.0
thì nó hiện ra là : so tien sau khi doi la:0.0000
cho mình hỏi là tại sao lại như thế???
Mình mới bắt đầu mong mọi người chỉ bảo@@

HK boy viết 13:45 ngày 01/10/2018

Format lại code bằng cách thêm 3 dấu ` vào đầu và cuối code, như thế này:

// code

Hồ Vĩnh Tú viết 13:44 ngày 01/10/2018

Là làm như thế nào vậy??

HK boy viết 13:54 ngày 01/10/2018

Bạn edit topic của bạn, rồi làm như mình đã hướng dẫn.

Hồ Vĩnh Tú viết 13:48 ngày 01/10/2018
double doitien(double euros);
int main()
{
    double sotien=0,a=0;
    printf("Nhap so tien?\n");
    scanf("%f",&sotien);
    a=doitien(sotien);
    printf("so tien sau khi doi la %f\n",a);
    return 0;
}
double doitien(double euros)
{
    return 22846.0426*euros;
}

như thế này phải không?

HK boy viết 13:41 ngày 01/10/2018

như thế này phải không?

Bạn không nhìn kĩ kí hiệu đó rồi.

Hồ Vĩnh Tú viết 13:56 ngày 01/10/2018

@@ mình nhầm. cảm ơn bạn

Lương Thế Hải viết 13:51 ngày 01/10/2018

Vấn đề của bạn là :
Khi dùng scanf muốn nhập giá trị có kiểu dữ liệu là double thì phải là "%lf" chứ không phải "%f"
Bạn có thể giải quyết bằng hai cách:
Cách 1 : chuyển toàn bộ double thành float để dùng "%f"
Cách 2 : thay "%f" thành "%lf"

Hồ Vĩnh Tú viết 13:44 ngày 01/10/2018

cảm ơn bạn mình chạy đc rồi.

Bài liên quan
0