User Name Password Register
DaniWeb IT Discussion Community
All
What is DaniWeb IT Discussion Community?
You're currently browsing the C++ section within the Software Development category of DaniWeb, a massive community of 375,173 software developers, web developers, Internet marketers, and tech gurus who are all enthusiastic about making contacts, networking, and learning from each other. In fact, there are 2,145 IT professionals currently interacting right now! Registration is free, only takes a minute and lets you enjoy all of the interactive features of the site.
Please support our C++ advertiser:
Views: 3669 | Replies: 10
Reply
Join Date: Feb 2005
Posts: 13
Reputation: cap2361 is an unknown quantity at this point 
Rep Power: 4
Solved Threads: 0
cap2361 cap2361 is offline Offline
Newbie Poster

error checking of user input

  #1  
Apr 16th, 2005
I am having problems with error checking. I want to ensure that the user puts in a name with characters and not use numbers. My thinking is that since player_name is data type char that using ( !player_name) should indicate not to input an int. any suggestions on how to go about this is greatly appreciated. thanks. I have no errors when compiling this but it doesn't work either.






void game::get_name()
{
cout << "Enter your name? ";
cin.getline(player_name, 50);

if(!player_name )
{
cout << "You must enter a name and not a number!" << "\n";

cout << "Enter your name? ";
cin.getline(player_name, 50);
}

}
AddThis Social Bookmark Button
Reply With Quote  
Join Date: Dec 2004
Posts: 457
Reputation: Acidburn is an unknown quantity at this point 
Rep Power: 4
Solved Threads: 5
Acidburn Acidburn is offline Offline
Posting Pro in Training

Re: error checking of user input

  #2  
Apr 16th, 2005
I'm not sure but why dont you google "is Alpha" We where taught this a while back and it spring'd back to mind when I reda your post so it must have some meaning... TeeHee
Reply With Quote  
Join Date: Sep 2004
Posts: 6,009
Reputation: Narue has much to be proud of Narue has much to be proud of Narue has much to be proud of Narue has much to be proud of Narue has much to be proud of Narue has much to be proud of Narue has much to be proud of Narue has much to be proud of 
Rep Power: 26
Solved Threads: 413
Super Moderator
Narue's Avatar
Narue Narue is offline Offline
Expert Meanie

Re: error checking of user input

  #3  
Apr 16th, 2005
>I want to ensure that the user puts in a name with characters and not use numbers.
Why? Numbers would be a valid string, and forcing your players to enter alphabetic characters may be an unnecessary restriction. Especially since it requires more work and code from you, and therefore more debugging and possible errors.

However, to do it you can use the standard library:
#include <algorithm>
#include <cctype>
#include <cstring>
#include <functional>
#include <iostream>

using namespace std;

int alpha ( int c )
{
  return isalpha ( c );
}

void getname ( char s[], int n )
{
  while ( cin.getline ( s, n )
    && *find_if ( s, s + strlen ( s ), not1 ( ptr_fun ( alpha ) ) ) != '\0' )
  {
    cout<<"No digits allowed. Try again: ";
  }
}
Though it's a little awkward using C-style strings. If you were using std::strings then it would be much easier:
#include <iostream>
#include <string>

using namespace std;

void getname ( string& s )
{
  while ( getline ( cin, s )
    && s.find_first_of ( "0123456789" ) != string::npos )
  {
    cout<<"No digits allowed. Try again: ";
  }
}
To do it manually you can use isalpha in a loop (a C-style solution), but the code is longer and harder to get right:
#include <cctype>
#include <iostream>

using namespace std;

void getname ( char s[], int n )
{
  while ( cin.getline ( s, n ) ) {
    char *p = s;

    while ( *p != '\0' ) {
      if ( !isalpha ( *p ) ) {
        cout<<"No digits allowed. Try again: ";
        break;
      }

      ++p;
    }

    if ( *p == '\0' )
      break;
  }
}
Member of: Beautiful Code Club.
Reply With Quote  
Join Date: Feb 2005
Posts: 13
Reputation: cap2361 is an unknown quantity at this point 
Rep Power: 4
Solved Threads: 0
cap2361 cap2361 is offline Offline
Newbie Poster

