Форум программистов, компьютерный форум CyberForum.ru

Задача с использованием цикла for - C++

Восстановить пароль Регистрация
 
D_bl_M
 Аватар для D_bl_M
25 / 25 / 1
Регистрация: 25.03.2012
Сообщений: 129
02.11.2012, 15:00     Задача с использованием цикла for #1
Добрый день!
Требуется совет, учу по книге Луфоре...
Есть задача:
7. Напишите программу, рассчитывающую сумму денег, которые вы получи-
те при вложении начальной суммы с фиксированной процентной ставкой
дохода через определенное количество лет. Пользователь должен вводить
с клавиатуры начальный вклад, число лет и процентную ставку. Приме-
ром результата работы программы может быть следующий:
Введите начальный вклад: 3000
Введите число лет: 10
Введите процентную ставку: 5.5
Через 10 лет вы получите 5124.43 доллара.
В конце первого года вы получите 3 000 + (3 000*0.055) = 3165 долларов.
В конце следующего года вы получите 3 165 + (3 165*0.055) = 3339.08 дол-
ларов. Подобные вычисления удобно производить с помощью цикла for.
вот моё так сказать решение:
Кликните здесь для просмотра всего текста

C++ (Qt)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
#include <iostream>
 
//using namespace std;
using std::cout;
using std::cin;
using std::endl;
 
int main()
{
    double contrib;
    cout << "Enter the initial contribution: ";
    cin >> contrib;
    cout << endl;
 
    double period;
    cout << "Enter the number of years: ";
    cin >> period;
    cout << endl;
 
    double rate;
    cout << "Enter interest: ";
    cin >> rate;
    cout << endl;
 
    //double total;
    double sirate;
    sirate = rate / 100;
    for (int i = 1; i <= 10; ++i)
    {       
        contrib += (contrib * sirate);
 
        cout << "After 10 years? you get: " << contrib;
        cout << endl;
    }
 
    return 0;
}

И тут вопрос, как сделать вот это:
В конце первого года вы получите 3165 долларов.
В конце следующего года вы получите 3339.08
...
Через 10 лет вы получите 5124.43

Возможно ли это сделать прочитав циклы? Направьте на путь истинный ))
Или как вариант выводить через счетчик цикла, т.е.
C++ (Qt)
1
2
3
for (int i = 1; i <= 10; i++)
...
cout << "bla-bla-bla " << i << endl;
это предположение

Добавлено через 8 минут
прошу прощение, все это делается через if
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
02.11.2012, 15:00     Задача с использованием цикла for
Посмотрите здесь:

Составить и отладить программу с использованием цикла for C++
вывод на экран чисел 1 2 2 3 3 4 4 5 5 6 6 7 7 8 8 9 9 10 10 11 11 12, с использованием одного цикла и что бы все printf были только в теле цикла C++
Задача с использованием операторов цикла на с++ C++
C++ Программа с использованием цикла
C++ Программу с использованием цикла с постусловием
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
grsfan
0 / 0 / 0
Регистрация: 13.09.2012
Сообщений: 10
02.11.2012, 15:00     Задача с использованием цикла for #2
Ну а что хорошая концепция, в for цикле считаешь года вплоть до 10-го. А в теле цикла реализуй математику. Исходный вклад ты знаешь, процентную годовую ставку знаешь, ну и создай переменную в которую ты будешь записывать сумму накопленную за год (равную сумме процентов плюс сумму которую вкладчик имеет в начале каждого года).
Sashokk84
1 / 1 / 0
Регистрация: 02.11.2012
Сообщений: 7
02.11.2012, 15:02     Задача с использованием цикла for #3
Если я правильно понял вопрос ,то думаю будет что-то типа этого
for (int i = 1; i <= 10; i++)
{
if( i = 3 )
cout << ....//через 3 года

if( i = 10 )
cout << ....//через 10 лет
}
Lana_levchuk
5 / 5 / 0
Регистрация: 21.10.2012
Сообщений: 26
02.11.2012, 15:18     Задача с использованием цикла for #4
В условии требуется вывод только последней итоговой суммы, а не ежегодной. Если оставаться в рамках условия, то:

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
#include "stdafx.h"
#include <iostream>
using namespace std;
 
int _tmain(int argc, _TCHAR* argv[])
{
    setlocale (LC_ALL,"Russian");
    int n, vklad,i;
    float per, summ;
    do
    {
    cout<<"Введите сумму вклада: "<<endl;
    cin>>vklad;
    cout<<"Введите процентную ставку:" <<endl;
    cin>>per;
    cout<<"Введите количество лет: "<<endl;
    cin>>n;
    for (i=1; i<=n; i++)
        {
        summ=vklad*(per/100);
        summ=summ+vklad;
        vklad=summ;
        }
    cout<<"Итоговая сумма равна "<<summ<<" руб."<<endl;
    cout<<endl;
    }
    while (vklad!=0);
    return 0;
}
Добавлено через 2 минуты
Ну или так, если задаться целью выводить ежегодную:
C++
1
2
3
4
5
6
7
for (i=1; i<=n; i++)
        {
        summ=vklad*(per/100);
        summ=summ+vklad;
        vklad=summ;
        cout<<"Итоговая сумма за "<<i<<"лет равна: "<<summ<<endl;
        }
