Currency Program

Posted on 2004-08-07
Medium Priority
Last Modified: 2010-04-15
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*/                                  

Question by:Rfusco
  • 3
  • 2
LVL 55

Accepted Solution

Jaime Olivares earned 500 total points
ID: 11744688
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.

Expert Comment

ID: 11745086

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.

Expert Comment

ID: 11745089
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!

LVL 55

Expert Comment

by:Jaime Olivares
ID: 11746409
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).

LVL 55

Expert Comment

by:Jaime Olivares
ID: 11746523
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.

Expert Comment

ID: 13541926
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

Featured Post

WEBINAR: GDPR Implemented - Tips & Lessons Learned

Join the WatchGuard team on Thursday, March 29th as we recount some valuable lessons learned in weighing the needs of a business against the new regulatory environment, look ahead at the two months left before implementation, and help you understand the steps you can take today!

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.

Join & Write a Comment

Windows programmers of the C/C++ variety, how many of you realise that since Window 9x Microsoft has been lying to you about what constitutes Unicode (http://en.wikipedia.org/wiki/Unicode)? They will have you believe that Unicode requires you to use…
Examines three attack vectors, specifically, the different types of malware used in malicious attacks, web application attacks, and finally, network based attacks.  Concludes by examining the means of securing and protecting critical systems and inf…
Video by: Grant
The goal of this video is to provide viewers with basic examples to understand and use for-loops in the C programming language.
The goal of this video is to provide viewers with basic examples to understand opening and reading files in the C programming language.

627 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question