Имя пользователя:
Пароль:  
Помощь | Регистрация | Забыли пароль?  | Правила  

Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Программирование и базы данных » [решено] C/C++ | Задание в книге по С

Ответить
Настройки темы
[решено] C/C++ | Задание в книге по С

Новый участник


Сообщения: 35
Благодарности: 0

Профиль | Отправить PM | Цитировать


Изменения
Автор: hasherfrog
Дата: 28-07-2006
Доброго времени суток. Изучаю С по книге Дейтелов. С указателями, массивами еще не знаком. Не могу ничего придумать для решения этой задачи:
Некий клиент открыл в банке 5-ти процентный сберегательный счет на сумму 1000$. Предполагая, что вся прибыль остается на депозите счета, расчитайте и выведите сумму денег на счете на конец каждого года за 10 лет. Для определения этих сумм используйте формулу: a= p * (1 + r)^n, где p - первоначально вложенная сумма; r - годовая процентная ставка; n - число лет; a - сумма на счете на конец n-го года. Сам код вот:
Код: Выделить весь код
# include <stdio.h> 
# include <math.h> 
main () 
{ 
int year; 
double amount, principal = 1000.0, rate = 0.05; 
printf ("%4s%21s\n", "Year", "Amount on deposit"); 
for (year = 1; year <= 10; year++) 
{ 
amount = principal * pow (1.0 + rate, year); 
printf ("%4d%21.2f\n", year, amount); 
} 
return 0; 
}
Изминить программу так, чтобы для вычисления сложных процентов она использовала только целые числа. (Подсказка: обрабатывайте все денежные суммы в виде целочисленных значений центов. Затем "разбейте" результат на доллары и центы, используя для этого соответственно операции деления и взятия модуля. Вставить десятичную точку). Натолкните на мысль, как выполнить эту задачку?

Как пытался сделать:
Вот этот код на пятом шаге показывает уже неверные данные:
Код: Выделить весь код
main ()  
{  
int year;  
long amount, otr = 100, principal = 1000, rate = 5;  
printf ("%4s%21s\n", "Year", "Amount on deposit");  
for (year = 1; year <= 10; year++)  
{  
 
amount = principal * (pow (100 + rate, year)/otr);  
otr *= 100;  
printf ("%4d%21ld\n", year, amount);  
}  
return 0;  
}
Правда выводит только доллары, до центов не дошел еще.

Отправлено: 17:44, 27-07-2006

 

Новый участник


Сообщения: 35
Благодарности: 0

Профиль | Отправить PM | Цитировать


наконец-то сделал, вот что получилось:
Код: Выделить весь код
# include <stdio.h>
# include <math.h>

int main () 
{ 
int year; 
long tochn = 100; 
int count; 
long principal = 100000; 
int rate = 5; 
long amount; 
printf ("%4s%21s\n", "Year", "Amount on deposit"); 

for (year = 1; year <= 10; year++) 
{ 
amount = principal * (pow (100 + rate, year) / pow (tochn, year)); 
printf ("%4d%21ld%1s%2ld\n", year, amount/100,".", amount % 100); 


} 


return 0; 
}

Последний раз редактировалось hasherfrog, 28-07-2006 в 16:36.


Отправлено: 23:47, 27-07-2006 | #2



Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети.

Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля.


Аватара для Drongo

Будем жить, Маэстро...


Сообщения: 6694
Благодарности: 1393

Профиль | Сайт | Отправить PM | Цитировать


Привет Дружище!!! Я вот тоже изучаю С++ по книге Дейтелов, обоих. "Как программировать на С++" третье издание. Дошёл уже до 11 главы. Но представляешь, эту задачу не решал, всегда думая, что её решение просто. Прочитал твой вопрос и попробовал, и обломался! Не могу решить и всё! Сделал вывод, что каким бы задание не казалось лёгким нужно решать ВСЁ!!! Я вот что тебе предлагаю, поскольку мы оба только начали, давай с тобой будем производить обмен инфой, советами по этой книге! Что-то ты придумал, что-то я, можно даже сравнить решения некоторых задач! Конечно есть задания где я бессилен... Но для старта иной раз не хватает человека с которым можно посоветоваться, ведь две головы лучше! Скажи, как ты думал, когда решал эту задачу? Если надумаешь, пиши по адресу, обязательно отвечу: rembo88@yandex.ru

-------
Правильная постановка вопроса свидетельствует о некотором знакомстве с делом.
3нание бывает двух видов. Мы сами знаем предмет — или же знаем, где найти о нём сведения.
[Quick Killer 3.0 Final [OSZone.net]] | [Quick Killer 3.0 Final [SafeZone.cc]] | [Парсер логов Gmer] | [Парсер логов AVZ]

http://tools.oszone.net/Drongo/Userbar/SafeZone_cc.gif


Отправлено: 13:58, 13-08-2006 | #3



Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Программирование и базы данных » [решено] C/C++ | Задание в книге по С

Участник сейчас на форуме Участник сейчас на форуме Участник вне форума Участник вне форума Автор темы Автор темы Шапка темы Сообщение прикреплено

Похожие темы
Название темы Автор Информация о форуме Ответов Последнее сообщение
Разное - [Outlook] Отсортировать список контактов в Адресной книге Gangabass Microsoft Office (Word, Excel, Outlook и т.д.) 0 18-08-2009 08:28
.NET - [решено] Задание картинки в ToolStripButton Delirium Программирование и базы данных 7 03-12-2008 16:10
Службы - [решено] Задание резервного копирования denisz Microsoft Windows 2000/XP 6 08-08-2008 00:24
Exchenge-дубликаты в адресной книге IV@one Microsoft Exchange Server 2 31-10-2007 09:50
MS Exchange Формат Записей в Адресной Книге Loki3D Microsoft Exchange Server 1 27-11-2006 12:37




 
Переход