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

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

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

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

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

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

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

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

  1. Спасибо за задания. Начал делать задачу (про 0-9999) и вот заткнулся на проверки ввода данных – хочется все сразу красиво сделать)

    Делал это интуитивно, баловался и вроде работает нормально.
    Можете подробно объяснить, что конкретно делают эти команды или кинуть ссылки про потоки с внятным объяснением (проверял что они выводят, смотрел на различия и т.д.).
    А именно: cin.clear(); cin.ignore();in_avail();cin.get();cin.fail(). и что можно писать внутри скобок? И еще “->” – тоже не совсем понятно(то что он возвращает что то вроде, но вот как он работает?)

  2. Вот:

  3. int n;
    bool success = false;
    while (success == false)
    {
    cout <> n;
    if ((n >= 0) && (n in_avail()) == 1)
    {
    cout <in_avail()); //удаляем символы в буфере
    }
    else
    {
    cout << "\nВ вашем числе присутсвуют едопустимые символы.\nПопробуйте еще раз." <in_avail()); //удаляем символы в буфере
    }
    }

  4. Почему-то при выводе правдивого ответа он вылазит дважды (задача без ответа – кода):

    #include
    #include

    using namespace std;

    int main() {
    int a, b, c, d;

    cout << "Enter a" <> a;
    cout << "Enter b" <> b;
    cout << a << " * " << b << " = " << "result" << endl;
    cout << "Enter result :" <> c;
    d = a * b;

    if(c == a * b) {
    cout << "You're right :" << endl;
    cout << a << " * " << b << " = " << d << endl;
    } else
    cout << "You are mistaken :" << endl;
    cout << a << " * " << b << " = " << d << endl;

    cin.get();
    return 0;
    }

  5. А то, что юзер должен ввести ОДНОЗНАЧНЫЕ ЧИСЛА никого не смущает? Все просто мимо эту проверку пропускают.

    1. Необходимо написать программу проверки не вхождения введенного числа в диапазоне от – 5 до – 1. Поможете? C++

  6. Задачу 3 я решил так:

  7. Когда исправил все ошибки прога заработала с первого раза.
    Если у кого-то возникают проблемы с решением 3-ей задачи вот пример моего кода:

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

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