30/09/2018, 20:26
Đổi tiền USD sang VNĐ và ngược lại?
#include <stdio.h>
#include <stdlib.h>
int main()
{
char USD = 1, VND = 0;
float vnd1,usd1,luachon,soTienDoi;
printf("=== Lua chon tien te can doi ===
");
printf("Ban chon loai tien USD hay VND (USD/VND):
");
scanf("%s",&luachon);
if (luachon)
{
printf("Nhap so tien USD can doi ra VND:
");
scanf("%f",&usd1);
soTienDoi = usd1 * 22000;
}
else
{
printf("Nhap so tien VND can doi ra USD:
");
scanf("%f",&vnd1);
soTienDoi = vnd1 / 22000;
}
if (luachon)
printf("So tien doi duoc la: %f VND
",soTienDoi);
else
printf("So tien doi duoc la: $%.2f",soTienDoi);
return 0;
}
Khi mình gõ VND thì nó ko xuất hiện điều kiện “else”
Theo Boolean đáng nhẽ:
if (0) thì sẽ bỏ qua điều kiện đầu tiên và chạy xuống điều kiện “else”
Mà mình đặt VND = 0.
Thì đáng nhẽ nó phải in ra màn hình:
Nhap so tien VND can doi ra USD:
Khi mình F9 chạy chương trình xong và thoát khỏi file .exe thì ở dưới có 3 thông báo “warning”:
D:CProject1Project 18main.c|12|warning: format '%s' expects argument of type 'char *', but argument 2 has type 'int *' [-Wformat=]|
D:CProject1Project 18main.c|8|warning: unused variable 'VND' [-Wunused-variable]|
D:CProject1Project 18main.c|8|warning: unused variable 'USD' [-Wunused-variable]|
Nó báo lỗi gì vậy nhỉ
Bài liên quan
chết chết sai cơ bản thế này, bạn nhập VND nó là string cơ mà lại đi scanf cho int đương nhiên scanf cho int thì nó là 1 số khác 0 nên làm điều kiện 1 thôi
minh nghi ban nen tao mot menu lua chon voi switch thi hon
Vậy có cách nào để gõ sự lựa chọn là chữ (USD hoặc VND).
Thay vì phải gõ 1/0 hay swtich 1,2,3,4 … trong hàm Scanf
co day ban a va day lacach nha nhung minh thay kieunay cu chuoi bo xu y
``
char luachon[3]
switch(luachon)
case ‘usd’
case ‘vnd’
Hihi. Cảm ơn bạn. Mình muốn đổi kiểu lựa chọn sang chữ đó mà
cach nay cu chuoi bo xu ban nen dung ky tu thoi ban a
đối với
string
thì mình nghĩ nên dùng if, else
vì thằngswitch
hình như không dùng kiểu chuỗi được, còn nếu nhiều quá thì tạo lựa chọn 1,2,3,4 rồi cho người dùng nhập theo bằng số (cái này dễ bắt ngoại lệ hơn với lại tiện hơn cho người dùng nữa )dung dung chuoi trong kieu nay no cu cu chuoi kieu gi ay
Tiện thể hỏi cái này luôn, tìm số lớn nhất với 2 số nguyên
Mình bị sai chỗ nào à
đây là lỗi sai của bạn, nếu bạn viết
a = SoLonNhat;
tức là khi này bạn gán giá trị củaSoLonNhat
choa
(và khi này thìSoLonNhat
chẳng có giá trị nào cả), bên dưới cũng tương tự vậysửa lỗi: Bạn hãy làm ngược lại
SoLonNhat = a;
và tương tự vớib
à mà nếu sau này bạn có muốn hỏi thêm 1 câu hỏi nữa thì bạn hãy lập 1 topic khác nhé , vì mỗi topic chỉ nên có duy nhất 1 câu hỏi mà thôi.
Mình cứ tưởng a = soLonNhat và soLonNhat = a tương đương nhau .
Mình sẽ rút kinh nghiệm 1 bài hỏi 1 topic