Follow

Keep Up to Date with the Most Important News

By pressing the Subscribe button, you confirm that you have read and are agreeing to our Privacy Policy and Terms of Use
Contact

c++ program to check entered number by user

I am new to programming, started with C++ quite recently and I use CLion IDE.

I need to solve something, but I am not sure how exactly and I need your help with a basic C++ console program.

if the user enters a ten-digit number and the fifth number is one, the output should be this word – "zadochno".

MEDevel.com: Open-source for Healthcare and Education

Collecting and validating open-source software for healthcare, education, enterprise, development, medical imaging, medical records, and digital pathology.

Visit Medevel

if the user enters a ten-digit number and the fifth number is two, the output should be this word – "redovno".

The user is expected to enter 2101162235 or similar.
In any case, the fifth element should be either 1 or 2.

Examples:

Option 1: input> 2101162235 -> output string "zadochno"

Option 2: input> 2101262235 -> output string "redovno"

I am able to only partially create the program:

#include<iostream>

int number;
cout << "Please, enter number: ";
cin > number;

//I believe there should be an if statement or for loop here:
if(){

}

Can you please help me?

>Solution :

You can take the input from the user as std::string and then check if the element at index 4 is 1 or 2 as shown below:

#include <iostream>
#include <string>
int main()
{
    std::string input;
    
    //take input from user 
    std::getline(std::cin, input);
    
    //check if the 5th letter(at index 4 since indexing starts with 0) is '1' or '2'
    if(input.at(4) == '1')
    {
        std::cout<< "zadochno"<<std::endl;
    }
    else if(input.at(4) == '2')
    {
        std::cout << "redovno"<<std::endl;
    }
    
    //this below shown for loop is optional. If you're sure that the user input contains only digits then you can skip/remove this for loop.
    for(int i = 0; i < input.size(); ++i)
    {
        //check if the all the characters are digits of a number 
        if(std::isdigit(input[i]))
        {
            ;//std::cout<<"yes digit";
        }
        else
        {
            std::cout<<"Please enter a valid number"<<std::endl;
        }
    }
    
    return 0;
}


The output of the above program can be seen here.

Add a comment

Leave a Reply

Keep Up to Date with the Most Important News

By pressing the Subscribe button, you confirm that you have read and are agreeing to our Privacy Policy and Terms of Use

Discover more from Dev solutions

Subscribe now to keep reading and get access to the full archive.

Continue reading