Re: error checking of user input

  #4  
Apr 16th, 2005
Thank you so much. It's the little things that I always forget or miss.
This is all that was required to make it work... not equal to NULL


if(player_name != '\0')
Reply With Quote  
Join Date: Sep 2004
Posts: 6,009
Reputation: Narue has much to be proud of Narue has much to be proud of Narue has much to be proud of Narue has much to be proud of Narue has much to be proud of Narue has much to be proud of Narue has much to be proud of Narue has much to be proud of 
Rep Power: 26
Solved Threads: 413
Super Moderator
Narue's Avatar
Narue Narue is offline Offline
Expert Meanie

Re: error checking of user input

  #5  
Apr 16th, 2005
>not equal to NULL
'\0' and NULL should not be mixed. If you do so it makes your code harder to follow. '\0' is the null character and should only be used in character context, and NULL is the null pointer and should only be used in pointer context.

>if(player_name != '\0')
If you're checking to see if the input is numeric then this doesn't do what you think it does. It checks pointer_name to see if it's a null pointer. However, if it were a null pointer, the program would have crashed here:
cin.getline(player_name, 50);
You've replaced one broken construct that doesn't do what you want with another broken construct that doesn't do what you want.
Member of: Beautiful Code Club.
Reply With Quote  
Join Date: Feb 2005
Posts: 13
Reputation: cap2361 is an unknown quantity at this point 
Rep Power: 4
Solved Threads: 0
cap2361 cap2361 is offline Offline
Newbie Poster

Re: error checking of user input

  #6  
Apr 17th, 2005
You are so right about NULL. I have been doing research and have found nothing. If I did find anything it confused me. I am having a hard time finding how to check a string array, everything seems to be checking for int. Here is my whole program.
#include <iostream.h>
#include <stdlib.h>
#include <time.h>
#include <fstream.h>
#include <string.h>
#include <windows.h>   // WinApi header
#include <ctype.h>

class game
{
	public:

	game(); //default constuctor
	void blackjack();

	protected:
	void shuffle();		//prototype for shuffle prog.
	void hit();		//deals one card at a time
	void first_deal();	//deals 2 cards to each player
	void display();		//displays cards, score, and money
	void player_hit_stay();		//player chooses to hit or stay
	void dealer_hit_stay();		//automated dealer hit/stay, hit if total <= 16
	void player_hand_totaler();		//sums cards in player's hand
	void dealer_hand_totaler();		//sums cards in dealer's hand
	void ace_change();		//if total is > 12 then changes aces (11's) to 1's. reruns totaler everytime it changes an ace
	void bust_check();		//checks if either player busts
	void reshuffle();		//reruns shuffle if current card is 52
	void clear_screen();	//couts 20 clear lines
	void clear_hands();		// clears arrays for player and dealer hands, resets bust, winner, hand totals, and bet amount
	void winner_check();	//checks for busts or (if no bust) greater hand total
	void get_name();	//cin's the person's name
	void intro();	//displays program picture and author info
	void bet();		//allows for players to enter a bet. checks for too high bets and negative bets.
	void win_money();	//if player wins, adds 2*bet to total, 3*bet if dealer busts
	int deck[52], player_hand[15], dealer_hand[15];		//sets array for deck, and for each player's hand
	int current_card, player_total, dealer_total;		//current card # (in deck), and player/dealer hand total
	int player_card_number, dealer_card_number;			//card # in player/dealers's hand
	int player;		//sets 1 for player and 2 for dealer, affects turn
	int bust;		//if total is >21, sets bust=1 for player and =2 for dealer.
	int winner;		//set by winner_check, 1 for player, 2 for dealer, 3 for tie
	int bet_amount;		//amount the player bets. entered in bet function
	char player_hit;	//player enters y or n if they want to hit

