Xin chào mọi người. Em có 1 vấn đề nhỏ này ko hiểu về function EOF trong C++, em có 1 chương trình như sau :
- Yêu cầu nhập tỉ giá giữa đồng Yên và $
- Yêu cầu nhập số tiền $ muốn đổi sang Yên, có thể thoát chương trình bằng cách nhập 0
- Chương trình sẽ đọc giá trị đồng Yên sau khi đổi và đổi lại thành $
- Thoát chương trình bằng giá trị cuối của input ( end of file)
Em biết là phải viết 2 while loop trong chương trình, nhưng tại loop thứ 2 có vẻ em bị ìninite loop. Mọi người giúp em với
Đây là code của em
- Yêu cầu nhập tỉ giá giữa đồng Yên và $
- Yêu cầu nhập số tiền $ muốn đổi sang Yên, có thể thoát chương trình bằng cách nhập 0
- Chương trình sẽ đọc giá trị đồng Yên sau khi đổi và đổi lại thành $
- Thoát chương trình bằng giá trị cuối của input ( end of file)
Em biết là phải viết 2 while loop trong chương trình, nhưng tại loop thứ 2 có vẻ em bị ìninite loop. Mọi người giúp em với
Đây là code của em
Mã:
// there are 2 loops inside
#include <iostream>
using namespace std;
int main()
{
cout << "Enter today's currency exchange rate from dollars into yen: ";
double dollar_to_yen;
cin >> dollar_to_yen;
double dollar_amount;
bool more = true;
while (more)
{
cout << "Enter a U.S. dollar value: ";
cin >> dollar_amount;
if (cin.fail())
more = false;
else if (dollar_amount == 0)
more = false;
else
cout << dollar_amount << " dollars is worth "
<< dollar_amount* dollar_to_yen<< " yen." << endl;
}
cin >> dollar_amount;
while( cin.get() != EOF)
{
double yen_amount = dollar_amount* dollar_to_yen;
cout << yen_amount << " yen is worth "
<< yen_amount/dollar_to_yen << " dollar." << endl;
}
return 0;
}