954,506 Members — Technology Publication meets Social Media
Username:
Password:
Lost login information?
Have something to say? Contribute New Article Reply to this Article

currency conversion program error

ive created this currency conversion program
which converts the currency then adds commission, but its got a error saying undefined symbol true in function main
can someone help me ive only got the one error with it.

#include <iostream.h>
 
int choice;
double pounds;
double USdollar;
double Euro;
double interest;
 
int main(){
  cout << "Select what you want to convert." <<endl;
  cout << "1.Pounds to US dollar." <<endl;
  cout << "2.Pounds to Euro." << endl;
  cin >> choice;
 
while (true){
 
//converts pounds to US dollars
  if (choice == 1){
    cout << "Please enter amount you want to convert." <<endl;
    cin >> pounds;
    USdollar = pounds * 0.5; //change the conversion rate
    cout << USdollar<< endl;
    if (pounds <= 1000){
     cout << "Interest rate is 1% of this amount." <<endl;
     interest = USdollar + (USdollar * 0.01);
     cout << interest << endl;
     }
     if (pounds > 1000){
     cout << "Interest rate is 3% of this amount." <<endl;
     interest = USdollar + (USdollar * 0.03);
     cout << interest << endl;
     }break;
    }
//converts pounds to euro
  if (choice == 2){
    cout << "Please enter amount you want to convert." <<endl;
    cin >> pounds;
    Euro = pounds * 0.3; //change the conversion rate
    cout << Euro<< endl;
    if (pounds <= 1000){
     cout << "Interest rate is 1% of this amount." <<endl;
     interest = Euro + (Euro * 0.01);
     cout << interest << endl;
     }
     if (pounds > 1000){
     cout << "Interest rate is 3% of this amount." <<endl;
     interest = Euro + (Euro * 0.03);
     cout << interest << endl;
     }break;
    }
  if (choice != 1 && choice !=2){
    cout <<"Invalid choice. Enter again."<<endl;
        }
  }return 0;
}
sunny123
Newbie Poster
10 posts since Oct 2006
Reputation Points: 10
Solved Threads: 0
 

true has not been defined. Define it.

WaltP
Posting Sage w/ dash of thyme
Moderator
10,506 posts since May 2006
Reputation Points: 3,348
Solved Threads: 944
 

It works fine on my compiler :-S
Try declaring a boolean variable and have that in the while loop

bool keepLooping = true;

...

while (keepLooping)
{
...
}


Or simply use the forever loop

for (;;)
{
...
}
may4life
Junior Poster in Training
57 posts since Oct 2006
Reputation Points: 13
Solved Threads: 2
 

thankyou

sunny123
Newbie Poster
10 posts since Oct 2006
Reputation Points: 10
Solved Threads: 0
 
#include <iostream.h>


iostream.h is outdated - use iostream instead: http://www.devx.com/tips/Tip/14447
(you also either need to put using namespace std; after the inclusion of iostream, or place std:: in front of each Standard Template Library object)

My suspection of "undefined symbol true" is that the compiler is in 'C' mode or something... perhaps in the configuration or something you can change it. In any case, it works fine on mine (gcc).Try declaring a boolean variable and have that in the while loop
Code:

bool keepLooping = true;

...

while (keepLooping)
{
... }


What an awful way of doing it. Firstly, if the compiler doesn't recognize true in the while loop, what makes you think it will recognize it in a variable assignment? Secondly, it's much shorter to simply create a while loop with '1' like the following:

while(1) {
...
}


That should work for ya.

John A
Vampirical Lurker
Team Colleague
7,630 posts since Apr 2006
Reputation Points: 2,240
Solved Threads: 339
 

This article has been dead for over three months

Post: Markdown Syntax: Formatting Help
You