	public:
	void display_header(); //file display
	void display_record(); //display name and money from record
	int money_total; //total money the player currently has
	char player_name[50]; //player can enter their name, up to 49 characters long

};


	
game::game() //default consturctor
{
	int i=0;
	for(i=0; i<=51; i++) //initialzes deck
	{
		deck[i]=0;
	}
	for(i=0; i<=14; i++) //initializes player/dealer hand arrays
	{
		player_hand[i]=0;
		dealer_hand[i]=0;
	}

	current_card = 0;
	player_total = 0;
	dealer_total = 0;
	player_card_number = 0;
	dealer_card_number = 0;
	player = 1;
	player_hit = ' ';
	bust = 0;
	winner = 0;
	money_total = 100;

	
}


void game::intro()
{
	

	cout << " -------------  -------------\n"
		 << " |   -----  J|  |          A|\n"
		 << " |    '<'    |  |     A     |\n"
		 << " |     -     |  |    A A    |\n"
		 << " |    / \\    |  |   A   A   |\n"
		 << " | +-( J )-+ |  |  AAAAAAA  |\n"
		 << " |    \\ /    |  |  A     A  |\n"
		 << " |    | |    |  |  A     A  |\n"
		 << " |J   - -    |  |A          |\n"
		 << " -------------  -------------\n"
		 << "         BLACKJACK 21!\n";
		 
		cout << "\n";
		get_name();
	
}

void game::get_name()
{
	cout << "Enter your name? ";
	cin.getline(player_name, 50);

	
	//if(player_name )
	{
		cout << "You must enter a name and not a digit!" << "\n""\n";

		clear_screen();

		cout << "Enter your name? ";
		cin.getline(player_name, 50);
	}
	
	
}

//player make bet
void game::bet()
{
	cout << "\n\nyou have $" << money_total;
	cout << "\nplease only bet in whole dollar amounts.";
	cout << "\nhow much do want to you bet? ";
	cin >> bet_amount;


//checks bet amount to be in range of money 
	while ((bet_amount > money_total)||(bet_amount < 0))

		{
		//if bet is over money in players bank
		if (bet_amount > money_total)
		{
			cout << "\nyou bet more money than you have. no, you can't bet your car keys. fool.\n\n";

			clear_screen();
			

			cout << "\n\nyou have $" << money_total;
			cout << "\nplease only bet in whole dollar amounts.";
			cout << "\nhow much do want to you bet? ";
			cin >> bet_amount;
		}
		//can't bet a negative amount
		else if (bet_amount < 0)
		{
			cout << "\nyou can't bet negative money!\n\n";

			clear_screen();
			
			cout << "\n\nyou have $" << money_total;
			cout << "\nplease only bet in whole dollar amounts.";
			cout << "\nhow much do want to you bet? ";
			cin >> bet_amount;

		}
		
	
	}
	money_total = money_total - bet_amount;

}

