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

Задачи: арифметические операции в С++

Если вы уже прочитали статью Арифметические операции в С++ можно приступать к практике.

1. Распространённая задача:  Дано четырехзначное число (к примеру 5678), вывести на экран  в обратном порядке цифры из которых это число состоит. То есть мы должны увидеть на экране 8765. Подсказка: чтобы взять из числа отдельные цифры, надо применять  деление по модулю на 10.

2. На сайте практически любого коммерческого банка, можно встретить так называемый Депозитный калькулятор, который позволяет людям, не желающим углубляться в формулы расчета процентных ставок, узнать какую прибыль они получат. Для этого им достаточно заполнить определённые поля, нажать на кнопку и увидеть результат. Это простая программа, которую уже сможет написать каждый из вас. Итак, задача: Пользователь вводит сумму депозита и количество месяцев хранения денег в банке. Необходимо провести расчет и показать на экран прибыль с депозита в месяц,  за весь срок депозита, и общую сумму к выплате в конце срока.  Валюта пусть будет – доллар США. Процентная ставка – 5% годовых.  Формула  расчета  процентов  в  месяц    –                      СуммаДепозита * (ПроцентнаяСтавка / 100)  / ДнейВГоду * ДнейВМесяце.

Возможно у вас возникли вопросы по решению задач – задавайте их в комментариях!

151 thoughts on “Задачи: арифметические операции в С++

  1. Первое задание делается легко с помощью цикла:

    #include
    using namespace std;
    int main ()
    {
    setlocale(LC_ALL, "Russian");
    cout << a;
    for (int i = 0; i < 4; i++)
    {
    cout << a % 10;
    a /= 10;
    }
    cout << endl;
    system("pause");
    return 0;
    }

    1. #include

      using namespace std;
      int main ()
      {
      int a;
      setlocale(LC_ALL, “Russian”);
      cin>> a;
      for (int i = 0; i < 4; i++)
      {
      cout << a % 10;
      a /= 10;
      }
      cout << endl;
      system("pause");
      return 0;
      }

  2. Немного переделал код задачки №1…нам ведь не просто надо по одной, на оборот вывести на экран цифры числа, а перевернуть число чтобы можно было им дальше пользоваться…если конечно правильно понял.

  3. Мой вариант решения задач


    #include
    #include
    #define line cout << "---------------------------------------" << endl
    #define taskcls system("cls");

    using namespace std;

    int main()
    {
    setlocale(0, "russian");

    /* 1 задача */
    cout << "1 задача" << endl;
    int enteredNumber;
    cout << enteredNumber; // вводим число
    if(enteredNumber >= 10000) // проверка числа на четырехзначность
    {
    cout << "Введенное значение не является четырехзначным!\n";
    cout << enteredNumber;
    }
    int temp1, temp2, temp3, temp4;
    temp1 = enteredNumber % 10;
    temp2 = enteredNumber / 10 % 10;
    temp3 = enteredNumber / 100 % 10;
    temp4 = enteredNumber / 1000 % 10;

    cout << "Число в обратно порядке: " << temp1 << temp2 << temp3 << temp4;
    cout << endl;
    system("pause");
    taskcls;

    /* 2 задача */
    cout << "2 задача" << endl;
    double deposit, profit;
    int months;
    cout << deposit;
    taskcls;
    cout << months;
    taskcls;
    profit = deposit * (5.0 / 100.0) / 365.0 * 30.0;
    cout << "Прибыль в месяц, при депозите в " << deposit << " USD составит: " << profit << " USD\n";
    profit *= months; // проценты
    line;
    cout << "Проценты: " << profit << endl;
    line;
    cout << "Общая прибыль: " << deposit + profit;

    _getch();
    return 0;
    }

  4. #include
    using namespace std;

    int main()
    { setlocale(0, "");
    double sum_depozita = 0;
    double month = 0;
    const double prozent_stavk = 7;
    const double day_in_gody = 365;
    double day_in_month;
    cout << sum_depozita;
    cout << month;
    cout << day_in_month;
    double deneg_in_month = sum_depozita * (prozent_stavk / 100) / day_in_gody * day_in_month;
    cout <<"Денег в месяц: " << deneg_in_month << endl;
    double deneg_vsego = deneg_in_month * month;
    cout <<"Всего за все месяцы денег: " << deneg_vsego << endl;
    return 0;
    }

  5. Блин, первый коммент можете удалить.
    Я не знаю почему или так и должно быть но ваш код считает что если сумма вложения 100$, а процент в год 100% и срок 12 получется прибыль 98$.
    Я вот сделал, посмотрите у меня получется все верно!

  6. #include
    using namespace std;
    int main()
    {
    int sum, a, b, c, e;

    cout <> sum ;

    a = sum / 1000;
    b = (sum – a * 1000 )/ 100;
    c = (sum – a * 1000 – b * 100 ) / 10;
    e = (sum – a * 1000 – b * 100 – c * 10 ) / 1;

    cout << e << c << b << a << endl;
    return 0;
    }

  7. К сожалению, не знаю, как добавлять код в специальную форму, как делаете вы, так что про скопирую. Делаю только первые шаги в программировании, выбрал с++ как сложный, фундаментальный, а главное интересный язык. Надеюсь, что огонек интереса не потухнет на сложностях, и я научусь делать что-то действительно полезное.
    P.S У меня, кстати по данным 1000 usd через 12 месяцев получается ровно 1050. Ставка то, годовая, и количество дней в году тут роли не играет совсем, по крайней мере, в условии такого не сказано. С удовольствием выслушаю любые замечания и предложения по листингу.

    #include
    using namespace std;

    int main()
    {
    setlocale(LC_ALL, “rus”);
    float sumOfDeposite;
    int termOfSave;
    cout << "Введите сумму, которую вы хотите положить на депозит, usd" <> sumOfDeposite;
    cout << "Введите срок депозита (месяцев)" <> termOfSave;

    float profitPerMonth, allProfit, maxSum, depRate = 0.05;

    profitPerMonth = sumOfDeposite * depRate;
    profitPerMonth /= 12;
    cout << "Ваша прибыль: " << profitPerMonth << " usd в месяц " << endl;
    allProfit = profitPerMonth * termOfSave;
    cout << "Прибыль за весь срок действия депозита: " << allProfit << " usd " << endl;
    maxSum = sumOfDeposite + allProfit;
    cout << "Общая сумма через " << termOfSave << " месяцев(a): " << maxSum << " usd " << endl;

    system ("pause");
    return 0;
    }

  8. вроде так легче :D
    #include
    using namespace std;

    int main(){

    long long int number = 0;

    cout <> number; // вводим цифру

    do{
    cout << number % 10 << " ";
    number = number / 10;
    } while (number % 10 != 0);

    system("pause");

    return 0;
    }

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

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