944,087 Members | Top Members by Rank

Ad:
  • C++ Discussion Thread
  • Unsolved
  • Views: 6589
  • C++ RSS
Oct 4th, 2004
0

Re: c++ help

Expand Post »
C++ Help Please!!!!!!!!!!!

The Question is:

Write a program that asks a user to enter one of the following state abbreviations: NC, SC, GA, FL, or AL. The program should then display the name of the state that cooresponds with the abbreviation entered ( North Carolina, South Carolina, Georgia, Florida, or Alabama).

Input Validation: Accept abbreviations with both letters in uppercase or both in lowercase. Display an error message if an abbreviation other than what is listed is entered.

THANK YOU VERY MUCH!!!!!!!!!!!
Similar Threads
Reputation Points: 10
Solved Threads: 0
Newbie Poster
jags is offline Offline
1 posts
since Oct 2004
Oct 4th, 2004
0

Re: State abbreviations

Well, we don't blatantly do homework questions here. Show some effort and help us to help you. How far into this program have you gotten so far? Have you prompted the user to enter a state abbreviation? Have you done an error check to make sure the abbreviation entered was valid? What technique are you using to correspond a state abbreviation with a full state? Are you printing the full state name out to the screen? *hint hint hint*
Administrator
Staff Writer
Reputation Points: 1422
Solved Threads: 162
The Queen of DaniWeb
cscgal is online now Online
13,646 posts
since Feb 2002
Oct 5th, 2004
0

Re: State abbreviations

Hi,
We can help you by giving a pseudocode for ur programme
input : TWO Characters
OutPut: State Name
The aslgo goes like this
Ask the user to enter two chracters
store the characters in lets say variable ch,
now check if the input is valid or not by an if statement giving right parameters

if the input do not have right parameters i-e it is input is not valid , ask the user to give input again or simply quit the programme showing an error message

if the input is valid use if-else statements to show out put
e.g
*******************************************
if(ch=='NC' || ch == 'nc' )
cout<<"North Carolina\n";
else if(ch=='SC' || ch =='sc' )
cout<<"South Carolina\n";
else.......................

*******************************************

I hope this would help u , if still there are some ambiguities , feel free to ask again,,,but do try it by ur own b4 asking next question.....

Fahad
Reputation Points: 14
Solved Threads: 0
Light Poster
fahad is offline Offline
27 posts
since Sep 2004
Oct 5th, 2004
0

Re: State abbreviations

>now check if the input is valid or not by an if statement giving right parameters
This is okay if the OP is forced to use such a braindead approach. Otherwise a series of 50 if statements is silly, and a table driven approach is far better.
Administrator
Reputation Points: 6442
Solved Threads: 1393
Bad Cop
Narue is offline Offline
11,807 posts
since Sep 2004
Oct 5th, 2004
0

Re: State abbreviations

Quote originally posted by Narue ...
>now check if the input is valid or not by an if statement giving right parameters
This is okay if the OP is forced to use such a braindead approach. Otherwise a series of 50 if statements is silly, and a table driven approach is far better.
actually i also will use if else.
how to use the table driven you mention above? can u teach me?
Reputation Points: 10
Solved Threads: 0
Newbie Poster
lara_ is offline Offline
17 posts
since Jul 2004
Oct 5th, 2004
0

Re: State abbreviations

>actually i also will use if else.
Your loss. Have fun typing all of that.

>how to use the table driven you mention above?
C++ Syntax (Toggle Plain Text)
  1. #include <cctype>
  2. #include <iostream>
  3. #include <string>
  4.  
  5. struct {
  6. std::string abbr;
  7. std::string name;
  8. } state[] = {
  9. "AL", "Alabama",
  10. "FL", "Florida",
  11. "GA", "Georgia",
  12. };
  13.  
  14. const int nstates = 3;
  15.  
  16. std::string get_state ( std::string abbr )
  17. {
  18. // Make abbr upper case
  19. for ( std::string::size_type i = 0; i < abbr.size(); i++ )
  20. abbr[i] = toupper ( (unsigned char)abbr[i] );
  21.  
  22. for ( std::string::size_type i = 0; i < nstates; i++ ) {
  23. if ( abbr == state[i].abbr )
  24. return state[i].name;
  25. }
  26.  
  27. return "NOT FOUND";
  28. }
  29.  
  30. int main()
  31. {
  32. std::cout<< get_state ( "GA" ) <<std::endl;
  33. std::cout<< get_state ( "ME" ) <<std::endl;
  34. std::cout<< get_state ( "fl" ) <<std::endl;
  35. }
The best part is that the table can be filled from a file, thus keeping the code very short and easy to follow as opposed to your 50 if statements. And if the USA decides to grow, which is probable, you would have to figure out where to change your code, modify it, and then test it to make sure you didn't make a mistake I would only have to add a single quick entry to my input file.
Administrator
Reputation Points: 6442
Solved Threads: 1393
Bad Cop
Narue is offline Offline
11,807 posts
since Sep 2004
Oct 5th, 2004
0

Re: State abbreviations

Hi;
I actually assume that the person asking a question is a beginner ,so it will be difficult for him to keep hold of arrays or pointers ,, thats why I have suggested that if-else method otherwise no doubt this is a silly approach for bigger problems.

Fahad
Reputation Points: 14
Solved Threads: 0
Light Poster
fahad is offline Offline
27 posts
since Sep 2004
Oct 5th, 2004
0

Re: State abbreviations

> I actually assume that the person asking a question is a beginner
All the more reason to mention better alternatives. Even if they don't understand, they still learn that other options exist.
Administrator
Reputation Points: 6442
Solved Threads: 1393
Bad Cop
Narue is offline Offline
11,807 posts
since Sep 2004

This thread is more than three months old

No one has posted to this discussion for at least three months. Please let old threads die and do not reply to them unless you feel you have something new and valuable to contribute that absolutely must be added to make the discussion complete. Otherwise, please start a new thread in this forum instead.
Message:
Previous Thread in C++ Forum Timeline: How can I read from a txt file?
Next Thread in C++ Forum Timeline: Problem with pointers





About Us | Contact Us | Advertise | Acceptable Use Policy
Forum Index | Build Custom RSS Feed


Follow us on Twitter


© 2011 DaniWeb® LLC