void game::blackjack() //"main" part of program
{
	intro();
	char play_again = 'y';
	shuffle();
	do
	
	{
		bet();
		clear_screen();
		first_deal();
		player_hit_stay();
		if (bust == 1)
		{
			clear_screen();

			cout << "you bust!\n\n";
			//winner = 2;
		}		
		else if (bust == 0)
		{
			dealer_hit_stay();
			if (bust == 2)
				{
					clear_screen();
					cout << "dealer busts!\n\n";
					//winner = 1;
				}
			else if (bust == 0)
			{
				clear_screen();
				cout << "Dealer stays.\n\n";
				
			}
		}
		
		winner_check();//here winner_check will be called
		
		if (money_total > 0)
		{
			cout << "\n\nanother round? (y for yes, n for no) ";
			cin >> play_again;
			while ((play_again != 'y')&&(play_again != 'Y')&&(play_again != 'n')&&(play_again != 'N'))
			{
				cout << "\n\nyou did not enter a y or n. please try again: ";
				cin >> play_again;
			}
		
			clear_hands();
			clear_screen();
			
		}
	
	}	//keep playing game
		while ((money_total > 0)&&((play_again == 'y')||(play_again == 'Y')));

		clear_screen();


		//to save player name and money win to record
//	if((money_total > 0) && (play_again = 'n')&&(play_again = 'N'))
		//{
		//	cout << "Save your name and winnings (Y for yes and N for n)";
		//	cin >> play_again;
			//if((play_again = 'y')&&(play_again = 'Y'))
		//	{
			//	ofstream tofile;	//save_name();
			//}

		//}

	
	if (money_total <= 0)
	{
		cout << "\n\nsorry, you ran out of money. goodbye!\n";
	
	}

	clear_screen();
	cout << "\n";
}



void game::shuffle() 
{
	int unshuffled[] = {2, 2, 2, 2, 3, 3, 3, 3, 4, 4, 4, 4, 5, 5, 5, 5, 6, 6, 6, 6, 7, 7, 7, 7, 8, 8, 8, 8, 9, 9, 9, 9, 10, 10, 10, 10, 11, 11, 11, 11, 12, 12, 12, 12, 13, 13, 13, 13, 14, 14, 14,14};
	//sets the unshuffled deck.
	int picked = 0; //number variable, used in function

	srand(time(0));
	
	for(int x=0; x<=51; x++)
	{
		picked = (1 + rand() % 52) ;
				
		while (unshuffled[picked -1] == 0) 
		//tests if card picked was already picked (set to 0). if so, chooses another.
		{
			picked = (1 + rand() % 52) ;
		}

		deck[x] = unshuffled[picked - 1]; //sets card in deck used to card in unshuffled deck.
		unshuffled[picked -1] = 0; //"deletes" card in unshuffled deck so it cannot be used again.
		current_card=0;
	}

}

void game::hit()
{
	reshuffle();
	if (player==1)
	{
		player_hand[player_card_number]=deck[current_card];
		player_card_number++;
		player_hand_totaler();
	}

	if (player==2)
	{
		dealer_hand[dealer_card_number]=deck[current_card];
		dealer_card_number++;
		dealer_hand_totaler();
	}
	current_card++;
	ace_change();
	bust_check();
	
}

void game::first_deal()
{
	player=1;
	hit();
	hit();
	player++;
	hit();
	hit();

}

