| delorie.com/archives/browse.cgi | search |
| Message-ID: | <36BF6123.7CC6D3E7@bignet.net> |
| From: | John Soares <moose AT bignet DOT net> |
| X-Mailer: | Mozilla 4.5 [en] (Win95; I) |
| X-Accept-Language: | en |
| MIME-Version: | 1.0 |
| Newsgroups: | comp.os.msdos.djgpp |
| Subject: | data verification problem |
| Lines: | 63 |
| NNTP-Posting-Host: | 206.67.96.153 |
| X-Trace: | news9.ispnews.com 918501185 206.67.96.153 (Mon, 08 Feb 1999 14:13:05 EDT) |
| NNTP-Posting-Date: | Mon, 08 Feb 1999 14:13:05 EDT |
| Organization: | ISPNews http://ispnews.com |
| Date: | Mon, 08 Feb 1999 14:11:47 -0800 |
| To: | djgpp AT delorie DOT com |
| DJ-Gateway: | from newsgroup comp.os.msdos.djgpp |
| Reply-To: | djgpp AT delorie DOT com |
I need to enter an employee number that must be 9 digits, no more and no
less. The way I am doing it here seems overly complicated, and does not
work anyway. I need to move on to other parts of the program now. Can
anyone tell me a quick easy way to verify length of data entry?
Here is my function:
void employee_nbr_entry(employee& e)
{
//this can't be too long or too short.
char test_nbr[9] = " ";
char ch = ' ';
int count = 0;
cout << "Enter 9 integer employee number: ";
for (int i = 0; i < worker_nbr; ++i)
{
ch = getchar();
cout << "int(ch) is: " << int(ch) << endl;
test_nbr[i] = ch;
++count;
if (count > worker_nbr)
{
if ((int(ch) == 10))
{
cout << endl << "nbr limited to 9 characters";
test_nbr[i] = ch;
e.nbr = atol(test_nbr);
return;
}
}
if ((int(ch) == 10))
{
if (count < worker_nbr)
{
cout << "must be at least 9 characters" << endl;
cout << "enter 9 digits from scratch: " << endl;
employee_nbr_entry(e);
}
}
e.nbr = atol(test_nbr);
}
return;
}
I know there must be an easier way to do this. Any hints appreciated.
John
| webmaster | delorie software privacy |
| Copyright © 2019 by DJ Delorie | Updated Jul 2019 |