Hi everyone,

I've written a test program, and I need help limiting the amount of characters a user enters in a char. I want it so that that maximum amount of characters is 1, and if they enter more than 1, it will display a message. Here's my code:

#include <iostream>
using namespace std;

int main()
{
  cout << "The current value is 0. Enter a '+' to increment," << endl;
  cout << "and a '-' to decrement. Enter a 'T' to terminate the loop." << endl << endl;

 int value = 0;
	
loop:
 cout << "Enter next operator: ";
 cin >> operation;

/*********************************************************************************************************************************************
if the character's bigger than 1,
display 'invalid' message
***************************************************************************
******************************************************************/

  switch(operation)
  {
    case '+' :
      value++;
      goto loop;
    break;
	
    case '-' :
      value--;
      goto loop;
    break;

    case 'T' :
    case 't' :
      cout << "The loop was terminated. The accumulated value is " << value << "." << endl << endl;
      system("pause");
      return 0;
    break;

    default:
invalid:
      cout << "You have entered an invalid operator. You must " << endl
      << "either enter a '+' to increment, a '-' to decrement," << endl
      << "or a 'T' to terminate the loop." << endl << endl;
      system("pause");
      system("cls");

      goto loop;
  }
}

As commented in the code above, 'if the character's greater than 1, display 'invalid' message'.
could anyone help me put this in the correct syntax?

Thanks in advance.

delete all those goto statements and replace them with standard C/C++ loop statements. You should consider goto as a forbidden word.

Here is a thread -- Just to short-circuit discussion of something that has already been beaten to death.

This article has been dead for over six months. Start a new discussion instead.