void game::display()
{
	int c=0;

	if (winner == 0)
	{
		cout << "Dealer:\n";
	}
	else
	{
		cout << "Dealer: (total) " << dealer_total << "\n";
	}
	
	for (c=0; c<=14; c++)//draws top of card
	{
		if (dealer_hand[c] != 0)
		{
			cout << " +---+ ";
		}
	}
	cout << endl;
		for (c=0; c<=14; c++)//draws top of card
	{
		if (dealer_hand[c] != 0)
		{
			cout << " |   | ";
		}
	}
	cout << endl;
	
	for (c=0; c<=14; c++)
	{
		//displays a J, Q, or K instead of card values 12, 13, and 14
		//J-K is 12-14 so that the Ace can be 11 automatically
		if (dealer_hand[c] != 0)
		{
			cout << " | ";
			if ((winner == 0)&&(c == 0))
				{
					cout << "? ";
				}
			else if (dealer_hand[c]==10)
			{
				cout << "10";
			}
			else if ((dealer_hand[c]==11)||(dealer_hand[c]==1))
			{
				cout << "A ";
			}			
			else if (dealer_hand[c]==12)
			{
				cout << "J ";
			}
			else if (dealer_hand[c]==13)
			{
				cout << "Q ";
			}
			else if (dealer_hand[c]==14)
			{
				cout << "K ";
			}
			else
			{
				cout << dealer_hand[c] << " ";
			}

			cout << "| ";
		}
	}
	cout << endl;
	
	for (c=0; c<=14; c++)//draws middle of card
	{
		if (dealer_hand[c] != 0)
		{
			cout << " |   | ";
		}
	}
	cout << endl;
	
	for (c=0; c<=14; c++)//draws bottom of card
	{
		if (dealer_hand[c] != 0)
		{
			cout << " +---+ ";
		}
	}
	//displays players name, total of hand and money 
	cout << "\n\n" << player_name << ": (total) " << player_total << ", total money: $" << money_total << "\n";
		
	for (c=0; c<=14; c++)//draws top of card
	{
		if (player_hand[c] != 0)
		{
			cout << " +---+ ";
		}
	}
	cout << endl;
		for (c=0; c<=14; c++)//draws top of card
	{
		if (player_hand[c] != 0)
		{
			cout << " |   | ";
		}
	}
	cout << endl;
	
	for (c=0; c<=14; c++)
	{
		//displays a J, Q, or K instead of card values 12, 13, and 14
		//J-K is 12-14 so that the Ace can be 11 automatically
		if (player_hand[c] != 0)
		{
			cout << " | ";
			if (player_hand[c]==10)
			{
				cout << "10";
			}
			else if ((player_hand[c]==11)||(player_hand[c]==1))
			{
				cout << "A ";
			}			
			else if (player_hand[c]==12)
			{
				cout << "J ";
			}
			else if (player_hand[c]==13)
			{
				cout << "Q ";
			}
			else if (player_hand[c]==14)
			{
				cout << "K ";
			}
			else
			{
				cout << player_hand[c] << " ";
			}
			cout << "| ";
		}
	}
	cout << endl;
	
	for (c=0; c<=14; c++)//draws middle of card
	{
		if (player_hand[c] != 0)
		{
			cout << " |   | ";
		}
	}
	cout << endl;
	
	for (c=0; c<=14; c++)//draws bottom of card
	{
		if (player_hand[c] != 0)
		{
			cout << " +---+ ";
		}
	}
	

}

void game::player_hit_stay()
{
	player=1;
	player_hit = 'y';

	while (((player_hit == 'y')||(player_hit == 'Y'))&&(bust == 0))
	{
		clear_screen();
		display();
		cout << "\n\nwould you like to hit? (y for yes or n for no) ";
		cin >> player_hit;
		while ((player_hit != 'y')&&(player_hit != 'Y')&&(player_hit != 'n')&&(player_hit != 'N'))
		{
			cout << "\n\nyou did not enter a y or n. please try again: ";
			cin >> player_hit;
		}

		if ((player_hit == 'y')||(player_hit == 'Y'))
		{
			hit();
		}
	}
	
}

void game::dealer_hit_stay()
{
	player = 2;
	while ((dealer_total < 17)&&(bust != 2))
	{
		if (bust == 0)
		{
			hit();
			clear_screen();
			cout << "\nDealer hits!\n";
			display();
		}
	}	

}