D_bl_M
 Аватар для D_bl_M
25 / 25 / 1
Регистрация: 25.03.2012
Сообщений: 129
02.11.2012, 15:53  [ТС]     Задача с использованием цикла for #5
всем спасибо, я сделал вот так:
C++ (Qt)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
#include <iostream>
 
//using namespace std;
using std::cout;
using std::cin;
using std::endl;
 
int main()
{
    double contrib;
    cout << "Enter the initial contribution: ";
    cin >> contrib;
    cout << endl;
 
    double period;
    cout << "Enter the number of years: ";
    cin >> period;
    cout << endl;
 
    double rate;
    cout << "Enter interest: ";
    cin >> rate;
    cout << endl;
 
    double sirate;
    sirate = rate / 100;
    for (int i = 1; i <= 10; ++i)
    {       
        contrib += (contrib * sirate);
 
        int count = i;
 
        if (count == 1)
        {
            cout << "v konce 1 goda vi poluchite: " << contrib << endl;
        }
        else if (count > 1 && count < period)
        {
            cout << "v konce sled goda, vi poluchite: " << contrib << endl;
        }
        if (count == period)
        {
            cout << "After " << period << " years, you get: " << contrib << endl;
        }
    }
    return 0;
}
черновик конечно

Добавлено через 13 минут
Цитата Сообщение от Sashokk84 Посмотреть сообщение
Если я правильно понял вопрос ,то думаю будет что-то типа этого
for (int i = 1; i <= 10; i++)
{
if( i = 3 )
cout << ....//через 3 года

if( i = 10 )
cout << ....//через 10 лет
}
у Вас присвоение идет
if( i = 3 )
if( i = 10 )

Добавлено через 6 минут
Цитата Сообщение от Lana_levchuk Посмотреть сообщение
В условии требуется вывод только последней итоговой суммы, а не ежегодной. Если оставаться в рамках условия, то:
Свет, я конечно не знаю, но исходя из этого:

В конце первого года вы получите 3165 долларов.
В конце следующего года вы получите 3339.08

Я вот и подумал, что надобно ежегодно расписать, хотя мой вариант чуток усложнил задачу, ну и не беда ))
Lana_levchuk
5 / 5 / 0
Регистрация: 21.10.2012
Сообщений: 26
02.11.2012, 15:57     Задача с использованием цикла for #6
Цитата Сообщение от D_bl_M Посмотреть сообщение
Свет, я конечно не знаю, но исходя из этого:

В конце первого года вы получите 3165 долларов.
В конце следующего года вы получите 3339.08

Я вот и подумал, что надобно ежегодно расписать, хотя мой вариант чуток усложнил задачу, ну и не беда ))
Не ищешь легких путей))) Там много издержек перевода
D_bl_M
 Аватар для D_bl_M
25 / 25 / 1
Регистрация: 25.03.2012
Сообщений: 129
02.11.2012, 16:05  [ТС]     Задача с использованием цикла for #7
Цитата Сообщение от Lana_levchuk Посмотреть сообщение
Не ищешь легких путей))) Там много издержек перевода
Вообще не хотелось бы искать не легких путей ))) в итоге можно загрузнуть..
Издержки? В том то и дело, хотя где их нет
Вон лежит новая книга Страуструпа, там тоже не мед ))
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
03.11.2012, 12:45     Задача с использованием цикла for
Еще ссылки по теме:

Найти факториал с использованием цикла for C++
C++ Задача C++ с использованием цикла

Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
Sashokk84
1 / 1 / 0
Регистрация: 02.11.2012
Сообщений: 7
03.11.2012, 12:45     Задача с использованием цикла for #8
Цитата Сообщение от D_bl_M Посмотреть сообщение
Цитата Сообщение от Sashokk84 Посмотреть сообщение
Если я правильно понял вопрос ,то думаю будет что-то типа этого
for (int i = 1; i <= 10; i++)
{
if( i = 3 )
cout << ....//через 3 года
if( i = 10 )
cout << ....//через 10 лет
}
у Вас присвоение идет
if( i = 3 )
if( i = 10 )
Ну да, я ещё новичок, частенько путаю = и ==...
Yandex
Объявления
03.11.2012, 12:45     Задача с использованием цикла for
Ответ Создать тему
Опции темы

Текущее время: 22:51. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru