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

    cứu bài tính tiền rất mini

    Chả hiểu nổi nó sai cái gì. E dùng BC 3.1
    Tại máy nhà dỏm nên dùng vầy thôi. E đã test đổi code đủ kiểu. nếu s<100 thì chạy bt. Hơn cái là lỗi liền, phép tính e sai gì ạ ?
    Đề :
    • 100 đầu giá 124250 tiếp giá 130450 tiếp giá 1651Từ 201 trở lên giá 1912


    Mã:
    #include<iostream.h>
    #include<conio.h>
    int a,b,Money;
    void nhap(int &n)
    	{
    		cin>>n;
    		while (n<1)
    			{
    				cout<<"Chi so co van de, hay kiem tra va nhap lai: ";
    				cin>>n;
    			}
    	}
    void main()
    	{
    		clrscr();
    		int tien,s;
    		cout<<"Nhap chi so thang truoc: ";
    		nhap(a);
    		cout<<"Nhap chi so thang nay: ";
    		nhap(b);
    		while (b<=a)
    			{
    				cout<<"Chi so moi phai lon hon chi co cu
    \tVi khong ai xai Free -_-
    Nhap lai thang moi: ";
    				cin>>b;
    			}
    		s=b-a;
    		if (s<101)
    			tien=s*1242;
    		if (s<151)
    			tien=100*1242+(s-100)*1304;
    		if (s<201)
    			tien=100*1242+50*1304+(s-150)*1651;
    		if (s>200)
    			tien=100*1242+50*1304+50*1651+(s-200)*1912;
    		Money=tien*1.1;
    		cout<<"So dien ban da tieu thu la: "<<s<<" KW"<<endl;
    		cout<<"Tien dien cua thang nay la: "<<Money<<" VND"<<endl;
    		getch();
    	}

  2. #2
    Ngày tham gia
    Sep 2015
    Bài viết
    0
    if (101 <= s && s < 151)

    if (151 <= s && s < 201)

    Thử lại đi bạn

  3. #3
    Ngày tham gia
    Sep 2015
    Bài viết
    0
    Trích dẫn Gửi bởi aboq
    if (101 <= s && s < 151)

    if (151 <= s && s < 201)

    Thử lại đi bạn
    Vấn đề kf chỗ đó. mình thử cả 2 lun r, vấn đề là số âm kìa

  4. #4
    Ngày tham gia
    Sep 2015
    Bài viết
    0
    Trích dẫn Gửi bởi kdragon113
    Vấn đề kf chỗ đó. mình thử cả 2 lun r, vấn đề là số âm kìa
    Như thế này đc chưa bạn trẻ, chả hiểu bạn đã thử cái j ở đâu nữa
    Bạn k0 ràng đêìu kiện trên điều kiện dưới, bạn hiểu vì sao nó âm k0, khi số KW là 50, tất cả 3 dòng if đầu tiên của bạn nó đều thỏa mãn, vì vậy nó thực hiện cả 3 dòng này, số âm là điều đơng nhiên

  5. #5
    Ngày tham gia
    Sep 2015
    Bài viết
    0
    kiểu int của BC chỉ có 2byte, max chỉ đc >32k, nên số tiền tính ra quá 32k thì nó sẽ bị tràn số -> gặp số âm là đúng rồi
    bạn khai báo là long int nhé, hoặc đổi trình biên dịch khác là ok.

    Code của bạn sai phần tính tiền rồi. phần if nên sử dụng switch case hoặc else if nhé

  6. #6
    mới 100 thì chưa là gì cả. check 120 đi, giá ra k đúng

    - - - Nội dung đã được cập nhật ngày 02-01-2015 lúc 10:41 PM - - -

    Trích dẫn Gửi bởi BTC
    kiểu int của BC chỉ có 2byte, max chỉ đc >32k, nên số tiền tính ra quá 32k thì nó sẽ bị tràn số -> gặp số âm là đúng rồi
    bạn khai báo là long int nhé, hoặc đổi trình biên dịch khác là ok.

    Code của bạn sai phần tính tiền rồi. phần if nên sử dụng switch case hoặc else if nhé
    vẫn k đc bạn ơi :-<

  7. #7
    Ngày tham gia
    Sep 2015
    Bài viết
    0
    Trích dẫn Gửi bởi BTC
    kiểu int của BC chỉ có 2byte, max chỉ đc >32k, nên số tiền tính ra quá 32k thì nó sẽ bị tràn số -> gặp số âm là đúng rồi
    bạn khai báo là long int nhé, hoặc đổi trình biên dịch khác là ok.

    Code của bạn sai phần tính tiền rồi. phần if nên sử dụng switch case hoặc else if nhé
    Lý thuyết là thê,s nhưng mà mình có thử với vài trình biên dịch, int vẫn tính đc các số lên đến hàng triệu

    - - - Nội dung đã được cập nhật ngày 02-01-2015 lúc 10:57 PM - - -

    Trích dẫn Gửi bởi kdragon113
    mới 100 thì chưa là gì cả. check 120 đi, giá ra k đúng

    - - - Nội dung đã được cập nhật ngày 02-01-2015 lúc 10:41 PM - - -


    vẫn k đc bạn ơi :-<
    Bạn muốn bao nhiêu cũng được bạn à, code bạn mình đã nói chỉ lỗi mỗi chỗ tính tiền, bạn nên xem lại

  8. #8
    Ngày tham gia
    Sep 2015
    Bài viết
    0
    nản thật. mấy bài khó vs SV cùng khóa thì làm đc. bài cỏn con thế này lại làm khó mình =(

  9. #9
    Ngày tham gia
    Sep 2015
    Bài viết
    0
    sao code của chủ tui thử máy tui có bị âm đâu @@

  10. #10
    Ngày tham gia
    Sep 2015
    Bài viết
    0
    Trích dẫn Gửi bởi aboq
    Lý thuyết là thê,s nhưng mà mình có thử với vài trình biên dịch, int vẫn tính đc các số lên đến hàng triệu
    Mỗi trình biên dịch mỗi khác, phải thử trên Borland C++ mới chắc. Code::Block, Visual C++, Eclipse... thì int tới 4 bytes rồi.

 

 
Trang 1 của 2 12 CuốiCuối

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
  •