Основы программирования на С++ для начинающих

Задачи: операторы выбора if и else в С++

После прочтения урока об операторах выбора if и else, переходим к практике. Как обычно, прошу вас постараться решать все задания самостоятельно, и только потом смотреть на предложенное нами решение.

1. Первая задача интересная и достаточно простая. Но код получится длинным. Эту задачу придумали наши преподаватели из компьютерной академии. Идея была такая – как бы заставить начинающих студентов  помучиться с написанием кода, чтобы писанины было побольше )))  Задание: Пользователь вводит число от 1 до 9999 (сумму выдачи в банкомате). Необходимо вывести на экран словами введенную сумму и в конце написать название валюты с правильным окончанием. Например: 7431 – семь тысяч четыреста тридцать один доллар, 2149 – две тысячи сто сорок девять долларов, 15 – пятнадцать долларов, 3 – три доллара. Для решения этой задачи вам необходимо будет применять оператор % (остаток от деления). Почитать о нем можно в статье Арифметические операции в C++  . Приступайте!

2.  Пользователь вводит порядковый номер пальца руки. Необходимо показать его название на экран.

 3. Еще одна задача для самостоятельно решения.  Необходимо написать программу, которая проверяет пользователя на знание таблицы умножения. Пользователь сам вводит два целых однозначных числа. Программа задаёт вопрос: результат умножения первого числа на второе.  Пользователь должен ввести ответ и увидеть на экране правильно он ответил или нет. Если нет  – показать еще и правильный результат.

Кто не справляется – задавайте вопросы в комментариях.

