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

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

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

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

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

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

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

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

  1. [code]
    #include
    using namespace std;
    int main()
    {

    setlocale(LC_ALL, “rus”);
    int ival1 = 0;
    int ival2 = 0;
    int ival3 = 0;
    cout << "введите 2 числа и 3е—результат умножения:"
    cin >> ival1;
    cin >> ival2;
    cin >> ival3;
    if (ival1*ival2 == ival3)
    cout << "замечательно умножаете!!!";
    else
    cout << "тут ошибка!!!";
    }
    [/code]

    1. Это конечно замечательно, но в задачи сказано: Пользователь сам вводит два целых однозначных числа. Однозначных, а вы выполнили программу в которой можно вводить любые числа, необходимо добавить цикл на проверку введеных чисел на количество знаков. В таблице умножение от 1 до 9

      1. Как то так….
        [code]
        #include
        using namespace std;

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

        int number1 = 0;
        int number2 = 0;
        int result = 0;

        cout <> number1;
        if ((number1 >0) && (number1 <10))
        {
        cout <> number2;
        if ((number2 >0) && (number2 <10))
        {
        cout << "Result " << number1 << "*" << number2 <> result;
        int goodResult = 0;
        goodResult = number1 * number2;
        if (goodResult == result)
        cout << "Perfect" << endl;
        else
        cout << "Error " << number1 << "*" << number2 << "=" << number1*number2 << endl;
        }
        else
        cout << "Fuck you need to 1 – 9" << endl;
        }
        else
        cout << "Fuck you need to 1 – 9" << endl;

        return 0;
        }
        [/code]

  2. 2 задача

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

    #include
    using namespace std;

    int main()
    {
    setlocale(LC_ALL, “Rus”);
    int number;
    cout << "Введите номер пальца"
    cin >> number;
    if (number = 6)
    cout << "Вы ввели неверный номер!" << endl;
    else
    {
    if (number == 1) cout << "Большой палец" << endl;
    else if (number == 2) cout << "Указательный палец" << endl;
    else if (number == 3) cout << "Средний палец" << endl;
    else if (number == 4) cout << "Безымяный палец" << endl;
    else if (number == 5) cout << "Мезинец палец" << endl;
    }
    system("pause");
    return 0;
    }
    [/code]

  3. Жду советы и правки от профи :

    #include
    using namespace std;

    int main()
    {
    setlocale(LC_ALL, “russian”);
    int first = 0;
    int second = 0;
    int third;

    do {
    cout << "Введите два однозначных числа (0 для выхода)\n";
    cout <> first;
    if(first == 0) return 0;
    cout <> second;

    while(first != second) {
    cout << "Числа не однозначны!\n";
    cout <> first;
    if(first == 0) return 0;
    cout <> second; }

    cout <> third;

    if(first * second == third)
    cout << "Правильно!\n";
    else cout << "Неправильно!\n" << "Правильный вариант ответа: " << first * second << "\n";
    } while (third != 0);

    return 0;
    system("pause");

    }

  4. По поводу первой задачи. Я в жизни бы не додумался такое сделать. Открыв решение, все понял, но как самому до этого додуматься это вопрос. Вообще с чего начинать, вроде в программировании есть такое понятие как блок-схема, я просто слышал об этом. но не знаю как это применять. С остальными задачами вопросов не возникло, все довольно просто.

  5. К первому заданию: текст тысяч либо с маленькой буквы, либо усложнять и автоматически менять на сотнях, десятках и единицах.

  6. #include

    using namespace std;

    int main()
    {
    cout << "\t\t***tabl_umNojeNia***\n\n"<< endl;

    int a, b, res;

    cout <> a >> b;

    if (a > 10 || a < 2)
    {
    cout < 10 || b < 2)
    {
    cout << " error! \n";
    return -1;
    }

    cout <> res;

    int i;

    i = a*b;

    if (res > i || res < i)
    {
    cout << "incorrect answer!!!\n " << i;
    }

    if (res = i)
    {
    cout << " correct answer)";
    }

    return 0;
    }

  7. #include
    #include
    using namespace std;

    int main()
    {
    setlocale(LC_ALL, “rus”);
    int a, b, c, d, e;
    cout << "Ââåäèòå ïåðâóþ öèôðó: " <> a;
    cout << "Ââåäèòå âòîðóþ öèôðó: " <> b;
    cout << "Íàçîâèòå êàêîâ ðåçóëüòàò: " <> c;
    d = a * b;
    if (c !=d)
    {
    cout << "Âàø îòâåò íå âåðíûé ìóäàê!!!" << endl;
    cout << "Íàæìè íà êíîïêó ÷òîáû óçíàòü ïðàâèëüíûé îòâåò " <> e;
    cout << "Âàø îòâåò ðàâåí: " << d << endl;
    }
    else if (c==d)
    {
    cout << "Âû ââåëè ïðàâèëüíûé îòâåò, îäèí õóé òû ìóäàê!!! " << endl;
    cout << "Âàø îòâåò ðàâåí: " << d << endl;
    }

    return 0;
    }

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

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