# GÓC SÁNG TẠO > Khu vực lập trình > C/C++ >  tính tiền taxi(c++) - giúp mình với!

## Men

mấy bạn giúp mình viết chương trình tính tiền taxi với (mình mới học c++ đc mấy hôm nên còn mơ hồ), mong các bạn nhiệt tình giúp đỡ, tk!:book: #-o

----------


## pu6511

Chương trình tính tiền taxi thì mình nghĩ là bài cơ bản mà bạn.Bài này cũng gần giống bài tính tiền điện thôi.Bạn đọc kỹ chút sẽ làm dc ngay mà.Có thể dùng vòng For để giải.

----------


## zmyr0893

mình hỉu ròi, cám ơn bạn! (nhưng nếu dùng if lồng nhau có đúng cách hok vậy bạn)

----------


## xuyenchi05

Mình nghĩ dùng If lồng nhau cũng giải quyết được

----------


## tungvu

gửi đức đoạn chương trình ney, nó chạy rồi nhưng mình tính lại thì they sai kết quả, mình kủng không bít sai chổ nào nữa, bạn xem giùm mình với!
đề:km đầu 13000, mỗi km tiếp theo là 12000, >30 km thì mỗi km thêm sẽ là 11000.


//program tien taxi
#include"khaibao.h"
void main()
{float km;
do{cout<<"ban di bao nhieu km: ";
cin>>km;
if(km<=0)
cout<<"so ban nhap khong hop le, nhap lai!"<<endl;}
while(km<=0);
if(0<km<=1)
cout<<"so tien phai tra la: "<<km*13000<<" vnd"<<endl;
else
if(km>1&&km<=30)
cout<<"so tien phai tra la: "<<((km-1)*12000)+13000<<" vnd"<<endl;
else
cout<<"so tien phai tra la: "<<((km-30)*11000)+(29*12000)+13000<<" vnd"<<endl;
}

----------


## hautran200594

bác vuduc96 chỉ giùm cụ thể cho bác ấy đi

----------


## Mr_Dam

//program tien taxi
#include"khaibao.h" *<-- trong C++ không có thư viện này*
void main()
{float km;
do{cout<<"ban di bao nhieu km: ";
cin>>km;
if(km<=0)
cout<<"so ban nhap khong hop le, nhap lai!"<<endl;}
while(km<=0); *<-- điều kiện lặp sai*
if(0<km<=1)
cout<<"so tien phai tra la: "<<km*13000<<" vnd"<<endl;
else
if(km>1&&km<=30)
cout<<"so tien phai tra la: "<<((km-1)*12000)+13000<<" vnd"<<endl;
else
cout<<"so tien phai tra la: "<<((km-30)*11000)+(*29**12000)+13000<<" vnd"<<endl;
}
Bạn chú ý những chỗ mà mình đánh dấu màu đỏ

----------


## huynq.231

-không bạn mình khai báo không sai mà là: đã có một "file" tập hợp các khai báo cho cùng chương trình này, và "khaibao.h" là tên của "file" đó.
-còn dk lập thì vòng lập chỉ thực hiện khi km<=0 là đúng rồi mà bạn.
-một cái nữa là mình chỉ nhập có mười mấy km thôi mà nó đã sai rồi, còn else cuối cùng thì mình chưa tính tới.

----------


## ilgod

Bạn thử thay số 29 bằng 30 xem.Lớn hơn 30 mới là giá khác mà.

----------


## zmyr0893

không đc nữa rầu, buồn quá, hết cách lun!

----------


## seopro12345789

```
#include <iostream.h>
void main()
{
	float km;
	do {
		cout<<"ban di bao nhieu km: ";
		cin >> km;
		if(km <= 0)
			cout<<"so ban nhap khong hop le, nhap lai!"<<endl;
	}while(km <= 0);
	if(km > 0 && km <= 1)
		cout<<"so tien phai tra la: " << km*13000 << " vnd" << endl;
	else
		if (km>1&& km<=30)
			cout<<"so tien phai tra la: "<<((km-1)*12000)+13000<<" vnd"<<endl;
		else
			cout<<"so tien phai tra la: "<<((km-30)*11000)+(29*12000)+13000<<" vnd"<<endl;
}
```

#include"khaibao.h"
void main()
{float km;
do{cout<<"ban di bao nhieu km: ";
cin>>km;
if(km<=0)
cout<<"so ban nhap khong hop le, nhap lai!"<<endl;}
while(km<=0); // điều kiện kết thúc của do..while , bạn ko sai
if(0<km<=1) // chỉ sai chỗ này mà thôi , trong lập trình ko giống như toán học viết trên giấy
cout<<"so tien phai tra la: "<<km*13000<<" vnd"<<endl;
else
if(km>1&&km<=30)
cout<<"so tien phai tra la: "<<((km-1)*12000)+13000<<" vnd"<<endl;
else
cout<<"so tien phai tra la: "<<((km-30)*11000)+(29*12000)+13000<<" vnd"<<endl;
}

----------


## datlinh1989

mình sơ ý thật, cám ơn bạn nhìu lắm! vậy mà mình tìm mãi kho ra lỗi, chỉ có một tí xíu vậy! tktktk!

----------


## beprongviet

làm sao để viết cái dòng code *quyét chọn* vậy bạn?

----------


## shinchao

ý bạn là sao ý nhỉ :emlaugh:
muốn chọn hết thì nhấp Quét Chọn gòi copy , còn ko bít copy thì pó hands ! =.="
còn muốn hiện ra dạng code thì bỏ vào thẻ code thui *[1]dòng lệnh[2] => "1" thay = code , "2" thay = /code* (vì viết vào nó sẽ hiện ra lun , bạn thông cảm)
==================================================  ========================
sẵn đó góp ý với BQT lun , là sao bỏ vào thẻ code dòng lệnh dài quá thì nó mất tiu , hơi bật tiện chút hihihihihi

----------


## tungldhdonga1

nghĩa là gõ vầy à


```
[/ code]phải ko
```

----------


## MuRom92

ko có khoảng trắng chỗ */ code* là ok , bạn chỉnh màn hình soạn thảo đầy đủ lên sử dụng cái bĩu tượng *#* ấy :1eye

----------

