Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > C/C++ программирование > Общие вопросы C/C++
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 02.10.2012, 18:22   #1
IT-school
Пользователь
 
Регистрация: 04.05.2011
Сообщений: 39
По умолчанию Не работает C

Только начал изучать С (по учебнику) и наткнулся на проблему:
Задача: В банке ложится депозит под какой-то процент на какое-то количество лет и надо расчитать сумму денег на каждый год.
Код:
#include <stdio.h>
#include <math.h>

main()
{
      int year, plus;
      double sum, percent;
      
      printf ("Summa: ");
      scanf ("%d", sum);
      printf ("Year: ");
      scanf ("%d", year);
      printf ("Percent: ");
      scanf ("%d", percent);
      for (plus = 1; plus <= year; plus++) {
      sum = sum + (sum / 100 * percent);
      printf ("%4d%21.2f\n" ,year, sum);
      }
      getch ();
      return 0;
      
}
Задача была в учебнике, но в его решении все переменные были даны, а я не пошёл по их пути и сделал так, чтоб пользователь сам всё вводил. (Был код по лучше, но не правильно считавший).

Последний раз редактировалось Stilet; 02.10.2012 в 21:26.
IT-school вне форума Ответить с цитированием
Старый 02.10.2012, 21:27   #2
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Код:
scanf ("%d", &sum);
И так далее везде & забыл вписать в сканфе.
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 02.10.2012, 21:30   #3
IT-school
Пользователь
 
Регистрация: 04.05.2011
Сообщений: 39
По умолчанию

Спасибо большое! Вот что значит мало опыта -не выработалась привычка ещё. вообще да, много знаков приходится вставлять куда ни попадя.
IT-school вне форума Ответить с цитированием
Старый 02.10.2012, 21:32   #4
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Будешь часто работать - привыкнешь.
Дело не в знаках.
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 02.10.2012, 21:32   #5
IT-school
Пользователь
 
Регистрация: 04.05.2011
Сообщений: 39
По умолчанию

Но это всё равно ещё не всё.

Последний раз редактировалось IT-school; 02.10.2012 в 21:37.
IT-school вне форума Ответить с цитированием
Старый 02.10.2012, 21:48   #6
BDA
МегаМодератор
СуперМодератор
 
Аватар для BDA
 
Регистрация: 09.11.2010
Сообщений: 7,291
По умолчанию

Код:
#include <stdio.h>
#include <math.h>

int
main(void)
{
    int year, plus;
    double sum, percent;
    printf("Summa: ");
    scanf("%lf", &sum);
    printf("Year: ");
    scanf("%d", &year);
    printf("Percent: ");
    scanf("%lf", &percent);
    for (plus = 0; plus < year; ++plus) {
        sum += sum / 100 * percent;
        printf("%4d%21.2f\n", plus + 1, sum);
    }
    return 0;
}
Пишите язык программирования - это форум программистов, а не экстрасенсов. (<= это подпись )
BDA вне форума Ответить с цитированием
Старый 02.10.2012, 22:10   #7
IT-school
Пользователь
 
Регистрация: 04.05.2011
Сообщений: 39
По умолчанию

BDA, благодарю.
Чтобы ошибка не возникала впредь, хочу поинтересоваться:
Что значит %lf в
Код:
scanf("%lf", &sum);
и
чем отличается простой main от
Код:
int
main(void)
и только в этом были мои ошибки?
IT-school вне форума Ответить с цитированием
Старый 02.10.2012, 22:37   #8
BDA
МегаМодератор
СуперМодератор
 
Аватар для BDA
 
Регистрация: 09.11.2010
Сообщений: 7,291
По умолчанию

IT-school, пожалуйста.
Код:
int
main(void)
Не ошибка, просто так желательно оформлять код.
А вот %d вместо %lf уже ошибка.
Это различные спецификаторы типа - http://beej.us/guide/bgc/output/html...age/scanf.html
(для считывания double используется %lf, а %d - для int)
(стиль оформления программ - http://ejudge.ru/study/3sem/style.shtml)
Пишите язык программирования - это форум программистов, а не экстрасенсов. (<= это подпись )
BDA вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
не работает relese версия проги и debug работает тока на моем компе D][mon C# (си шарп) 2 04.05.2012 20:21
Программа работает пошагово, но не работает при запуске -Katerina- Microsoft Office Excel 3 12.07.2011 03:40
Почему программа на С++ не работает с локальным описанием массива, но работает с глобальным? >>STINGER<< Помощь студентам 4 08.03.2011 09:56
TP7 чтение из файла, работает но не работает!? Qousio Помощь студентам 7 02.06.2009 09:37
Библиотека НЕ работает с 2008, но работает с 2000 SQL namenike Общие вопросы C/C++ 0 26.05.2009 11:04