30/09/2018, 18:37
nhập môn c. bài tập c
đề: viết chương trình nhập tên sản phẩm,đơn giá,số lượng và thành tiền của 1 cửa hàng.
tính: thành tiền của sản phẩm = số lượng * đơn giá
thuế = 10%tiền
Nhưng sau khi e chạy thì chỉ nhập đc tên mặt hàng.ko biết sai chỗ nào
Bài liên quan
trong cái prinf bỏ hết cái ,a ,b ,c gì đấy đi. Cái đấy chỉ nhập khi gán xong giá trị mà thôi
Có đc đâu ạ. E bỏ rồi mà vẫn ko được
À bạn khai báo a là kiểu kí tự chỉ nhập được 1 kí tự thôi. Nếu bạn muốn nhâp một xâu thì ghi là char a[10] 10 là độ dài xâu. Sửa ở dưới scanf("%c",&a) thành gets(a) nha
bạn sửa lại chỗ khai báo tên mặt hàng từ 1 ký tự thành 1 xâu nhé!
char a[50];
printf(“nhap ten mat hang :”);
gets(a);
mình tiện nên gõ sourde code luôn bạn thông cảm
Code của bạn sai khá nhiều. Bạn có thể xem đoạn mình code sau đây và đối chiếu lại:
dạ ddc rồi. cơ mà sao phải là gets mà ko phải là scanf ạ?
sao lại phải là gets ? mà ko phải là scanf? e ko hiểu lắm
10% mà nhân cho 1 số thì phải viết làm sao ạ?
gets để giúp bạn nhận một chỗi được nhập từ terminal hay console,
char chr[100]; // khởi tạo một mảng char, bạn nhập vào hello thì hello sẽ được lưu vào trong này.
// tối đa biến chr lưu được là 99 ký tự (1 ký tự dùng để báo hết chuỗi)
gets(chr) sẽ giúp bạn nhận chuỗi vừa nhập.
Hoặc bạn có thể dùng scanf("%s",chr); để nhận chuỗi, %s chỉ ra rằng dữ liệu cần nhập là chuỗi.
Vậy. scanf hay gets cũng chỉ là các hàm để nhập dữ liệu được người nào đó viết sẵng mà thôi…
float fData = 0.0;
fData = fData * 10 / 100; // một số nhân cho 10%
Mình không đồng ý với bạn về điều này.
stackoverflow.com
Scanf khi sẽ thoát ra khi gặp khoảng trắng còn gets thì không.
Bạn có thể tham khảo thêm ở đây:
What's the difference between gets and scanf?