943,946 Members | Top Members by Rank

Ad:
  • C Discussion Thread
  • Unsolved
  • Views: 9472
  • C RSS
Nov 13th, 2005
0

Storing data into an Array

Expand Post »
Sorry for the rather newbish question. I'm stuck on part of this program, it seems simple enough :-| The user is prompted to enter a phone number in the format of: xxx-xxxx (the hyphen must be included). From there the phone number needs to be stored into an array of 7 integers, lets just say phoneNumber. The hyphen however needs to be removed before the number is stored. Just storing data is easy, but removing the hyphen then storing is really confusing me, the book doesnt explain anything about how this could be done (at least nothing in the array chapter and any previous chapters).

Any help or tips would be greatly greatly apprechiated, thanks everyone
Reputation Points: 10
Solved Threads: 0
Newbie Poster
Savage221 is offline Offline
20 posts
since Oct 2005
Nov 13th, 2005
0

Re: Storing data into an Array

store it in a character array and then compare each character with '-'....if it is equal to hyphen then skip it(don't store it) in the phone number array...use continue statement
SpS
Reputation Points: 70
Solved Threads: 32
Posting Pro
SpS is offline Offline
598 posts
since Aug 2005
Nov 13th, 2005
0

Re: Storing data into an Array

ok, thanks. The only part that worries me is the teacher is pretty strict on the code format, if we use different methods than what he wants he will make us change it. The teacher has made errors before in the instructions but it says the array needs to be 7 integers. isdigit() was mentioned to be used, I know nothing about it, and I assume isdigit needs a char type?
Reputation Points: 10
Solved Threads: 0
Newbie Poster
Savage221 is offline Offline
20 posts
since Oct 2005
Nov 13th, 2005
0

Re: Storing data into an Array

Quote originally posted by Savage221 ...
ok, thanks. The only part that worries me is the teacher is pretty strict on the code format, if we use different methods than what he wants he will make us change it. The teacher has made errors before in the instructions but it says the array needs to be 7 integers. isdigit() was mentioned to be used, I know nothing about it, and I assume isdigit needs a char type?
isdigit() returns true if the character is '0' through '9'
  1. char c = '1';
  2. if( isdigit(c) )
  3. printf("Its a digit\n");
  4. else
  5. printf("Its not a digit\n");

now, all you have to do is loop through the input string and place each digit into the next available array element. If isdigit() returns false (0) then do nothing. That will mean you will need to keep a counter variable to keep track of where in the array to place the digit.
Sponsor
Team Colleague
Featured Poster
Reputation Points: 5608
Solved Threads: 2282
Retired and Enjoying Life
Ancient Dragon is offline Offline
21,953 posts
since Aug 2005
Nov 13th, 2005
0

Re: Storing data into an Array

maybe I should re read the chapter I have no problem making the loop run 8 times, prompting for the next number, checking if its a digit and then storing it into an array of 7 integers, however, the person needs to enter the phone number all at once with the hyphen. It's sad, but I'm drawing a blank, the rest of the program seems so simple, but I can't do anything untill I get past the initial input
Reputation Points: 10
Solved Threads: 0
Newbie Poster
Savage221 is offline Offline
20 posts
since Oct 2005
Nov 13th, 2005
0

Re: Storing data into an Array

something like this. However this will not prevent somebody from entering more than 7 digits or from entering other characters.
  1. int c;
  2. int array[7] = {0};
  3. int counter = 0;
  4.  
  5. while( (c = getchar()) != '\n')
  6. {
  7. if( isdigit(c))
  8. // put the binary number in the array and bump the counter
  9. array[counter++] = c - '0';
  10. }

or you could use fgets() to get the entire string, then validate that it contains the right number of digits and a hyphen
  1. char input[9];
  2. fgets(input,sizeof(input),stdin);
  3. // does it contain a hyphen
  4. if( input[3] != '-' )
  5. {
  6. // display an error message
  7. }
  8. // count number of digits
  9. for(counter = 0, i = 0; input[i]; i++)
  10. {
  11. if( isdigit(input[i]))
  12. counter++;
  13. }
  14. if(counter != 7)
  15. {
  16. // display error message
  17. }
Sponsor
Team Colleague
Featured Poster
Reputation Points: 5608
Solved Threads: 2282
Retired and Enjoying Life
Ancient Dragon is offline Offline
21,953 posts
since Aug 2005
Nov 13th, 2005
0

Re: Storing data into an Array

ok, thanks alot Ancient Dragon, very helpful, and very much apprechiated
Reputation Points: 10
Solved Threads: 0
Newbie Poster
Savage221 is offline Offline
20 posts
since Oct 2005

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.
This thread is currently closed and is not accepting any new replies.
Previous Thread in C Forum Timeline: Binary Tree Traversal
Next Thread in C Forum Timeline: Please help with atoi()





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


Follow us on Twitter


© 2011 DaniWeb® LLC