//converts k,q,j to value of 10 for player hand
void game::player_hand_totaler()
{
	int c=0;
	player_total=0;
	for(c=0; c<=14; c++) //totals player hand
	{
		//this if statement adds 10 for J, Q, and K instead of 12, 13, and 14
		//J-K is 12-14 so that the Ace can be 11 automatically
		if ((player_hand[c]==12)||(player_hand[c]==13)||(player_hand[c]==14))
		{
			player_total=player_total+10;
		}
		else // adds current card
		{
			player_total=player_total+player_hand[c];
		}
	}
	//return;
}
//converts k,q,j to value of 10 for dealer hand
void game::dealer_hand_totaler()
{
	int c=0;
	dealer_total=0;
	for(c=0; c<=14; c++) //totals player hand
	{
		//this if statement adds 10 for J, Q, and K instead of 12, 13, and 14
		//J-K is 12-14 so that the Ace can be 11 automatically
		if ((dealer_hand[c]==12)||(dealer_hand[c]==13)||(dealer_hand[c]==14))
		{
			dealer_total=dealer_total+10;
		}
		else //else adds current card
		{
			dealer_total=dealer_total+dealer_hand[c];
		}
	}

}
//clears the screen
void game::clear_screen() 
{
	system("cls");
}
//clears cards for new hand
void game::clear_hands()
{
	int c=0;
	player_card_number = 0;
	dealer_card_number = 0;
	player_total = 0;
	dealer_total = 0;
	bust = 0;
	winner = 0;
	bet_amount = 0;
	for (c=0; c<=14; c++)
	{
		player_hand[c] = 0;
	}
	for (c=0; c<=14; c++)
	{
		dealer_hand[c] = 0;
	}
	
}
//checks for ace to be 1 or 11
void game::ace_change()
{
	int c=0;
	if ((player_total >= 22)&&(player_total != 21))
	{
		for (c=0; c <=14; c++)
		{
			if (player_hand[c]==11)
			{
				player_hand[c]=1;
				player_hand_totaler();
			}
		}
	}
		if ((dealer_total >= 22)&&(dealer_total != 21))
	{
		for (c=0; c <=14; c++)
		{
			if (dealer_hand[c]==11)
			{
				dealer_hand[c]=1;
				dealer_hand_totaler();
			}
		}
	}
	player_hand_totaler();
	dealer_hand_totaler();
}
//reshuffle cards for new hand
void game::reshuffle()
{
	if (current_card == 52)
	{
		shuffle();
		current_card=0;
	}
	
}
//checks for bust
void game::bust_check()
{
	if (player_total >= 22)
	{
		bust = 1;
	}

	if (dealer_total >= 22)
	{
		bust = 2;
	}
	
}

//in this blackjack game, your $ is already subtracted. therefore, 
//when you lose, no money is subtracted because your bet has already been subtracted.
void game::winner_check()
{
	if (bust == 0)
	{
		if (player_total > dealer_total)
		{
			winner = 1;
			win_money();
			display();
			cout << "\n\nyou win!\n\n";
		}
		else if (player_total < dealer_total)
		{
			winner = 2;
			display();
			cout << "\n\nyou lose!\n\n";
		}
		else if (player_total == dealer_total)
		{
			winner = 3;
			money_total = money_total + bet_amount; //you dont lose anything for a tie.
			display();
			cout << "\n\ntie!\n\n";
		}
	}
	else
	{
		if (bust == 1)
		{
			winner = 2;
			display();
			cout << "\n\nyou lose!\n\n";
		}
		if (bust == 2)
		{
			winner = 1;
			win_money();
			display();
			cout << "\n\nyou win!\n\n";
		}
	}

}

//determines money win
void game::win_money()
{
	if (bust == 2)//player gets twice his bet back if the dealer busts
	{
		money_total = money_total + (3 * bet_amount);
	}
	else
	{
		money_total = money_total + (2 * bet_amount);
	}

}

//display header for record
void game::display_header()
{

 
cout << "  Player       Bank"<<"\n";
cout << "___________________________";
cout << "\n";


}
//display name and money amount
void game::display_record()
{

cout << player_name << "\t"<<"\t"<< money_total;

cout  <<"\n";
}

