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

Ваша задача - грамотно запрограммировать электронные весы. Пользователь вводит вес - C++

Восстановить пароль Регистрация
 
Suarez777
0 / 0 / 0
Регистрация: 24.03.2013
Сообщений: 66
17.04.2013, 17:09     Ваша задача - грамотно запрограммировать электронные весы. Пользователь вводит вес #1
Ваша задача - грамотно запрограммировать электронные весы. Пользователь вводит вес, максимум 1000 грамм.
Необходимо написать функцию, которая правильно отображает введенный вес на дисплее.
Например, "121 грамм", "2 грамма", "517 граммов". Используйте остаток от деления на 10. При остатках 0, 1 выводите слово "грамм", при остатках 2, 3, 4 - "грамма", при остатках 5, 6, 7, 8, 9 - "граммов".
Написать программу с возможностью многократного обращения.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
17.04.2013, 17:09     Ваша задача - грамотно запрограммировать электронные весы. Пользователь вводит вес
Посмотрите здесь:

C++ Пользователь вводит строку вывести на экран количество слов
C++ Пользователь вводит строку '12.34
Пользователь вводит с клавиатуры натуральное число меньшее 10000 C++
Задача звучит так: Пользователь вводит строку символов, удалить из этой строки каждый 3-й по счёту элемент C++
пользователь вводит трехзначное число C++
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
PloadyFree
1 / 1 / 0
Регистрация: 17.10.2014
Сообщений: 16
09.11.2014, 13:03     Ваша задача - грамотно запрограммировать электронные весы. Пользователь вводит вес #2
Не благодари.
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 <iostream>
 
using namespace std;
 
#define Pause   cout << "\n\n"; system("pause");
 
void solve()
{
    int n;
    cin >> n;
    cout << n;
    switch (n % 10)
    {
        case 0:
        case 1:     cout << " грамм";   break;
        case 2:
        case 3:
        case 4:     cout << " грамма";  break;
        default :   cout << " граммов"; break;
    }
}
 
int main()
{
        setlocale (LC_ALL, "Russian");
    solve();
    Pause;
    return 0;
}
grikukan
61 / 61 / 21
Регистрация: 23.09.2012
Сообщений: 212
09.11.2014, 13:05     Ваша задача - грамотно запрограммировать электронные весы. Пользователь вводит вес #3
PloadyFree,
Все не так просто.
Ваша программа выводит "12 грамма". Тут надо смотреть на остаток от деления на 100. Если он лежит в интервале [10;20) , то надо разбирать отдельно. Иначе работает этот код.
PloadyFree
1 / 1 / 0
Регистрация: 17.10.2014
Сообщений: 16
09.11.2014, 13:34     Ваша задача - грамотно запрограммировать электронные весы. Пользователь вводит вес #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
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
#include <iostream>
 
using namespace std;
 
void solve(int n)
{
    cout << n;
 
    if (n < 10)
    {
        switch (n % 10)
        {
            case 0:
            case 1:     cout << " грамм\n";     break;
            case 2:
            case 3:
            case 4:     cout << " грамма\n";    break;
            default :   cout << " грамм\n";     break;
        }
        return;
    }
 
    if (n < 20)
    {
        cout << " грамм\n";
        return;
    }
 
    switch (n % 10)
    {
        case 0:
        case 1:     cout << " грамм\n";   break;
        case 2:
        case 3:
        case 4:     cout << " грамма\n";  break;
        default :   cout << " граммов\n"; break;
    }
    return;
}
 
void menu()
{
    int n;
 
    do
    {
        cout << "Введите вес в граммах (для выхода из программы введите 0): ";
        cin >> n;
        if (n) solve(n);
    }
    while (n);
 
    return;
}
 
 
int main()
{
    setlocale (LC_ALL, "Russian");
    menu();
    return 0;
}
grikukan
61 / 61 / 21
Регистрация: 23.09.2012
Сообщений: 212
09.11.2014, 13:38     Ваша задача - грамотно запрограммировать электронные весы. Пользователь вводит вес #5
PloadyFree,
Нет. "112 грамма" Надо вначале делать n%=100 тогда наверное, будет правда

Добавлено через 1 минуту
Хотя нет. Надо сделать int x=n%10; и сравнивать с ней.
PloadyFree
1 / 1 / 0
Регистрация: 17.10.2014
Сообщений: 16
09.11.2014, 13:47     Ваша задача - грамотно запрограммировать электронные весы. Пользователь вводит вес #6
сейчас допишу

Добавлено через 6 минут
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
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
#include <iostream>
 
using namespace std;
 
void solve(int n)
{
    cout << n;
 
    if (n > 100)
        n %= 10;
 
    if (n < 10)
    {
        switch (n % 10)
        {
            case 0:
            case 1:     cout << " грамм\n";     break;
            case 2:
            case 3:
            case 4:     cout << " грамма\n";    break;
            default :   cout << " грамм\n";     break;
        }
        return;
    }
 
    if (n < 20)
    {
        cout << " грамм\n";
        return;
    }
 
    switch (n % 10)
    {
        case 0:
        case 1:     cout << " грамм\n";   break;
        case 2:
        case 3:
        case 4:     cout << " грамма\n";  break;
        default :   cout << " граммов\n"; break;
    }
    return;
}
 
void menu()
{
    int n;
 
    do
    {
        cout << "Введите вес в граммах (для выхода из программы введите 0): ";
        cin >> n;
        if (n) solve(n);
    }
    while (n);
 
    return;
}
 
 
int main()
{
    setlocale (LC_ALL, "Russian");
    menu();
    return 0;
}
Yandex
Объявления
09.11.2014, 13:47     Ваша задача - грамотно запрограммировать электронные весы. Пользователь вводит вес
Ответ Создать тему
Опции темы

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