Javatpoint Logo
Javatpoint Logo

Odd or Even Number Programs in C++

One of the fundamental ideas in programming is figuring out whether a given number is odd or even. For many algorithms and applications, it acts as a building block. The writing of a C++ program to determine whether a number is odd or even will be covered in this article. To make sure that even total beginners can understand the code, we'll give a step-by-step breakdown of it.

Odd and Even Numbers

Let's define odd and even integers first before getting into the programming part of this discussion:

  • Even Numbers: Integers that divide evenly by two, leaving no leftover after division by two, are known as even numbers. 2, 4, 6, 8, and so on are some examples.
  • Odd Numbers: In contrast, odd numbers are integers that, when divided by 2, have a remainder of 1. The following are some examples: 1, 3, 5, 7, etc.

Programming in C++

These steps can be used to develop a C++ program that checks an inputted number to see if it's odd or even:

Step 1: Include Necessary Libraries

In this bit of code, input and output operations are handled by the "iostream" library. Use of "cout" and "cin" is made possible by the "using namespace std" line, which eliminates the need to define the "std" namespace repeatedly.

Step 2: Define variables

To store the user's input, we here define the integer variable "number" in the program.

Step 3: Request user input

To display a message requesting an integer from the user, we use the "cout" command. In order to read the user's input and store it in the "number" variable, "cin" is next used.

Step 4: Determine whether the number is odd or even.

The modulo operator (%) is used in this code block to determine whether "number" is divisible by 2 without leaving a residual. In this case, we print that the number is even if there is no remainder (i.e., "number% 2" equals 0). If not, we deduce that it is an odd number.

Step 5: Finish the programme

In order to signal that the program has run successfully and may now be terminated, we utilize the statement return 0; at the end.

Understanding the Modulo Operator (%)

The modulo operator (%) is crucial in the C++ code we previously gave for determining if an integer is odd or even. When two numbers are divided by each other, this operator determines the remainder.

In our situation, we apply the number% 2 to ascertain whether there is a remainder when a number is divided by 2. The number is even if there isn't a remainder (i.e., the outcome is 0); otherwise, it's odd.

Conditional Statements

The core of the program is the use of conditional statements (if and else) to make choices based on the outcome of the modulo operation. Programmers use conditional statements because they give the program the flexibility to operate in different ways in response to diverse circumstances. Depending on whether the integer is odd or even, we run various code blocks in this scenario.

A user's input:

We also show how crucial user involvement is through our program. We create an interactive, user-friendly program by using cin to read user input and cout to display output. Validating user input, though, is essential. We presume that the user enters an integer when running the code that is provided. In a real-world application, you should still provide error handling to deal with situations in which the user enters non-integer input.

Additional Improvements and Things to Think About

  • Using Functions: Although the code we gave is straightforward and effective for this particular task, it's best practice to encapsulate functionality into functions in larger programs. For instance, you could write a function called isEven(int number) that accepts an integer as input and returns a boolean result indicating whether the number is even or not.
  • Negative Number Handling: The provided code assumes that the input number is not negative. You can adjust the code if you also wish to handle negative values. The modulo operation in C++ behaves as expected when dealing with negative values.
  • Using the Ternary Operator: To make the code more compact, use the ternary operator in place of an if-else expression. Here's an illustration:
  • Handling Floating-Point Numbers: Before performing the modulo operation, you can convert a floating-point number to an integer if you need to know whether it is odd or even. As an illustration, (int)floatNumber% 2.
  • Performance Considerations: You should look into more effective techniques for determining if a number is odd or even for really large numbers or situations where performance is crucial. The modulo operator is quick enough for the majority of commonplace situations.

Quantitative Data Types in C++

To detect whether a number is odd or even, we used integers (int) in the code we discussed. It's crucial to comprehend the various numerical data types in C++ and their restrictions:

  • Used frequently for entire numbers, int represents signed integers.
  • For integers, long long offers a wider range.
  • For floating-point (decimal) numbers, there are two types: float and double. Ordinarily, integers are used to determine if a condition is odd or even.
  • Data types only display non-negative numbers when they are unsigned. Due to the fact that even numbers can never be negative, they can also be used for them.

Extension of Input Validation

Strong input validation is essential for use in real-world applications. We presupposed that the user would always input a correct integer in the code we gave. Users, however, can be unexpected, and they might enter non-integer values or even excessively big numbers that are outside the acceptable range for the data type.

Consider employing input validation approaches to manage this, such as using a loop to continually ask the user for input until it is delivered or checking for non-integer input using the function.

Reconsidering Performance Considerations

The modulo operator is efficient enough to find an even or odd number for the majority of common programming jobs. Alternative algorithms might be investigated if you're dealing with really huge quantities or need to optimize for performance.

Bitwise operations are one such technique. Even numbers always terminate in 0 in binary. Therefore, using bitwise operations like bitwise AND (&) to check for evenness efficiently is possible since binary representation plays a key role in establishing whether a number is odd or even. As an illustration:

The least significant bit of the number's binary representation is checked in this code to see if it is set (signifying an odd number) or not (signifying an even number) using bitwise AND.

Mathematical Features

It can be useful to comprehend how odd and even numbers behave mathematically. The fact that even numbers are always divisible by two and that odd numbers differ from even numbers by exactly one, for instance, might be explained to students or learners.

Applications in the Classroom

In beginner programming courses, this straightforward program can also be used as a teaching aid. The code can be explored in many ways by students, who can then use it to solve more complicated problems and improve their knowledge of data types and control structures.


A fundamental idea in computer programming is determining whether a number is odd or even. An introduction to variables, user input, conditional statements, and modulo operations is provided by the C++ program in this article.

You'll discover that as you advance in your programming career, this information serves as the foundation for algorithms and problem-solving activities that are increasingly intricate. You can also improve the robustness and efficiency of your programs by taking input validation and performance optimizations into account.

As your programming career develops, you'll run across more challenging situations where this knowledge will be helpful.

Youtube For Videos Join Our Youtube Channel: Join Now


Help Others, Please Share

facebook twitter pinterest

Learn Latest Tutorials


Trending Technologies

B.Tech / MCA