369 thoughts on “Задачи: операторы выбора if и else в С++


  1. #include
    #include

    using namespace std;

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

    int sum = 0, a = 0, b = 0, c = 0, d = 0;

    cout <> sum;

    //Проверка на ввод корректной суммы
    if ((sum > 9999) || (sum <= 0))
    cout << "\aВведено некорректное значение" <= 1000)//первый разряд - тысячи
    {
    a = sum / 1000;
    sum -= a * 1000;
    }
    if (sum >= 100)//Второй разряд - сотни
    {
    b = sum / 100;
    sum -= b * 100;
    }
    if (sum >=10 )//Третий и четвертый разряд - десятки и еденицы
    c = sum / 10;
    d = sum - c * 10;

    //Вывод на экран числа прописью
    if (a != 0)//Вывод тысяч
    {
    if (a == 9)
    cout << "девять тысячь ";
    if (a == 8)
    cout << "восемь тысячь ";
    if (a == 7)
    cout << "семь тысячь ";
    if (a == 6)
    cout << "шесть тысячь ";
    if (a == 5)
    cout << "пять тысячь ";
    if (a == 4)
    cout << "четыре тысячи ";
    if (a == 3)
    cout << "три тысячи ";
    if (a == 2)
    cout << "две тысячи ";
    if (a == 1)
    cout << "тысяча ";
    if (((b == 0) && (c == 0)) && (d == 0))
    cout << "долларов";
    }
    if ( b != 0)//Вывод сотен 200-900
    {
    if (b == 9)
    cout << "девятьсот ";
    if (b == 8)
    cout << "восемьсот ";
    if (b == 7)
    cout << "семьсот ";
    if (b == 6)
    cout << "шестьсот ";
    if (b == 5)
    cout << "пятьсот ";
    if (b == 4)
    cout << "четыреста ";
    if (b == 3)
    cout << "триста ";
    if (b == 2)
    cout << "двести ";
    if (b == 1)
    cout << "сто ";
    }
    if (c != 0)//вывод десятков 20-90
    {
    if (c == 9)
    cout << "девяносто ";
    if (c == 8)
    cout << "восемдесят ";
    if (c == 7)
    cout << "семдесят ";
    if (c == 6)
    cout << "шестдесят ";
    if (c == 5)
    cout << "пятдесят ";
    if (c == 4)
    cout << "сорок ";
    if (c == 3)
    cout << "тридцать ";
    if (c == 2)
    cout <= 10))//вывод если 10-19
    {
    if (sum == 19)
    cout << "девятадцать ";
    if (sum == 18)
    cout << "восемнадцать ";
    if (sum == 17)
    cout << "семнадцать ";
    if (sum == 16)
    cout << "шестнадцать ";
    if (sum == 15)
    cout << "пятнадцать ";
    if (sum == 14)
    cout << "четырнадцать ";
    if (sum == 13)
    cout << "тринадцать ";
    if (sum == 12)
    cout << "двенадцать ";
    if (sum == 11)
    cout << "одинадцать ";
    if (sum == 10)
    cout < 0) && (c != 1))//вывод единиц, если они есть, и если десятки не равны единице
    {
    if (d == 9)
    cout << "девять долларов";
    if (d == 8)
    cout << "восемь долларов";
    if (d == 7)
    cout << "семь долларов";
    if (d == 6)
    cout << "шесть долларов";
    if (d == 5)
    cout << "пять долларов";
    if (d == 4)
    cout << "четыре доллара";
    if (d == 3)
    cout << "три доллара";
    if (d == 2)
    cout << "два доллара";
    if (d == 1)
    cout << "один доллар";
    }
    if ((d == 0) || (c ==1))
    cout << "долларов";
    }
    //cout << endl << a <<" " << b << " " << c << " " << d << endl;
    //cout << sum << endl;

    getch ();
    return 0;
    }

      1. никак не могу поправить код, который выложил
        не отображает:
        cout введите сумму от 0-9999
        cin – sum
        вместо этого пишет : cout – summ

      2. Тэги этого сайта заключаются в угловые скобки. Поэтому всё от 1-й скобки перенаправления cout до 1-й скобки в cin он (форум) “съедает”.

  2. Решение третьей задачи на C#.

    using System;

    namespace proizvNum
    {
    class Program
    {
    static void Main()
    {
    int a, b, c, d;
    Console.Write(“Введите число А: “);
    a = Convert.ToInt32(Console.ReadLine());
    Console.Write(“Введите число Б: “);
    b = Convert.ToInt32(Console.ReadLine());
    c = a * b;
    Console.Write(“Как думаете, произведение А * Б = “);
    d = Convert.ToInt32(Console.ReadLine());
    if (d == c)
    {
    Console.WriteLine(“Правильно!”);
    }
    else
    {
    Console.WriteLine(“Не верно! Ваш ответ: ” + d + “, а правильный ответ: ” + c);
    }
    Console.WriteLine(“Для выхода нажмите любую клавишу. . .”);
    Console.ReadKey();
    }
    }
    }

    1. А зачем кому нужен (здесь) C#, если здесь все обсуждения касаются C++?

      P.S. C# – это инструментарий ограниченной применимости и только исключительно в пределах операционной системы Windows. Это гораздо более ограниченный инструментарий чем C++.

  3. Здравствуйте, столкнулся с такой проблемой.В консоли пишет:”””c:\users\kamo.by admin\documents\visual studio 2013\Projects\Введите\Debug\Введите.exe”” не является внутренней или внешней
    командой, исполняемой программой или пакетным файлом.
    Для продолжения нажмите любую клавишу . . .”

    Вот код программы
    #include
    using namespace std;

    int main()
    {
    setlocale(LC_ALL, “rus”);

    int Chislo(0);
    cout <> Chislo;

    if (Chislo 9999);
    cout << "Число не входит в диапазон от 1 до 9999\n";
    else if
    cout << "Вы ввели:";
    if ((Chislo / 1000) % 10 == 1) cout << "Одна тысяча";
    else if ((Chislo / 1000) % 10 == 2) cout << "Две тысячи";
    else if ((Chislo / 1000) % 10 == 3) cout << "Три тысячи";
    else if ((Chislo / 1000) % 10 == 4) cout << "Четыре тысячи";
    else if ((Chislo / 1000) % 10 == 5) cout << "Пять тысяч";
    else if ((Chislo / 1000) % 10 == 6) cout << "Шесть тысяч";
    else if ((Chislo / 1000) % 10 == 7) cout << "Семь тысяч";
    else if ((Chislo / 1000) % 10 == 8) cout << "Восемь тысяч";
    else if ((Chislo / 1000) % 10 == 9) cout << "Девять тысяч";

    if ((Chislo / 100) % 10 == 1) cout << "Сто";
    else if ((Chislo / 100) % 10 == 2) cout << "Двести";
    else if ((Chislo / 100) % 10 == 3) cout << "Триста";
    else if ((Chislo / 100) % 10 == 4) cout << "Четыреста";
    else if ((Chislo / 100) % 10 == 5) cout << "Пятьсот";
    else if ((Chislo / 100) % 10 == 6) cout << "Шестьсот";
    else if ((Chislo / 100) % 10 == 7) cout << "Семьсот";
    else if ((Chislo / 100) % 10 == 8) cout << "Восемьсот";
    else if ((Chislo / 100) % 10 == 9) cout << "Девятьсот";

    if ((Chislo / 10) % 10 == 1)
    {
    if (Chislo % 10 == 0) cout << "Десять долларов";
    else if (Chislo % 10 == 1) cout << "Одинадцать долларов";
    else if (Chislo % 10 == 2) cout << "Двенадцать долларов";
    else if (Chislo % 10 == 3) cout << "Тренадцать долларов";
    else if (Chislo % 10 == 4) cout << "Четырандцать долларов";
    else if (Chislo % 10 == 5) cout << "Петандцать долларов";
    else if (Chislo % 10 == 6) cout << "Шестнадцать долларов";
    else if (Chislo % 10 == 7) cout << "Семнадцать долларов";
    else if (Chislo % 10 == 8) cout << "Восемнадцать долларов";
    else if (Chislo % 10 == 9) cout << "Девятнадцать долларов";
    }

    if ((Chislo / 10) % 10 == 2) cout << "Двадцать";
    else if ((Chislo / 10) % 10 == 3) cout << "Тридцать";
    else if ((Chislo / 10) % 10 == 4) cout << "Сорок";
    else if ((Chislo / 10) % 10 == 5) cout << "Пятьдесят";
    else if ((Chislo / 10) % 10 == 6) cout << "Шестьсот";
    else if ((Chislo / 10) % 10 == 7) cout << "Семьсот";
    else if ((Chislo / 10) % 10 == 8) cout << "Восемьсот";
    else if ((Chislo / 10) % 10 == 9) cout << "Девятьсот";

    if (Chislo % 10 == 0)Cout << "Доларов";
    else if (Chislo % 10 == 1)Cout << "Один доллар";
    else if (Chislo % 10 == 1)Cout << "Два доллара";
    else if (Chislo % 10 == 1)Cout << "Три доллара";
    else if (Chislo % 10 == 1)Cout << "Четыре доллара";
    else if (Chislo % 10 == 1)Cout << "Пять долларов";
    else if (Chislo % 10 == 1)Cout << "Шесть долларов";
    else if (Chislo % 10 == 1)Cout << "Семь долларов";
    else if (Chislo % 10 == 1)Cout << "Восемь долларов";
    else if (Chislo % 10 == 1)Cout << "Девять долларов";

    return(0);
    }
    и компилируется она успешно

    1. Прошу прощение за то, что зря побеспокоил, допустил кучу ошибок, думал , что эта надпись в консоли не из-за не правильного написания кода, и пока три раза не попробовал пересоздать проект этот код компилировался, и только на третий раз он мне показал мои ошибки.
      Спасибо за уроки.=)

  4. Здравствуйте.
    Не понимаю как написать код к 3-й задаче.
    Вот часть кода:
    int main()
    {
    setlocale(LC_ALL, “.1251”);

    bool proizvedenie = 0;
    int otvet = 0;

    cout <> proizvedenie;

    —> cout <> otvet; <— Вот эту часть кода он читает, но не даёт ввести ответ.

    Подскажите пожалуйста почему? Или что я делаю не так?

  5. void main(){
    int FirstNumber, SecondNumber, Answer, Value;
    FirstNumber = SecondNumber = Answer = Value = 0;
    cout <> FirstNumber;
    cout <> SecondNumber;
    cout <> Answer;
    Value = FirstNumber * SecondNumber;
    if (Value != Answer) cout << "False " << "True: " << Value;
    else cout << "True";
    _getch();
    }

  6. решение к задачи №3

    #include “stdafx.h”
    #include
    using namespace std;

    int _tmain(int argc, _TCHAR* argv[])
    {
    setlocale (0,””);

    int a, b, sum;
    int y;
    do{
    cout <<endl;
    cout <> a;
    cout <<endl;
    cout <> b;
    cout <<endl;

    cout <> sum;
    cout <<endl;

    if ( sum == (a * b))
    {
    cout << " Поздравляем это правильный ответ ! " ;
    }
    else
    {
    cout << " Это не правильно!\n";
    cout <<endl;
    cout << " Правильный ответ равен: "<< a*b ;
    cout <<endl;

    }
    cout <<endl<<endl;
    cout << " Для продолжения нажмите 1:\n" <<endl<> y) && (y != 0) );

    cout <<endl<<endl;
    return 0;
    }

    1. Уважаемый David! … И все другие посетители сайта! … Здесь и во всех других темах!

      Не пишите своих решений задач в ответах!
      На этом сайте очень трудно форматировать код C++, а в комментариях его форматировать практически невозможно.

      Ваш не форматированный C++ код примеров всё-равно никто не станет читать!

      1. Спасибо все ясно, больше не буду, у вас очень хороший сайт, много полезного!

  7. 2я задача

    #include
    #include
    using namespace std;

    int main()
    {
    setlocale(LC_CTYPE, "rus");
    int a = 0;

    cout <> a;
    if (a == 1) cout << "Мизинец\n";
    else if (a == 2) cout << "Безымянный\n";
    else if (a == 3) cout << "Указательный\n";
    else if (a == 4) cout << "Указательный\n";
    else if (a == 5) cout << "Большой\n";
    else cout << "Введите номер\n";

    system("pause");
    return main();
    }

  8. 3я задача

    #include "stdafx.h"
    #include
    #include
    using namespace std;

    int main()
    {
    setlocale(LC_ALL, "rus");
    cout << "Программа проверки знания таблицы умножения!\n\n";

    int a,b,c;
    cout <> a;
    cout <> b;

    cout << "Какой будет результат умножения " << " " << a << "x" << b << "?\n\n";
    cout <> c;

    if (a*b == c) cout << "Ответ правельный! \n\n";
    else {
    cout << "Ответ не правельный:(\n\n";
    cout << "Правельный ответ будет - " << a*b << "\n\n";

    }

    system("pause");
    return main();
    }

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *