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

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

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 27.08.2016, 22:02   #1
ShadowKing
Новичок
Джуниор
 
Регистрация: 27.08.2016
Сообщений: 3
Вопрос Ошибка в коде (Си)

Народ первая прога, после Hello World ) обучаюсь сам, сильно не пинайте.
Но вот суть задачи:
Программа запрашивает у пользователя количество минут, проведенных в душе (1 минута = 6 литрам)
Пользователь вводит положительное целое число
Программа выводит на экран количество бутылочек (по 0,5л),израсходованных пользователем.

И вот что накатал.
Код:
#include <stdio.h>

int main(void)
//литров в минуту
{
    int l;
    l=6;
}
//основа
{
    int a; //время в душе
    int w; //литры за время
    int b; //бутылок за время 
    printf("Введите кол-во минут в душе:\n");
    scanf("%i", &a);
    w=a*l;
    b=w*2;
    printf("%i/n", int(b));     
}
Ругается компилятор на скобки () <- вот такие, что не так сделал? Если можно обьяснить, а не просто указать. И верна ли логика вообще по которой построил код?
ShadowKing вне форума Ответить с цитированием
Старый 28.08.2016, 00:05   #2
p51x
Старожил
 
Регистрация: 15.02.2010
Сообщений: 15,707
По умолчанию

Тело функции пишется внутри {}. У вас одна функции и два набора скобок ее уровня... определитесь.
p51x вне форума Ответить с цитированием
Старый 28.08.2016, 08:17   #3
jura_k
gamer
Участник клуба
 
Аватар для jura_k
 
Регистрация: 09.05.2015
Сообщений: 1,529
По умолчанию

Ты написал:
printf("%i/n", int(b));
а надо
printf("%i\n", (int) b);
После int скобки не ставятся. После int ставится определение переменной.
(int) означает "приведение переменной к (int)", если эта переменная была другого типа.

А вообще по уму тут int не нужен. Пиши так:
printf("%i\n", b);
И слеш ты не в ту сторону поставил. Бывает.
мой канал на Ютубе: youtube.com/@games-zz3ju/videos/
мой канал на Рутубе: rutube.ru/channel/31423139/videos/
В ожидании Кеши...
jura_k вне форума Ответить с цитированием
Старый 28.08.2016, 09:19   #4
ShadowKing
Новичок
Джуниор
 
Регистрация: 27.08.2016
Сообщений: 3
По умолчанию

Поправил и заработало! спасибо вам!
ShadowKing вне форума Ответить с цитированием
Старый 28.08.2016, 09:20   #5
p51x
Старожил
 
Регистрация: 15.02.2010
Сообщений: 15,707
По умолчанию

Цитата:
Ты написал:
printf("%i/n", int(b));
а надо
printf("%i\n", (int) b);
После int скобки не ставятся.
ВЫ уверены? А если скомпилить?
p51x вне форума Ответить с цитированием
Старый 28.08.2016, 09:22   #6
ShadowKing
Новичок
Джуниор
 
Регистрация: 27.08.2016
Сообщений: 3
По умолчанию

Цитата:
Сообщение от p51x Посмотреть сообщение
ВЫ уверены? А если скомпилить?
Работает и через
Код:
printf("Израсходованно бутылок: %i\n", (int) b);
и через более красивый вариант
Код:
printf("Израсходованно бутылок: %i\n", b);
только что проверил...
ShadowKing вне форума Ответить с цитированием
Старый 28.08.2016, 11:41   #7
p51x
Старожил
 
Регистрация: 15.02.2010
Сообщений: 15,707
По умолчанию

Понятно что работает, но мы вообще-то про то, что int(b) не скомпилится...
p51x вне форума Ответить с цитированием
Старый 29.08.2016, 12:06   #8
jura_k
gamer
Участник клуба
 
Аватар для jura_k
 
Регистрация: 09.05.2015
Сообщений: 1,529
По умолчанию

Мне бы и в голову не пришло так написать.
int объявляет переменную, а зачем это делать в середине какой-то команды?
А если это объявление, то зачем объявляемую переменную заключать в скобки?
мой канал на Ютубе: youtube.com/@games-zz3ju/videos/
мой канал на Рутубе: rutube.ru/channel/31423139/videos/
В ожидании Кеши...
jura_k вне форума Ответить с цитированием
Старый 29.08.2016, 14:31   #9
p51x
Старожил
 
Регистрация: 15.02.2010
Сообщений: 15,707
По умолчанию

Цитата:
int объявляет переменную
не объявляет

Цитата:
а зачем это делать в середине какой-то команды?
Чтобы ограничить область видимости переменной, например.

Цитата:
А если это объявление, то зачем объявляемую переменную заключать в скобки?
Потому что это не объявление
p51x вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Java. Ошибка. Компилируется, но не запускается. Ошибка duplicate class. Проблема не в коде. nevender Общие вопросы по Java, Java SE, Kotlin 2 13.02.2016 13:24
Где ошибка в этом исходном коде на языке Си? Или ошибка в Excel? ArchiCurtis Помощь студентам 2 07.04.2012 14:16
Ошибка в коде С++ Ирискин Помощь студентам 4 04.02.2011 15:17
Ошибка в коде, ошибка в css или это проблема с совместимостью с браузерами? ankris HTML и CSS 5 23.11.2010 16:58
Ошибка в коде. СИ Ver0nica Помощь студентам 2 02.10.2009 19:36