JavaRush /Курсы /Harvard CS50 /Задание 1: Умный подсчет расхода воды

Задание 1: Умный подсчет расхода воды

Harvard CS50
1 уровень , 17 лекция
Открыта
CS50 задача 1 неделя

Логично: чем дольше вы принимаете душ, тем больше воды уходит на этот процесс. Давайте прикинем, сколько? Даже если ваш душ едва открыт, в минуту из него вытекает примерно 6 литров воды. А это 12 бутылочек воды, которые вы носите с собой для питья. Обычно человек принимает душ минут 10. Итого, чтобы помыться, нужно 120 полулитровых бутылок. Немало! 

Создайте файл water.c в вашей директории ~/workspace/pset1. Программа должна подсчитывать сколько бутылочек воды уходит на душ зависимости от времени. То есть:

  1. Программа запрашивает у пользователя количество минут, проведенных в душе.
  2. Пользователь вводит положительное целое число.
  3. Программа выводит на экран количество бутылочек, израсходованных пользователем.
username:~/workspace/pset1 $ .
/waterminutes: 10
bottles: 120

Для простоты в этот раз мы будем считать, что пользователь всегда вводит число минут верно, то есть, мы не проверяем, было ли введено положительное и целое число. Позднее мы научимся писать проверки, но пока достаточно и этого. 

Чтобы проверить правильность выполнения программы с помощью check50, нужно ввести следующую строку в терминале:

check50 2015.fall.pset1.water water.c

А если вы хотите посмотреть, как работает программа water, написанная сотрудниками курса выполните следующую команду:

~cs50/pset1/water

Внимание! Для ввода на консоль во всех первых заданиях нужно использовать функции специальной библиотеки CS50. О ней — следующая короткая лекция.
 
Делитесь своими впечатлениями и успехами в комментариях =) 

Комментарии (139)
ЧТОБЫ ПОСМОТРЕТЬ ВСЕ КОММЕНТАРИИ ИЛИ ОСТАВИТЬ КОММЕНТАРИЙ,
ПЕРЕЙДИТЕ В ПОЛНУЮ ВЕРСИЮ
xephos23 Уровень 1
26 октября 2025

#include <cs50.h>
#include <stdio.h>

int get_bottles(int min)
{
    return min*12;
}


int main(void)
{
    int min = get_int("Сколько минут вы были в душе?: \t");
    if (min <= 0)
    {
        do
        {
            min = get_int("Сколько минут вы были в душе?: \t");
        }
        while (min <= 0);
    }

    printf("Вы израсходовали %i полулитровых булыток.\n", get_bottles(min));
}
Anonymous #3595521 Уровень 1
16 сентября 2025
#include <stdio.h> int main() { int number; printf("Сколько минут в день вы моетесь? Введите количество минут: "); scanf_s("%d", &number); int x; x = 12 * number; printf("Ого! Это аж %d бутылок воды. Задумайтесь!", x); return 0; }
Paul Уровень 6
7 сентября 2025

#include <stdio.h>
#include <cs50.h>

int main(void)
{
    int minutes = get_int("Your showertime\n");
    int bottles = minutes * 12;
    printf("You need %i bottles!!!\n", bottles);
}
Anonymous #3605906 Уровень 1
8 августа 2025
#include <stdio.h> #include <cs50.h> int main(void) { int waterminutes = get_int("Сколько минут ты находишься в душе?\n"); printf("В бутылка воды по пол-литра это: %i\n", waterminutes*12); }
Alice Wonderland Уровень 1
17 марта 2025

#include <stdio.h>
#include <cs50.h>

int main(void)
{
    int minutes;
    do
    {
        minutes = get_int("Сколько минут вы проводите в душе?\n");
    }
    while (minutes < 1);

    int liters;
    liters = minutes * 6;
    printf("Отлично, за это время вы тратите примерно %i литров воды\n", liters);

    printf("Давайте посмотрим сколько это будет в бутылочках воды!\n");

    int bottles;
    bottles = liters * 2;
    printf("Чтож, это около %i пол-литровых бутылочек\n", bottles);
}
Global Dev Уровень 1
21 января 2025

#include <stdio.h>
#include <cs50.h>

int main(void)
{
    int waterminutes;
    do
    {
        waterminutes = get_int("Input minutes: ");
    }
    while(waterminutes < 1);
    printf("bottles to spend in %i minutes: %i\n", waterminutes, waterminutes*12);
}

Дмитрий Уровень 1
5 ноября 2024
подскажите как решить ошибку undefined reference to `get_int' collect2.exe: error: ld returned 1 exit status
Despairsyndromelover Уровень 1
10 октября 2024

#include <stdio.h>
#include <cs50.h>

void calcWater(void);
int calcBottles(int minutes);
int calcLiters(int minutes);

int main(void){
    calcWater();
}

void calcWater(void){
    int washMinutes = 0;
    for(int i = 0; washMinutes < 1; i++)
    {
        printf("How many minutes did you wash?\n");
        washMinutes = get_int("");
    }
    int usedBottles = calcBottles(washMinutes);
    int usedLitres = calcLiters(washMinutes);
    printf("You used up %i bottles of water today, which is equivalent to %i liters of water\n", usedBottles, usedLitres);
}


int calcBottles(int minutes){
    return minutes * 12;
}

int calcLiters(int minutes){
    return minutes * 6;
}

Anonymous #3323577 Уровень 1
7 июля 2023
#include <stdio.h> #include <cs50.c> int main(void) { int minutes = get_int("water time\n"); printf("bottles %i\n", minutes * 12); }
Lion Man Уровень 1
20 апреля 2023
#include<stdio.h> int main(void) { int time, kol_b; printf("Time in Shower?\n"); scanf("%d", &time); kol_b = 12*time; printf("vashe kolichestvo butilok=%d\n",kol_b); return 0; }