• C

Currency Program

I am new to programming. How would I start to go about expanding the program to accept one input currency, which is error checked as a valid entry and then display its equivalency? This is a C program. Do I use an array or a loop of some kind?

/*Currency Conversion Program created by Rebecca Fusco*/

#include <stdio.h>                       /*header*/
float main(void)                         /*five selected world currency conversions to 1.00 US dollar,float datatype*/

{                                       /*beginning function*/
/*world country selections for currency conversions:Canada,Europe,United Kingdom,Japan,Russia,United States*/                                      
float CAD,EUR,GBP,JPY,RUR,US;                                                

/*assign values to selected countries,reference retrieved from live market
  at http://www.xe.com/effective as of 8/4/04 18:44 GMT*/                                        
printf("Currency Conversion\n\n");          /*displays title and double space*/
/*declare variables for currency rate from European Euro converted to the United States Dollar*/                                                          
printf("%f European Euro is equivalent to %f US Dollar\n",EUR,US);
/*declare variables for currency rate from United Kingdom Pound to the United States Dollar*/                                                                          
printf("%f United Kingdom Pound is equivalent to %f US Dollar\n",GBP,US);
/*declare variables for currency rate from Japanese Yens to the United States Dollar*/
printf("%f Japanese Yens is equivalent to %f US Dollar\n",JPY,US);  
 /*declare variables for currency rate from Canadian Dollars to the United States Dollar*/
printf("%f Canadian Dollars is equivalent to %f US Dollar\n",CAD,US);
/*declare variables for currency rate from Russian Rubles converted to the United States Dollar*/                                                          
printf("%f Russian Rubles is equivalant to %f US Dollar\n",RUR,US);
return 0;                          
}                                   /*ends*/                                  

Who is Participating?
Jaime OlivaresConnect With a Mentor Software ArchitectCommented:
assumming the currency sign ALWAYS goes before the number:

<source code removed by sunnycoder, Page Editor>

Now you can invoke this function to separate currency from number, then you can compare currencies sign  with strcmp() to establish currency.

First of all,main() has a signature of int main() and not float main().

To get a value from the user,you can use scanf()
float curFloat;//for a float value


double curDouble;//for a double value

If you want the user to enter the currency symbol as well,you'll have to get the user input in the form of a string(a char array) and convert it using atof() as jaime explained.

To get the input in the form of string,use fgets().
#define MAX 100
char cur[MAX];

You can use scanf() also for getting the user input into a string:

But this would take space as a delimiter and end the string the moment it encountered a space.
fgets is a better option because it prevents the user from overrunning the amount of space you've reserved for the cur[] string.
Firewall Management 201 with Professor Wool

In this whiteboard video, Professor Wool highlights the challenges, benefits and trade-offs of utilizing zero-touch automation for security policy change management. Watch and Learn!

Jaime OlivaresSoftware ArchitectCommented:
I think the main issue in the homework is not the currency/amount splitting, just a colateral topic, that's why I have posted, so, why to remove it if author has read?, it will not be useful to others members?. Even I have not tested it, I am sure it will need some arrangements (have you tested it?). So if author make some arrangements I encourage her to publish it, because that demonstrates that my answer is not a full solution.
BTW. I think it is not a good idea a page editor have have the level of participation in his own TA. You have covered more than 50% of questions. I have not seen this case in the other dozen TA I participate (Just a personal opinion).

Jaime OlivaresSoftware ArchitectCommented:
The author have to do that:

-Store a conversion table anywhere
-Present a menu with options
-Ask for user input
-Parse currency symbol (split)   <------ This is my portion, mandatory?
-Make proper conversion
-Present results

I think my posted code is not a whole homework, and can't run alone with proper managing code (before and after invoking function), even not a half homework, just a portion, maybe it is not a requirement, but this is a speculation from you and me.
Anyway, I think I have not violated MA and have not intention to violate MA. I will not spend time posting CS because that's not meaninful to me, but if you want, I wil discuss it there.
PS. I guess my list above is not a MA violation, but a legitime answer.
i looked this up because i need help with two different IT classes ia m taking. i wouldn't be paying money for this membership otherwise. I always ackwoledge any resources copied off the web. there is no damage in that. as long as the rules of resources, validity, and opens source are respected
Question has a verified solution.

Are you are experiencing a similar issue? Get a personalized answer when you ask a related question.

Have a better answer? Share it in a comment.

All Courses

From novice to tech pro — start learning today.