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

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

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

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

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

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

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

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

  1. ВРОДЕ ТАК…
    #include “pch.h”
    #include
    using namespace std;

    int main()
    {
    setlocale(LC_ALL,”RUS”);
    int a, b, c, d;
    cout << "Введите 2 числа" <> a >> b;
    cout << "Введите результат сложения двух чисел" <> d;
    c = a * b;

    if (d == c)
    {
    cout << "Отв Верн" << endl;
    }

    else if(d!=c)
    {
    cout << "Вы ввели не правильный ответ" << endl;
    cout << "Правильный ответ=" << c << endl;
    }
    }

  2. #include
    using namespace std;

    int main() {
    setlocale(LC_ALL, “russian”);
    int first = 0;
    int second = 0;
    int third= 0;
    int d = 0;
    cout <> first;
    cout <> second;
    cout <> d;
    third = first * second;
    if (d == third) {
    cout << "Ответ верный" << endl;

    }
    else if (d != third) {
    cout << "Ответ не правильный" << endl;
    cout << "Правильный ответ=" << third << endl;
    }
    system("pause");
    return 0;

  3. #include

    using namespace std;

    void main() {

    setlocale(LC_ALL, “ru”);

    int a = 0, b = 0, otvet = 0;

    cout << "Введите два числа\n" <> a;
    cout <> b;
    cout <> otvet;

    if (a*b == otvet)
    {
    cout << "\nВы ответили правильно. Произведение " << a << " и " << b << " будет равно " << a * b;
    }
    else if (a*b != otvet) {
    cout << "\nК сожалению, вы ответили неправильно. Результат произведения " << a << " и " << b << " будет равен " << a * b;
    }
    cout << "\n\n\n\n\n\n";
    }

  4. Про озвучивание четырехзначного числа:
    int main()
    {
    setlocale(LC_ALL, “rus”);
    SetConsoleCP(1251);
    SetConsoleOutputCP(1251);
    start :
    int ch,tus,sot,des,ed;
    cout < 9999: “;
    cin >> ch;
    if (ch > 9999)
    {
    cout << "Сказал же, не больше! ";
    goto start;
    }
    if (ch ==0)
    {
    cout << "Бомжара))\n";
    goto start;
    }
    if (ch <0)
    {
    cout << "Долги? Сочувствую)\n";
    goto start;
    }

    else
    {
    tus = ch / 1000;
    switch (tus)
    {
    case 1:
    cout << "Одна тысяча ";
    break;
    case 2:
    cout << "Две тысячи ";
    break;
    case 3:
    cout << "Три тысячи ";
    break;
    case 4:
    cout << "Четыре тысячи ";
    break;
    case 5:
    cout << "Пять тысяч ";
    break;
    case 6:
    cout << "Шесть тысяч ";
    break;
    case 7:
    cout << "Семь тысяч ";
    break;
    case 8:
    cout << "Восемь тысяч ";
    break;
    case 9:
    cout << "Девять тысяч ";
    break;
    case 0:
    cout << "";
    break;
    }
    sot = ch % 1000;
    sot /= 100;
    switch (sot)
    {
    case 1:
    cout << "сто ";
    break;
    case 2:
    cout << "двести ";
    break;
    case 3:
    cout << "триста ";
    break;
    case 4:
    cout << "четыреста ";
    break;
    case 5:
    cout << "пятьсот ";
    break;
    case 6:
    cout << "шестьсот ";
    break;
    case 7:
    cout << "семьсот ";
    break;
    case 8:
    cout << "восемьсот ";
    break;
    case 9:
    cout << "девятьсот ";
    break;
    case 0:
    cout << "";
    break;
    }

    des = ch % 1000;
    des = des % 100;
    des = des / 10;

    switch (des)
    {
    case 1:
    {
    des = ch % 1000;
    des = des % 100;
    if (des == 10)
    cout << "десять";
    if (des == 11)
    cout << "одинадцать долларов";
    if (des == 12)
    cout << "двенадцать долларов";
    if (des == 13)
    cout << "тринадцать долларов";
    if (des == 14)
    cout << "четырнадцать долларов";
    if (des == 15)
    cout << "пятнадцать долларов";
    if (des == 16)
    cout << "шестнадцать долларов";
    if (des == 17)
    cout << "семнадцать долларов";
    if (des == 18)
    cout << "восемнадцать долларов";
    if (des == 19)
    cout << "девятнадцать долларов";

    goto end;
    break;
    }
    case 2:
    cout << "двадцать ";
    break;
    case 3:
    cout << "тридцать ";
    break;
    case 4:
    cout << "сорок ";
    break;
    case 5:
    cout << "пятьдесят ";
    break;
    case 6:
    cout << "шестьдесят ";
    break;
    case 7:
    cout << "семьдесят ";
    break;
    case 8:
    cout << "восемьдесят ";
    break;
    case 9:
    cout << "девяносто ";
    break;
    case 0:
    cout << "";
    break;
    }
    ed = ch % 1000 % 100 % 10;
    switch (ed)
    {
    case 1:
    cout << "один доллар";
    break;
    case 2:
    cout << "два доллара";
    break;
    case 3:
    cout << "три доллара";
    break;
    case 4:
    cout << "четыре доллара";
    break;
    case 5:
    cout << "пять долларов";
    break;
    case 6:
    cout << "шесть долларов";
    break;
    case 7:
    cout << "семь долларов";
    break;
    case 8:
    cout << "восемь долларов";
    break;
    case 9:
    cout << "девять долларов";
    break;
    case 0:
    cout << "";
    break;
    }
    end:
    if (ch % 10 == 0) cout << " долларов";

    cout << ".\n";
    goto start;
    }
    }

      1. Что именно в остаче от деления тебя интересует ? Как оно применимо в этой задаче , или что?

    1. А если ты в этой программе к примеру 12 введешь, у тебя не выдаст ответ “двенадцать долларов два доллара”?

      1. Нет, не выдаст. На числа от 11 до 19 прописан отдельный код

    2. Жуткий говнокод. Еще и с выпендрежем таким каким-то детсадовским.
      Вот так это делается.
      #include

      using namespace std;

      int main()
      {
      setlocale(LC_ALL, “rus”);
      start:
      int sum = 0;
      cout << "Введите желаемую сумму снятия(до 9999): " <> sum;
      if (sum > 9999 || sum < 1)
      {
      cout << "Введена некорректная сумма. Попробуйте снова" <= 20)
      {
      a = sum % 10;
      }

      if (sum == 1)
      {
      cout << "Вы снимаете: " << sum << " доллар" << endl;
      }
      if (sum == 2 || sum == 3 || sum == 4)
      {
      cout << "Вы снимаете: " << sum << " доллара" << endl;
      }
      if (a == 0 || sum == 5 || sum == 6 || sum == 7 || sum == 8 || sum == 9 || sum == 10 || sum == 11 || sum == 12 || sum == 13 || sum == 14 || sum == 15 || sum == 16 || sum == 17 || sum == 18 || sum == 19)
      {
      cout << "Вы снимаете: " << sum << " долларов" << endl;
      }
      if (a == 5 || a == 6 || a == 7 || a == 8 || a == 9)
      {
      cout << "Вы снимаете: " << sum << " долларов" << endl;
      }
      if (a == 1)
      {
      cout << "Вы снимаете: " << sum << " доллар" << endl;
      }
      if (a == 2 || a == 3 || a == 4)
      {
      cout << "Вы снимаете: " << sum << " доллара" << endl;
      }

      system("pause");
      return 0;

      }

      1. Выпендрёж как раз у вас , с такой то формулировкой..
        Написал как мог, работает. Я только учусь. Все работает.
        Надеюсь вы своё чсв подняли. Удачи

      2. Эм.. у вас число прописью пишет, или int есть int? Хэх, столько понтоваться, и в конечном итоге обосраться…

  5. #include
    using namespace std;

    int main()
    {
    setlocale(LC_ALL,”RUS”);
    int a,b,c,d;
    cin>>a>>b;

    cout<>c;

    d=a*b;

    if(c==d)
    {
    cout<<"Ответ: "<<c<<" верный";
    }

    else
    {
    cout<<"Ответ: "<<c<<" не верный ответ"<<", правильный ответ: "<<d;
    }
    }

  6. int num1, num2, otvet;

    cout << "Программа для проверки таблицы умножения:" << endl;

    cout << "Введите первое число:" <> num1;
    cout << "Введите первое число:" <> num2;

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

    int variant1;
    variant1 = num1*num2;
    if (otvet == variant1){
    cout << "Вы ответили верно!!!!\n";
    }
    else if (otvet != variant1){
    cout << "Вы ответили не верно!!!!\n" <<
    "Правильный ответ : " << variant1 << endl;
    }

  7. #include
    using namespace std;

    int main()

    {
    setlocale(0, “”);
    int a, b, d;

    cout <> a;
    cout <> b;
    cout <> d;
    int c = a*b;
    if (d==c)
    {
    cout << "Овет верен." << endl;
    }
    else if (d != c) {
    cout << "Вы ввели неправильный ответ." << endl;
    cout << "Правильный ответ:" << c << endl;
    }
    system("pause");
    return 0;
    }

  8. #include
    #include
    #include
    #include

    using namespace std;

    int main() {
    int x;
    int y;
    int answer;
    int result;
    string iAm;
    cin >> x >> y;
    result = x* y;
    if (x > 10 || y > 10) {
    cout << "U sure u can do it ?-? (y/n)" <> iAm;
    if (iAm == “y”) {
    cout <> answer;
    if (answer == result) {
    cout << "Just lucky, you'll not get it next time ^-^";
    cout << "This time the answer is " << result;
    }else{
    cout << "Dont worry, it was complicated (naah it wasn't)" << endl;
    cout << "The RIGHT answer is " << result;
    }
    }else{
    if (iAm == "n") {
    cout <> answer;
    if (answer == result) {
    cout << "Just lucky, you'll not get it next time ^-^" << endl;
    cout << "This time the answer is " << result;
    }else{
    cout << "Back to 1st grade boy, ur wrong!!" << endl;
    cout << "The RIGHT answer is " << result;
    }
    }
    return 0;
    }

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

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