int main()
{
		//code to color text to blue
		HANDLE  hConsole;
        int k = 11;	// pick the colorattribute k you want
		hConsole = GetStdHandle(STD_OUTPUT_HANDLE);

		
        SetConsoleTextAttribute(hConsole, k);
              
        
	game player;
	
	player.blackjack();



	
	ofstream tofile;
	
	tofile.open("Blackjack.txt", ios::app); //write to record

		if(tofile.fail())
		{
			cout << "Record failed to open";
			exit(1);
		}

			if (player.money_total > 0)
			{		
			tofile << player.player_name <<"\n"<< player.money_total<<"\n";
			cout<<"\n";

			}
		tofile.close();


	
		
	ifstream infile; //read from record

	infile.open("Blackjack.txt");

	player.game::display_header();


	while(!infile.eof())
	{
	infile >> player.player_name;
	infile >> player.money_total;

	if(infile.eof() == 0 )  //to remove duplicacy
			{	
	player.game::display_record();
	}
	}
	infile.close();

	return 0;
}
Code tags added. -Narue
Reply With Quote  
Join Date: Sep 2004
Posts: 6,009
Reputation: Narue has much to be proud of Narue has much to be proud of Narue has much to be proud of Narue has much to be proud of Narue has much to be proud of Narue has much to be proud of Narue has much to be proud of Narue has much to be proud of 
Rep Power: 26
Solved Threads: 413
Super Moderator
Narue's Avatar
Narue Narue is offline Offline
Expert Meanie

Re: error checking of user input

  #7  
Apr 17th, 2005
>I am having a hard time finding how to check a string array
What do you mean by "check" a string array? There are a lot of things you could mean, and that makes answering your question difficult. It's also not wise to post reams of code. Shrink your code down to a small example program that exhibits the problems you're having, otherwise nobody will waste their time helping you.
Member of: Beautiful Code Club.
Reply With Quote  
Join Date: Feb 2005
Posts: 13
Reputation: cap2361 is an unknown quantity at this point 
Rep Power: 4
Solved Threads: 0
cap2361 cap2361 is offline Offline
Newbie Poster

Re: error checking of user input

  #8  
Apr 17th, 2005
I usually do not post entire code. will heed your warning. I read up on isalpha and isdigit. I cannot find anything that lets me write a condition statement when using a string array. the string will accept both char and int. int isalpha(char) returns a nonzero number if the character is a letter, otherwise it retruns a zero. this is what my book says. the code sniplets you provided use reference passing and pointers. I would rather avoid both because anything I add to this code gives me an error. So far I haven't found any information as to checking user input for char. I am ok if it is one letter, but cannot do it with strings. I haven't found anything on the web either that checks for char string input, everything is for int.

thx for all your help and advice
Reply With Quote  
Join Date: Sep 2004
Posts: 6,009
Reputation: Narue has much to be proud of Narue has much to be proud of Narue has much to be proud of Narue has much to be proud of Narue has much to be proud of Narue has much to be proud of Narue has much to be proud of Narue has much to be proud of 
Rep Power: 26
Solved Threads: 413
Super Moderator
Narue's Avatar
Narue Narue is offline Offline
Expert Meanie

Re: error checking of user input

  #9  
Apr 17th, 2005
Give me an example of strings that would pass your test and strings that would fail your test. Your wording is too vague for me to help much.
Member of: Beautiful Code Club.
Reply With Quote  
Join Date: Feb 2005
Posts: 13
Reputation: cap2361 is an unknown quantity at this point 
Rep Power: 4
Solved Threads: 0
cap2361 cap2361 is offline Offline
Newbie Poster

Re: error checking of user input

  #10  
Apr 17th, 2005
User is asked to enter name. char player_name[50]; User enters name (example) Charlie. the program gets no errors because charlie is all letters of the alphabet. next user comes along and when asked to enter name, enters cha3l43 or 343455. this is not acceptable and user needs to enter name made up of letters from alphabet. I am sorry that I am having trouble explaining this. I have never had to write condition statement for string input before.
Reply With Quote  
Reply

Only community members can participate in forum threads. You must register or log in to contribute.

Currently Active Users Viewing This Thread: 1 (0 members and 1 guests)

 

DaniWeb C++ Marketplace
Thread Tools Display Modes

Similar Threads
Other Threads in the C++ Forum

All times are GMT -4. The time now is 12:06 am.
Forum system based on vBulletin Copyright ©2000 - 2008, Jelsoft Enterprises Ltd.
©2003 - 2008 DaniWeb® LLC