The basics of programming in c++ for beginners

Tasks: Select if and else statements in c ++

After reading the lesson aboutSelect if and else statements, go to practice. As usual, I ask you to try to solve all tasks independently, and only then look at proposed us decision.

1. The first task is interesting and fairly simple. But the code will succeed long. This task came up with our teachers of computer Academy. The idea was to – how to get beginning students suffer with writing code, to scribbling was more )))  The task: The user enters the number of the 1 to 9999 (the amount of the issuance of an ATM). It should display the words entered by the amount and in the end to write the name of the currency with the correct ending. For example: 7431 – seven thousand four hundred thirty-one Dollars_, 2149 – two thousand one hundred forty-nine dollars_, 15 – fifteen dollars_, 3 – three dollars_. To solve this task you will need to use the operator % (remainder of the division). Read about it in an article, you can Arithmetic operations in C ++  . Start!

2.  The user enters the serial number of the finger. It should show its name on the screen.

 3. Another challenge for yourself solutions. You must write a program, which checks the user on the knowledge of the multiplication table. The user enters two single-digit numbers. The program asks the question: the result of multiplying the first day of the second.  The user must enter a response and see on the screen is correct or not, he said,. If not– show yet and the correct result.

Those who can not cope – ask questions in the comments.

369 thoughts on “Tasks: Select if and else statements in c ++

  1. #include
    using namespace std;
    int main()
    {
    setlocale(0, "");
    int a = 0;
    int b = 0;
    int z = 0;
    int s = 0;
    cout << "Проверим ваше знание таблицы умножения\n";
    cin >> a;
    cin >> b;
    s = a*b;
    cin >> z;
    (s == z)?cout << "Ответ верен.\n":cout << "Ответ не верен. Правильный ответ :" << s << "\n";
    }

    1. #include
      using namespace std;

      int main()
      {
      int a, b, c, rez = 0;
      cout<<a;
      cout<<b;
      cout<<rez;
      c = a*b;
      if(rez == c)
      {
      cout<<"Good!";
      }
      else cout<<"Ahahah, no! a*b="<<c;

      return 0;
      }

  2. #include
    using namespace std;

    int main ()
    {
    setlocale(LC_ALL, "rus");

    int a = 0;
    int b = 0;
    int s = 0;
    int z = 0;
    cout << "Проверим, как вы знаете таблицу умножения\n";
    cout <> a;
    cout <> b;
    s = a*b;
    cout <> z;
    if (s==z) cout << "Ваш результат верен \n";
    else cout << "Ваш результат неверен. Правильно - "<< s << "\n";
    system ("pause");
    return 0;
    }

  3. #include
    using namespace std;
    void main()
    {
    setlocale(0,"");
    int a,b,c;
    cout<<"Здравствуй, дорогой друг! Сейчас мы проверим твои знания таблицы умножения."<<endl<>a;
    if(a9)
    cout<<"Первый множитель не соответствует указанному диапозону(1-9)"<<endl;
    else
    {
    cout<>b;
    if(b9)
    cout<<"Второй множитель не соответствует указанному диапозону(1-9)"<<endl;
    else
    {
    cout<<"Теперь введи произведение этих множителей: "<>c;
    if(a*b==c)
    cout<<"Правильно!"<<endl;
    else
    {
    cout<<"Неверно!"<<endl<<"Произведение "<<a<<" и "<<b<<" равно "<<a*b<<"."<<endl;
    }

    }
    }
    }

  4. You can explain why in the first task we use the remainder of the division?
    What does it affect?

    1. Daniel, I can't say that he influences anything. In this example, it is the remainder of division by 10 makes it possible from among (for example 3 456) “pull out” the required figure (split the number into digits). Let's say it is necessary from an integer four-digit number 3 456 take the second. To do this, we will immediately divide it into 100: 3 456 / 100 = 34 (56 hundredths are discarded because. it is a number of type int). Next, we take the remainder of division by 10: 34 % 10 = 4.
      Perhaps you should read a little more about arithmetic operations., to figure it out https://purecodecpp.com/archives/404

      1. and the worse without a remainder of division? more resource-intensive? like lines are about the same. Or am I thinking in the wrong steppe? thanks in advance for your answer! Cool task
        #include
        using namespace std;
        int main()
        {
        setlocale(0, "");
        int suma;
        vvedenie:
        cout <> suma;
        int tysacha = suma / 1000;
        int sotnya = (suma-tysacha*1000)/100;
        int desyatki = (suma-tysacha*1000-sotnya*100)/10;
        int edenici = suma - tysacha * 1000 - sotnya * 100 - desyatki * 10;
        // пишем сотни
        //пишем сотни
        if (tysacha > 10)
        {
        cout << "введите сумму до 10 000 ";
        goto vvedenie;
        }
        if (tysacha == 0)
        {
        cout << "";
        }
        if (tysacha == 1)
        {
        cout << "одна тысяча ";
        }
        if (tysacha == 2)
        {
        cout << "две тысячи ";
        }
        if (tysacha == 3)
        {
        cout << "три тысячи ";
        }
        if (tysacha == 4)
        {
        cout << "четыре тысячи ";
        }
        if (tysacha == 5)
        {
        cout << "пять тысяч ";
        }
        if (tysacha == 6)
        {
        cout << "шесть тысяч ";
        }
        if (tysacha == 7)
        {
        cout << "семь тысяч ";
        }
        if (tysacha == 8)
        {
        cout << "восемь тысяч ";
        }
        if (tysacha == 9)
        {
        cout << "девять тысяч ";
        }
        // пишем сотни
        //пишем сотни
        if (sotnya == 0)
        {
        cout << "";
        }
        if (sotnya == 1)
        {
        cout << "сто ";
        }
        if (sotnya == 2)
        {
        cout << "двесте ";
        }
        if (sotnya == 3)
        {
        cout << "тристо ";
        }
        if (sotnya == 4)
        {
        cout << "четыресто ";
        }
        if (sotnya == 5)
        {
        cout << "пятсот ";
        }
        if (sotnya == 6)
        {
        cout << "шестьсот ";
        }
        if (sotnya == 7)
        {
        cout << "семсот ";
        }
        if (sotnya == 8)
        {
        cout << "восемсот ";
        }
        if (sotnya == 9)
        {
        cout << "девятсот ";
        }
        // пишем десятки
        //пишем десятки
        if (desyatki == 0)
        {
        cout << "";
        }
        if (desyatki == 1)
        {
        if (edenici == 0)
        {
        cout << "десять гривен";
        }
        if (edenici == 1)
        {
        cout << "одинадцать гривен";
        }
        if (edenici == 2)
        {
        cout << "двенадцать гривен";
        }
        if (edenici == 3)
        {
        cout << "тринадцать гривен";
        }
        if (edenici == 4)
        {
        cout << "четырнадцать гривен";
        }
        if (edenici == 5)
        {
        cout << "пятнадцать гривен";
        }
        if (edenici == 6)
        {
        cout << "шестнадцать гривен";
        }
        if (edenici == 7)
        {
        cout << "семнадцать гривен";
        }
        if (edenici == 8)
        {
        cout << "восемнадцать гривен";
        }
        if (edenici == 9)
        {
        cout << "девятнадцать гривен";
        }
        goto kapec;
        }
        if (desyatki == 2)
        {
        cout << "двадцать ";
        }
        if (desyatki == 3)
        {
        cout << "тридцать ";
        }
        if (desyatki == 4)
        {
        cout << "сорок ";
        }
        if (desyatki == 5)
        {
        cout << "пятьдесят ";
        }
        if (desyatki == 6)
        {
        cout << "шестьдесят ";
        }
        if (desyatki == 7)
        {
        cout << "семдесят ";
        }
        if (desyatki == 8)
        {
        cout << "восемдесят ";
        }
        if (desyatki == 9)
        {
        cout << "девяносто ";
        }
        // пишем еденицы
        //пишем еденицы
        if (edenici == 0)
        {
        cout << " гривен";
        }
        if (edenici == 1)
        {
        cout << "одна гривна";
        }
        if (edenici == 2)
        {
        cout << "две гривны";
        }
        if (edenici == 3)
        {
        cout << "три гривны";
        }
        if (edenici == 4)
        {
        cout << "четыре гривны";
        }
        if (edenici == 5)
        {
        cout << "пять гривен";
        }
        if (edenici == 6)
        {
        cout << "шесть гривен";
        }
        if (edenici == 7)
        {
        cout << "семь гривен";
        }
        if (edenici == 8)
        {
        cout << "восемь гривен";
        }
        if (edenici == 9)
        {
        cout << "девять гривен";
        }
        kapec:
        cout << '\n';

        system("pause");
        return 0;
        }

      2. for such a simple problem it is completely irrelevant with or without modulus. The compiler processes all arithmetic operations very quickly.

  5. #include
    using namespace std;

    int main()
    {
    setlocale(LC_ALL, "rus");
    int a= 0;
    int b= 0;
    int c= 0;
    int Proizvedenie= 0;
    cout <<"\nПроверим знание таблицы умножения\n";
    cout << a ;
    cout << b;
    cout << Proizvedenie;
    c = a*b;
    if (c == Proizvedenie)
    cout << "Ответ верен";
    else
    cout << "Ответ НЕверен";
    return 0;
    }

  6. Here is my version of the assignment with fingers:

    #include
    #include

    int main()

    {
    int NumberFinger;
    std::string BigFin="Большой палец."; //большой палец
    std::string PointFin="Указательный палец."; //указательный палец
    std::string AverageFin="Средний палец."; //средний палец
    std::string NamelessFin="Безымянный палец."; //Безымянный палец
    std::string PinkyFin="Мезинец."; //Мезинец

    std::string bug="НЕКОРРЕКТНО ВВЕДЕНЫ ДАННЫЕ!!!"; //на случай неверного ввода со стороны пользователя
    int Hand; //левая и правая рука
    // Выбираем левую руку через 2, правую через 1
    std::cout<>Hand;
    std::cout<<'\n';

    if (Hand==1)
    {
    std::cout<<"Правая рука: "<<'\n';

    std::cout<>NumberFinger;
    std::cout<<'\n';

    switch(NumberFinger)
    {

    case 1: std::cout<<BigFin<<'\n'; break;
    case 2: std::cout<<PointFin<<'\n';break;
    case 3: std::cout<<AverageFin<<'\n';break;
    case 4: std::cout<<NamelessFin<<'\n';break;
    case 5: std::cout<<PinkyFin<<'\n';break;
    default : std::cout<<bug<<'\n';break;

    }
    }
    else if(Hand==2)
    {

    std::cout<<"Левая рука: "<<'\n';

    std::cout<>NumberFinger;
    std::cout<<'\n';
    switch(NumberFinger)
    {

    case 1: std::cout<<BigFin<<'\n'; break;
    case 2: std::cout<<PointFin<<'\n';break;
    case 3: std::cout<<AverageFin<<'\n';break;
    case 4: std::cout<<NamelessFin<<'\n';break;
    case 5: std::cout<<PinkyFin<<'\n';break;
    default : std::cout<<bug<<'\n';break;

    }
    }
    else {
    std::cout<<bug<<'\n';
    }
    }

  7. Hi! changed the condition a little 1 tasks since my dev c ++ is not friendly with russian. this is how it turned out “English” option))

    #include
    #include
    #include
    using namespace std;

    void f_convers_1(char *newName, int num); // для перевода тысяч, сотен и единиц
    void f_convers_2(char *newName, int num); // для перевода десятков
    void f_convers_3(char *newName, int num); // для перевода 11-19

    int main(){
    int amount; // сума выдачи в банкомате
    int thtu[4]={0,0,0,0}; // масив с поразрядными значениями
    char thousands[30], hundreds[20], tens[20], units[10]; // строки для вывода на экран

    cout <>amount;

    for(int i=3; i>=0; i--) { // размещаем поразрядные значения суммы
    thtu[i]=(amount%10); // в виде элементов массива thtu
    amount/=10;
    }
    // передаем значение "тысячи" и указатель на
    // масив thousands функции f_convers_1
    if(thtu[0] != 0) {
    f_convers_1(thousands, thtu[0]);
    strcat(thousands, " thousand "); // к результату прибавляем thousand
    }else strcpy (thousands, "");
    // передаем значение "сотни" и указатель на
    // масив hundreds функции f_convers_1
    if(thtu[1] != 0) {
    f_convers_1(hundreds, thtu[1]);
    strcat(hundreds, " hundred "); // к результату прибавляем hundreds
    }else strcpy (hundreds, "");
    // передаем значение "десятка" и указатель на
    // масив tens функции f_convers_2
    if(thtu[2] != 0 && thtu[2] != 1) {
    f_convers_2(tens, thtu[2]);
    }
    else if(thtu[2] == 1) { // если десятичн. зн-е находится в диапазоне
    f_convers_3(tens, thtu[3]); // 10-19, передаем его функции
    thtu[3]=0; // f_convers_3, при єтом обнуляем
    } // последний елемент масива thtu
    else strcpy (tens, "");

    // передаем значение "единицы" и указатель на
    if(thtu[3] != 0) { // масив units функции f_convers_1
    f_convers_1(units, thtu[3]);
    }else strcpy (units, "");

    cout <<"You enter:\n\n"; // выводим результат на экран
    cout <<thousands <<hundreds <<tens <<' ' <<units <<" dollars.\n\n\n";

    system("pause");
    return 0;
    }
    void f_convers_1(char *newName, int num) {
    if(num == 1) strcpy(newName, "one");
    else if(num == 2) strcpy(newName, "two");
    else if(num == 3) strcpy(newName, "three");
    else if(num == 4) strcpy(newName, "four");
    else if(num == 5) strcpy(newName, "five");
    else if(num == 6) strcpy(newName, "six");
    else if(num == 7) strcpy(newName, "seven");
    else if(num == 8) strcpy(newName, "eight");
    else strcpy(newName, "nine");
    }
    void f_convers_2(char *newName, int num) {
    if(num == 2) strcpy(newName, "twenty");
    else if(num == 3) strcpy(newName, "thirty");
    else if(num == 4) strcpy(newName, "forty");
    else if(num == 5) strcpy(newName, "fifty");
    else if(num == 6) strcpy(newName, "sixty");
    else if(num == 7) strcpy(newName, "seventy");
    else if(num == 8) strcpy(newName, "eighty");
    else strcpy(newName, "ninety");
    }
    void f_convers_3(char *newName, int num) {
    if(num == 0) strcpy(newName, "ten");
    else if(num == 1) strcpy(newName, "elewen");
    else if(num == 2) strcpy(newName, "twelve");
    else if(num == 3) strcpy(newName, "thirteen");
    else if(num == 4) strcpy(newName, "fourteen");
    else if(num == 5) strcpy(newName, "fifteen");
    else if(num == 6) strcpy(newName, "sixteen");
    else if(num == 7) strcpy(newName, "seventeen");
    else if(num == 8) strcpy(newName, "eighteen");
    else strcpy(newName, "nineteen");
    }

Leave a Reply

Your email address will not be published. Required fields are marked *