Chào mừng đến với Diễn đàn lập trình - Cộng đồng lập trình.
Kết quả 1 đến 3 của 3
  1. #1
    Ngày tham gia
    Sep 2015
    Bài viết
    0

    [C++] Bài toán quy đổi tiền

    Các anh(chị) giúp đỡ em về bài toán này, em làm đúng ý tưởng nhưng vì còn chút sai sót trong việc làm tròn số nên vẫn chưa ra được kết quả đúng trong một vài trường hợp. Bài toán như sau:
    Viết 1 chương trình, trong đó nhập vào một số tiền nhất định, sau đó quy đổi số tiền đó ra thành các giá trị tiền lẻ. Các giá trị tiền lẻ hợp lệ là: $2, $1, 50c, 20c, 10c và 5c (trong đó $1=100c). Nếu giá trị sau cùng còn lại bé hơn 5c thì gọi là "left over".
    Example:
    Input: the amount of money: 5.61
    Output:
    2 times $2.
    1 time $1.
    1 time 50c.
    0 time 20c.
    1 time 10c.
    0 time 5c.
    with 1c left over.

    Và đây là phần code của em:
    Mã:
    #include <iostream>
    #include <stdlib.h>
    using namespace std;
    
    int main() {
    	float n,a[5]={2,1,0.5,0.2,0.1};
    	int dem,i;
    	cout<<"the amount of money: ";
    	cin>>n;
    	for (i=1;i<=6;i++){
    		dem=0;
    		while (n>=a[i]){
    			dem++;
    			n-=a[i];
    		}
    		cout<<dem<<" times of "<<a[i]<<endl;
    	}
    	cout<<a[1];
    }
    Mong các anh chị giúp đỡ em ạ, em xin cảm ơn trước

  2. #2
    Ngày tham gia
    Sep 2015
    Bài viết
    0
    Mình thì lại nghĩ là nên biểu diễn theo cent thay vì đô.
    Khi người ta gõ 23.50 thì bạn parse sao cho nó thành 2350 là xong.

  3. #3
    cảm ơn bạn. Cách của bạn mình thấy hợp lý vì không còn gặp phải lỗi làm tròn số của mình nữa. [IMG]images/smilies/biggrin.png[/IMG]

 

 

Quyền viết bài

  • Bạn Không thể gửi Chủ đề mới
  • Bạn Không thể Gửi trả lời
  • Bạn Không thể Gửi file đính kèm
  • Bạn Không thể Sửa bài viết của mình
  •