0

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.

2
Contributors
1
Reply
2
Views
9 Years
Discussion Span
Last Post by Ancient Dragon
0

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 topic has been dead for over six months. Start a new discussion instead.
Have something to contribute to this discussion? Please be thoughtful, detailed and courteous, and be sure to adhere to our posting rules.