Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.88/8: Рейтинг темы: голосов - 8, средняя оценка - 4.88
0 / 0 / 0
Регистрация: 30.09.2018
Сообщений: 11
1

Определить минимальное число, которое может получиться в результате работы калькулятора

30.09.2018, 10:48. Просмотров 1605. Ответов 2
Метки нет (Все метки)

В качестве домашнего задания по информатике ученикам предложено разработать специальный калькулятор, который устроен следующим образом.
Сначала пользователь вводит целое положительное число n, которое выводится на экран. Затем пользователь может нажимать на три кнопки: A, B и C.
При нажатии на кнопку A число, которое выведено на экран, делится на 2. Если число на экране нечетное, то остаток отбрасывается. Например, результат этой операции для числа 80 равен 40, а для числа 239 равен 119.
При нажатии на кнопку B к числу, которое выведено на экран, прибавляется 1, и результат делится на 2. Остаток от деления отбрасывается. Например, результат операции для числа 80 равен 40, а для числа 239 равен 120.
При нажатии на кнопку C происходит следующее. Если число, которое выведено на экран, положительное, то из него вычитается 1 и результат делится на 2, остаток отбрасывается. Если же перед нажатием на кнопку C на экран было выведено число 0, то оно остается неизменным. Например, результат операции для числа 80 равен 39, а для числа 239 равен 119.
Пользователь ввел число n и собирается нажать на кнопки операций в некотором порядке. В частности, он планирует нажать на кнопку A суммарно a раз, на кнопку B – b раз и на кнопку C – c раз. Его заинтересовал вопрос, какое минимальное число может получиться в результате выполнения описанных операций.
Требуется написать программу, которая по введенному числу n и числам a, b и c, показывающим количество произведенных на калькуляторе операций разного типа, определяет минимальное число, которое может получиться в результате работы калькулятора.


Код (Не работает):

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
#include <iostream>
using namespace std;
int main() 
{
    { 
    setlocale(LC_ALL,"Russian");
int chislo,A,B,C,n;
char bukva;
 
//Функция для буквы C
 
        int bukva_C(chislo);
{
         if (chislo>0)
             cout << "Результат манипуляции с C:"<< (chislo-1)%2;
         else 
             cout << "Результат манипуляции с C:"<< chislo;
}
 
 
//Основная программа
    
    cout << "Введите число и нажмите ENTER.\n";
      cin >> chislo;
for(int n = 0 to n < 20; n++)
    cout << "Введите одну из букв:A,B,C(английская раскладка):\n";
      cin >> bukva;
         if (bukva = A)
    cout << "Результат манипуляции с  A:"<< chislo%2;
         else if(bukva = B)
    cout << "Результат манипуляции с B:"<< (chislo+1)%2;
         else if(bukva = C)
    cout <<bukva_C(chislo) <<"\n";
}
return 0;
}
Добавлено через 24 секунды
Как его исправить?
0
Лучшие ответы (1)
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
30.09.2018, 10:48
Ответы с готовыми решениями:

Определить может ли введенное число получиться при перемножении его десятичных цифр
Вот сама задача: Знайка и Незнайка играют в такую игру: Знайка называет Незнайке число, а...

Определить минимальное число пирамид которое требуется сложить
Капитан Вася всегда держит на своем корабле запас пушечных ядер для борьбы с пира- тами. Так как...

Найти максимальное число, которое может получиться в результате удаления ровно одной двоичной цифры
Помогите решить задачу: У Маленького Слоника есть целое число a, записанное в двоичной системе...

Выведите одно число-количество деталей, которое может получиться по заданной технологии
Имеется N кг металлического сплава.Из него изготавливают заготовки массой K кг каждая.Поле этого из...

2
Модератор
Эксперт С++
9932 / 8448 / 5137
Регистрация: 18.12.2011
Сообщений: 22,639
30.09.2018, 11:06 2
Лучший ответ Сообщение было отмечено fobblified как решение

Решение

Надо очень потрудиться, чтобы сделать столько синтаксических ошибок
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
#include <iostream>
using namespace std;
//Функция для буквы C
void bukva_C(int chislo)
{
    if (chislo > 0)
        cout << "Результат манипуляции с C:" << (chislo - 1) % 2 << endl;
    else
        cout << "Результат манипуляции с C:" << chislo << endl;
}
 
int main()
{
    setlocale(LC_ALL, "Russian");
    int chislo;
    char bukva;
    //Основная программа
 
    cout << "Введите число и нажмите ENTER.\n";
    cin >> chislo;
    for (int n = 0; n < 20; n++)
    {
 
        cout << "Введите одну из букв:A,B,C(английская раскладка):\n";
        cin >> bukva;
        if (bukva == 'A')
            cout << "Результат манипуляции с  A:" << chislo % 2;
        else if (bukva == 'B')
            cout << "Результат манипуляции с B:" << (chislo + 1) % 2;
        else if (bukva == 'C')
            bukva_C(chislo);
        else
            cout << "Плохая буква\n";
    }
    return 0;
}
1
0 / 0 / 0
Регистрация: 30.09.2018
Сообщений: 11
30.09.2018, 11:10  [ТС] 3
Спасибо!
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
30.09.2018, 11:10

Заказываю контрольные, курсовые, дипломные и любые другие студенческие работы здесь.

Определите, сколько из приведенных чисел могут получиться в результате работы автомата
Автомат получает на вход двузначное дееятичное число. По получеяному чиелу етроитея вовое ...

Определите, какие из приведенных ниже чисел могут получиться в результате работы автомата
кот Бегемот, А можете еще эту решить, Пожалуйста? . Автомат получает на вход четырёхзначное...

Поле Чудес - найти минимальное число секторов, которое может быть на барабане
Привет форуму, у меня вот такая &quot;весёлая&quot; проблемка... :wall: Есть задача: Поле чудес Для...

Определить минимальное расстояние, на которое может подойти к плоскости электрон
По направлению силовой линии электрического поля, созданного бесконечной плоскостью, заряженной...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2020, vBulletin Solutions, Inc.