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

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

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

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

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

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

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

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

  1. Ниху*шеньки непонятно в 1-м задании.
    Как, бл*дь, 10 % 8 = 8, если % – это остаток от деления?!?!??!?!?!?!??!?!?!?!??!?!?
    И получаться должно 2, а не 8.

    1. Привет.Там делят по модулю на 10 везде. %10. а 8%10 будет таки восемь. есть даже онлайн калькулятор. смотри вот вводим например 700 он лазит лазит по коду пока не находит подходящее условие else if ((enterNumber / 100) % 10 == 7) cout << "семьсот "; 700делить на сто это семь а семь делить по модулю на 10 это семь условие выполнено

  2. #include
    using namespace std;
    int main()

    {
    setlocale(LC_ALL, “Russian”);

    cout << "Введите целое число " <> z;
    cout << "Введите второе целое число " <> a;
    int f = z * a;
    cout << " Cколько будет " << z << " умножить на " << a << "?" <> s;
    if (f == s)

    cout << " Результат верен ";

    else if (f != s)

    cout << " Результат не верен! " << z << " умножить на " << a << " равно " << f << endl;
    }

    1. Тут получается логическая ошибка т.к. не верный результат у вас еще раз проверяется на неверность. Зачем еще раз if если результат не верен то достаточно после else оставить вывод верного ответа.

  3. #include
    using namespace std;
    int main()
    {
    setlocale(LC_ALL, “Russian”);
    cout <> z;
    if (z == 1)
    cout << " Это большой\n";
    if (z == 2)
    cout << " Это указательный\n";
    if(z==3)
    cout << " Это средний\n";
    if (z == 4)
    cout << " Это безымянный\n";
    if (z == 5)
    cout < 5 || z < 1)
    cout << " Вы выбрали число не из предложенных\n";
    }

  4. #include
    #include
    using namespace std;
    int main() {
    setlocale(LC_ALL, “rus”);
    int a;
    string q;

    cout << "enter number 1-9999 " <> a;
    cout << "выдерите валюту (доллары(D), рубли(R), фунты(F)): " <> q;
    if (q == “D” || q == “R” || q == “F”)
    {

    if ((a / 1000) % 10 == 1) cout << "одна тясяча ";
    else if ((a / 1000) % 10 == 2) cout << "две тясячи ";
    else if ((a / 1000) % 10 == 3) cout << "три тясячи ";
    else if ((a / 1000) % 10 == 4) cout << "четыре тясячи ";
    else if ((a / 1000) % 10 == 5) cout << "пять тясячь ";
    else if ((a / 1000) % 10 == 6) cout << "шесть тясячь ";
    else if ((a / 1000) % 10 == 7) cout << "семь тясячь ";
    else if ((a / 1000) % 10 == 8) cout << "восемь тясячь ";
    else if ((a / 1000) % 10 == 9) cout << "девять тясячь ";

    if ((a / 100) % 10 == 1) cout << "сто ";
    else if ((a / 100) % 10 == 2) cout << "двести ";
    else if ((a / 100) % 10 == 3) cout << "триста ";
    else if ((a / 100) % 10 == 4) cout << "четыреста ";
    else if ((a / 100) % 10 == 5) cout << "пятьсот ";
    else if ((a / 100) % 10 == 6) cout << "шестьсот ";
    else if ((a / 100) % 10 == 7) cout << "семьсот ";
    else if ((a / 100) % 10 == 8) cout << "восемьсот ";
    else if ((a / 100) % 10 == 9) cout << "девятьсот ";

    if ((a / 10) % 10 == 2) cout << "двадцать ";
    else if ((a / 10) % 10 == 3) cout << "тридцать ";
    else if ((a / 10) % 10 == 4) cout << "сорок ";
    else if ((a / 10) % 10 == 5) cout << "пятьдесят ";
    else if ((a / 10) % 10 == 6) cout << "шестьдесят ";
    else if ((a / 10) % 10 == 7) cout << "семьдесят ";
    else if ((a / 10) % 10 == 8) cout << "восемдесят ";
    else if ((a / 10) % 10 == 9) cout <= 10 && a % 100 <= 19)
    {
    if (a % 100 == 11) cout << "одинадцать долларов ";
    else if (a % 100 == 12) cout << "двянадцать долларов ";
    else if (a % 100 == 13) cout << "тринадцать долларов ";
    else if (a % 100 == 14) cout << "четырнадцать долларов ";
    else if (a % 100 == 15) cout << "пятнадцать долларов ";
    else if (a % 100 == 16) cout << "шестнадцать долларов ";
    else if (a % 100 == 17) cout << "семнадцать долларов ";
    else if (a % 100 == 18) cout << "восемнадцать долларов ";
    else if (a % 100 == 19) cout << "девятнадцать долларов ";
    else if (a % 100 == 10) cout << "десять долларов ";
    }
    else
    {
    if (a % 10 == 1) cout << "один доллар ";
    else if (a % 10 == 2) cout << "два доллара ";
    else if (a % 10 == 3) cout << "три доллара ";
    else if (a % 10 == 4) cout << "четыре доллара ";
    else if (a % 10 == 5) cout << "пять долларов ";
    else if (a % 10 == 6) cout << "шесть долларов ";
    else if (a % 10 == 7) cout << "семь долларов ";
    else if (a % 10 == 8) cout << "восемь долларов ";
    else if (a % 10 == 9) cout << "девять долларов ";
    else cout <= 10 && a % 100 <= 19)
    {
    if (a % 100 == 11) cout << "одинадцать рублей ";
    else if (a % 100 == 12) cout << "двянадцать рублей ";
    else if (a % 100 == 13) cout << "тринадцать рублей ";
    else if (a % 100 == 14) cout << "четырнадцать рублей ";
    else if (a % 100 == 15) cout << "пятнадцать рублей ";
    else if (a % 100 == 16) cout << "шестнадцать рублей ";
    else if (a % 100 == 17) cout << "семнадцать рублей ";
    else if (a % 100 == 18) cout << "восемнадцать рублей ";
    else if (a % 100 == 19) cout << "девятнадцать рублей ";
    else if (a % 100 == 10) cout << "десять рублей ";
    }
    else
    {
    if (a % 10 == 1) cout << "один рубль ";
    else if (a % 10 == 2) cout << "два рубля ";
    else if (a % 10 == 3) cout << "три рубля ";
    else if (a % 10 == 4) cout << "четыре рубля ";
    else if (a % 10 == 5) cout << "пять рублей ";
    else if (a % 10 == 6) cout << "шесть рублей ";
    else if (a % 10 == 7) cout << "семь рублей ";
    else if (a % 10 == 8) cout << "восемь рублей ";
    else if (a % 10 == 9) cout << "девять рублей ";
    else cout <= 10 && a % 100 <= 19)
    {
    if (a % 100 == 11) cout << "одинадцать фунтов ";
    else if (a % 100 == 12) cout << "двянадцать фунтов ";
    else if (a % 100 == 13) cout << "тринадцать фунтов ";
    else if (a % 100 == 14) cout << "четырнадцать фунтов ";
    else if (a % 100 == 15) cout << "пятнадцать фунтов ";
    else if (a % 100 == 16) cout << "шестнадцать фунтов ";
    else if (a % 100 == 17) cout << "семнадцать фунтов ";
    else if (a % 100 == 18) cout << "восемнадцать фунтов ";
    else if (a % 100 == 19) cout << "девятнадцать фунтов ";
    else if (a % 100 == 10) cout << "десять фунтов ";
    }
    else
    {
    if (a % 10 == 1) cout << "один фунт ";
    else if (a % 10 == 2) cout << "два фунта ";
    else if (a % 10 == 3) cout << "три фунта ";
    else if (a % 10 == 4) cout << "четыре фунта ";
    else if (a % 10 == 5) cout << "пять фунтов ";
    else if (a % 10 == 6) cout << "шесть фунтов ";
    else if (a % 10 == 7) cout << "семь фунтов ";
    else if (a % 10 == 8) cout << "восемь фунтов ";
    else if (a % 10 == 9) cout << "девять фунтов ";
    else cout << "фунтов";
    }
    }
    }
    else cout << "валюта выбрана не правильно";

    return 0;
    }

  5. #include
    using namespace std;

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

    int a = 0;
    int b = 0;
    int c = 0;
    int d = 0;
    cout << "проверьте себя на знание таблицы умножения" << endl;
    cout << "введите первоее число" <> a;
    if (a 10) {
    cout << "вы ввели число вне диапазона" << endl;
    }
    else

    cout << "введите второе число" <> b;
    if (b 10)

    cout << "вы ввели число вне диапазона" << endl;
    else

    cout << "введите ваш ответ " <> d;
    c = a * b;
    if (d == c)
    cout << "правильно! ответ " << d << endl;
    else
    cout << "не верно! результат умножения " << a << " на " << b << " – " << c << endl;

    return 0;
    }

    подскажите пожалуйста как написать код чтобы после написания числа вне диапазона или допустим после завершения программы мог начать сначала?

    1. #include
      #include
      using namespace std;

      int main(int argc, char *argv[])
      {
      int a, b, c, d;

      cout << "Умножение проверь себя" <> a;
      cin >> b;
      c = a*b;
      cout <> d;
      if(d == c){
      cout << c << "Правильно!";

      }else{
      cout << "неправильно";
      }
      }

    2. Попробуй оператор goto,либо масив чтобы начать сначала.
      Диапазон и завершения программы проверяй через if else либо switch case

      1. Не масив,а цикл.
        Пишу быстрее чем думаю :)

  6. setlocale(LC_ALL, “rus”);
    int number1, number2, number3,sum;
    cout << "Введите число 1" <> number1;
    cout << "Введите число 2" <> number2;
    sum = (number1 * number2);

    cout << "Введите произведение двух чисел:" <> number3;

    if ((number1 * number2) == number3)
    cout << "Результат верен" << endl;
    else
    cout << "Результат не верен"<< " " << "правильный ответ = " << sum << endl;

  7. #include
    #include
    using namespace std;

    int main(int argc, char *argv[])
    {
    int a, b, c, d;

    cout << "Умножение проверь себя" <> a;
    cin >> b;
    c = a*b;
    cout <> d;
    if(d == c){
    cout << c << "Правильно!";

    }else{
    cout << "неправильно";
    }
    }

  8. #include
    using namespace std;
    int main()
    {
    setlocale(LC_ALL, “rus”);
    char a;
    cout <> a;
    switch (a)
    {
    case ‘1’:
    cout << "Большой" << endl;
    break;
    case '2':
    cout << "Указательный" << endl;
    break;
    case '3':
    cout << "Средний" << endl;
    break;
    case '4':
    cout << "безымянный" << endl;
    break;
    case '5':
    cout << "Мизинец" << endl;
    break;

    default:
    cout << "Ощибка" << endl;
    }

    system("pause");
    return 0;
    }

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

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