C++ Продвинутый инженерный калькулятор

Начинающий
Статус
Оффлайн
Регистрация
15 Апр 2020
Сообщения
60
Реакции[?]
9
Поинты[?]
0
Помогите составить продвинутый инженерный калькулятор на плюсах.

Калькулятор будет состоять из двух частей: действия с числами и перевод различных
единиц.
Действия, которые должны присутствовать в калькуляторе:
1. Сложение (+)
2. Вычитание (-)
3. Умножение (*)
4. Деление (/)
5. Возведение в степень.
6. Корень.
7. Логарифм.
8. Факториал
--------------
Перевод единиц измерения длины:
1. Из сантиметров в миллиметры.
2. Из сантиметров в дециметры.
3. Из сантиметров в метры.
4. Из сантиметров в километры.

Перевод единиц измерение массы:
1. Из килограммов в миллиграммы.
2. Из килограммов в граммы.
3. Из килограммов в тонны.

При создании и написании программы, вы должны будете учитывать некоторые нюансы.
Для усложнения, вы должны будете сделать:
 Проверку деления на ноль.
 Использовать все конструкции: «if/else if/else», «switch» и тернарный оператор.
 Факториал нужно будет высчитать не с помощью отдельной функции и
рекурсивными действиями, а именно зацикливанием.
Я знаю, что здесь есть пиздец какие шарящие за c++, хелпаните доуну

1.JPG
2.JPG
3.JPG

 
Забаненный
Статус
Оффлайн
Регистрация
11 Янв 2018
Сообщения
2,375
Реакции[?]
454
Поинты[?]
0
Обратите внимание, пользователь заблокирован на форуме. Не рекомендуется проводить сделки.
Пользователь
Статус
Оффлайн
Регистрация
3 Ноя 2019
Сообщения
412
Реакции[?]
109
Поинты[?]
2K
Ахахахааха чел считает что здесь сидят кодеры Microsoft, а по итогу обычные школо-пастеры выучившие плюсы за 2 недели
 
Последнее редактирование:
money++
Разработчик
Статус
Оффлайн
Регистрация
14 Июн 2018
Сообщения
638
Реакции[?]
339
Поинты[?]
22K
Помогите составить продвинутый инженерный калькулятор на плюсах.



Я знаю, что здесь есть пиздец какие шарящие за c++, хелпаните доуну

Так а с чем конкретно помочь? Или ты хочешь чтобы за тебя все написали...
 
Участник
Статус
Оффлайн
Регистрация
15 Дек 2018
Сообщения
1,081
Реакции[?]
213
Поинты[?]
0
Ахахахааха чел считает что здесь сидят кодеры Microsoft, а по итогу обычные школо-пасеиы выучившие плюсы за 2 недели
да эт не так сложно вроде, даже они смогут это написать, но долго наверн.
 
Пользователь
Статус
Оффлайн
Регистрация
9 Май 2018
Сообщения
415
Реакции[?]
47
Поинты[?]
1K
Как пример
Держи недокод, дальше сам доделаешь


C++:
#include <iostream>
using namespace std;

int main()
{
    setlocale(0, "");
   cout << "*Здравствуй, дорогой плользователь.\n Если хотите произвести действие, то введите: 1 \n Если хотите произвести перевод едениц, то введите: 2 \n\n Ваш выбор: ";
   int a,b,c,d;
   cin >> b;
   if (b == 1)
   {
       system("cls");
       cout << "Вы выбрали цифру №1. Прошу, выберите действие, которое хотите произвести:\n\n";
       cout << "1. Сложение\n";
       cout << "2. Вычитание\n";
       cout << "3. Умножение\n";
       cout << "4. Деление\n";
       cout << "5. Возведение в степень\n";
       cout << "6. Корень\n";
       cout << "7. Логарифм\n";
       cout << "8. Факториал\n";
       cout << "Введите номер: \n";
       cin >> b;

       if (b == 1)
       {
           system("cls");
           cout << "Введите первое число: \n";
           cin >> a;
           system("cls");
           cout << "Введите второе число: \n";
           cin >> c;
           system("cls");
           d = a + c;
           cout << "Ваш ответ: ";
        cout << d;
       }
       if (b == 2)
       {
           system("cls");
           cout << "Введите первое число: \n";
           cin >> a;
           system("cls");
           cout << "Введите второе число: \n";
           cin >> c;
           system("cls");
           d = a - c;
           cout << "Ваш ответ: ";
           cout << d;
       }
       if (b == 3)
       {
           system("cls");
           cout << "Введите первое число: \n";
           cin >> a;
           system("cls");
           cout << "Введите второе число: \n";
           cin >> c;
           system("cls");
           d = a * c;
           cout << "Ваш ответ: ";
           cout << d;
       }
       if (b == 4)
       {
           system("cls");
           cout << "Введите первое число: \n";
           cin >> a;
           system("cls");
           cout << "Введите второе число: \n";
           cin >> c;
           system("cls");
           d = a / c;
           cout << "Ваш ответ: ";
           cout << d;
       }
       if (b == 5)
       {
           system("cls");
           cout << "Введите число: \n";
           cin >> a;
           system("cls");
           cout << "Введите степень числа: \n";
           cin >> c;
           system("cls");
           d = pow(a, c);
           cout << "Ваш ответ: ";
           cout << d;
       }
   }
   if (b == 2)
   {
       system("cls");
       cout << "1. Единицы измерения длины\n";
       cout << "2. Еденицы измерения массы\n\n";
       cout << "Введите номер: \n";
       cin >> b;
       if (b == 1)
       {
           system("cls");
           cout << "Расчет длины\n";
       }
       if (b == 2)
       {
           system("cls");
           cout << "Расчет массы\n";
       }
   }
}
 
Начинающий
Статус
Оффлайн
Регистрация
15 Апр 2020
Сообщения
60
Реакции[?]
9
Поинты[?]
0
Как пример
Держи недокод, дальше сам доделаешь


C++:
#include <iostream>
using namespace std;

int main()
{
    setlocale(0, "");
   cout << "*Здравствуй, дорогой плользователь.\n Если хотите произвести действие, то введите: 1 \n Если хотите произвести перевод едениц, то введите: 2 \n\n Ваш выбор: ";
   int a,b,c,d;
   cin >> b;
   if (b == 1)
   {
       system("cls");
       cout << "Вы выбрали цифру №1. Прошу, выберите действие, которое хотите произвести:\n\n";
       cout << "1. Сложение\n";
       cout << "2. Вычитание\n";
       cout << "3. Умножение\n";
       cout << "4. Деление\n";
       cout << "5. Возведение в степень\n";
       cout << "6. Корень\n";
       cout << "7. Логарифм\n";
       cout << "8. Факториал\n";
       cout << "Введите номер: \n";
       cin >> b;

       if (b == 1)
       {
           system("cls");
           cout << "Введите первое число: \n";
           cin >> a;
           system("cls");
           cout << "Введите второе число: \n";
           cin >> c;
           system("cls");
           d = a + c;
           cout << "Ваш ответ: ";
        cout << d;
       }
       if (b == 2)
       {
           system("cls");
           cout << "Введите первое число: \n";
           cin >> a;
           system("cls");
           cout << "Введите второе число: \n";
           cin >> c;
           system("cls");
           d = a - c;
           cout << "Ваш ответ: ";
           cout << d;
       }
       if (b == 3)
       {
           system("cls");
           cout << "Введите первое число: \n";
           cin >> a;
           system("cls");
           cout << "Введите второе число: \n";
           cin >> c;
           system("cls");
           d = a * c;
           cout << "Ваш ответ: ";
           cout << d;
       }
       if (b == 4)
       {
           system("cls");
           cout << "Введите первое число: \n";
           cin >> a;
           system("cls");
           cout << "Введите второе число: \n";
           cin >> c;
           system("cls");
           d = a / c;
           cout << "Ваш ответ: ";
           cout << d;
       }
       if (b == 5)
       {
           system("cls");
           cout << "Введите число: \n";
           cin >> a;
           system("cls");
           cout << "Введите степень числа: \n";
           cin >> c;
           system("cls");
           d = pow(a, c);
           cout << "Ваш ответ: ";
           cout << d;
       }
   }
   if (b == 2)
   {
       system("cls");
       cout << "1. Единицы измерения длины\n";
       cout << "2. Еденицы измерения массы\n\n";
       cout << "Введите номер: \n";
       cin >> b;
       if (b == 1)
       {
           system("cls");
           cout << "Расчет длины\n";
       }
       if (b == 2)
       {
           system("cls");
           cout << "Расчет массы\n";
       }
   }
}
От души, спасибо
 
money++
Разработчик
Статус
Оффлайн
Регистрация
14 Июн 2018
Сообщения
638
Реакции[?]
339
Поинты[?]
22K
Как пример
Держи недокод, дальше сам доделаешь


C++:
#include <iostream>
using namespace std;

int main()
{
    setlocale(0, "");
   cout << "*Здравствуй, дорогой плользователь.\n Если хотите произвести действие, то введите: 1 \n Если хотите произвести перевод едениц, то введите: 2 \n\n Ваш выбор: ";
   int a,b,c,d;
   cin >> b;
   if (b == 1)
   {
       system("cls");
       cout << "Вы выбрали цифру №1. Прошу, выберите действие, которое хотите произвести:\n\n";
       cout << "1. Сложение\n";
       cout << "2. Вычитание\n";
       cout << "3. Умножение\n";
       cout << "4. Деление\n";
       cout << "5. Возведение в степень\n";
       cout << "6. Корень\n";
       cout << "7. Логарифм\n";
       cout << "8. Факториал\n";
       cout << "Введите номер: \n";
       cin >> b;

       if (b == 1)
       {
           system("cls");
           cout << "Введите первое число: \n";
           cin >> a;
           system("cls");
           cout << "Введите второе число: \n";
           cin >> c;
           system("cls");
           d = a + c;
           cout << "Ваш ответ: ";
        cout << d;
       }
       if (b == 2)
       {
           system("cls");
           cout << "Введите первое число: \n";
           cin >> a;
           system("cls");
           cout << "Введите второе число: \n";
           cin >> c;
           system("cls");
           d = a - c;
           cout << "Ваш ответ: ";
           cout << d;
       }
       if (b == 3)
       {
           system("cls");
           cout << "Введите первое число: \n";
           cin >> a;
           system("cls");
           cout << "Введите второе число: \n";
           cin >> c;
           system("cls");
           d = a * c;
           cout << "Ваш ответ: ";
           cout << d;
       }
       if (b == 4)
       {
           system("cls");
           cout << "Введите первое число: \n";
           cin >> a;
           system("cls");
           cout << "Введите второе число: \n";
           cin >> c;
           system("cls");
           d = a / c;
           cout << "Ваш ответ: ";
           cout << d;
       }
       if (b == 5)
       {
           system("cls");
           cout << "Введите число: \n";
           cin >> a;
           system("cls");
           cout << "Введите степень числа: \n";
           cin >> c;
           system("cls");
           d = pow(a, c);
           cout << "Ваш ответ: ";
           cout << d;
       }
   }
   if (b == 2)
   {
       system("cls");
       cout << "1. Единицы измерения длины\n";
       cout << "2. Еденицы измерения массы\n\n";
       cout << "Введите номер: \n";
       cin >> b;
       if (b == 1)
       {
           system("cls");
           cout << "Расчет длины\n";
       }
       if (b == 2)
       {
           system("cls");
           cout << "Расчет массы\n";
       }
   }
}
Господи... С тебя капли для глаз. Разберем по частям тобою написанное:
1) Что такое a, b, c, d? Сложно подписать переменные input, right, left, result?
2) Дальше:
C++:
if (b == 1) {
    // ...
}
if (b == 2) {
    // ...
}
if (b == 3) {
    // ...
}
Во первых почему бы не заюзать switch (как и требовалось в лабе кстати со слов ТСа), во вторых - почему не else if?
3)
C++:
cout << "Вы выбрали цифру №1. Прошу, выберите действие, которое хотите произвести:\n\n";
       cout << "1. Сложение\n";
       cout << "2. Вычитание\n";
       cout << "3. Умножение\n";
       cout << "4. Деление\n";
       cout << "5. Возведение в степень\n";
       cout << "6. Корень\n";
       cout << "7. Логарифм\n";
       cout << "8. Факториал\n";
       cout << "Введите номер: \n";
Про R"(raw literals)" я так понимаю ты не знаешь
4) В лабах не стоит юзать system("cls"); и прочие методы которые работают только на одной из ОС

Итог: если помогаешь - помогай нормально. Потому что по итогу то что ты написал написано плохо, да и большинство работы не сделано впринципе
 
Пользователь
Статус
Оффлайн
Регистрация
9 Май 2018
Сообщения
415
Реакции[?]
47
Поинты[?]
1K
Господи... С тебя капли для глаз. Разберем по частям тобою написанное:
1) Что такое a, b, c, d? Сложно подписать переменные input, right, left, result?
2) Дальше:
C++:
if (b == 1) {
    // ...
}
if (b == 2) {
    // ...
}
if (b == 3) {
    // ...
}
Во первых почему бы не заюзать switch (как и требовалось в лабе кстати со слов ТСа), во вторых - почему не else if?
3)
C++:
cout << "Вы выбрали цифру №1. Прошу, выберите действие, которое хотите произвести:\n\n";
       cout << "1. Сложение\n";
       cout << "2. Вычитание\n";
       cout << "3. Умножение\n";
       cout << "4. Деление\n";
       cout << "5. Возведение в степень\n";
       cout << "6. Корень\n";
       cout << "7. Логарифм\n";
       cout << "8. Факториал\n";
       cout << "Введите номер: \n";
Про R"(raw literals)" я так понимаю ты не знаешь
4) В лабах не стоит юзать system("cls"); и прочие методы которые работают только на одной из ОС

Итог: если помогаешь - помогай нормально. Потому что по итогу то что ты написал написано плохо, да и большинство работы не сделано впринципе
Я же отписал выше что сделал минуты за 2, и что это быдлокод если такой умный можешь просто сделать сам а не долбить и не разбирать этот код
 
money++
Разработчик
Статус
Оффлайн
Регистрация
14 Июн 2018
Сообщения
638
Реакции[?]
339
Поинты[?]
22K
Я же отписал выше что сделал минуты за 2, и что это быдлокод
Так а зачем ты это присылаешь челу? По итогу такая помощь хуже ее отсутсвия, к этому и претензии

если такой умный можешь просто сделать сам а не долбить и не разбирать этот код
Как только ТС напишет что КОНКРЕТНО у него не получается я с радостью (или без нее) помогу
 
Пользователь
Статус
Оффлайн
Регистрация
9 Май 2018
Сообщения
415
Реакции[?]
47
Поинты[?]
1K
Так а зачем ты это присылаешь челу? По итогу такая помощь хуже ее отсутсвия, к этому и претензии
1) Что такое a, b, c, d? Сложно подписать переменные input, right, left, result?
Программа не большая в чем проблема использовать abcd ? Захочет изменить дело его, кинул как пример.
2) почему бы не заюзать switch (как и требовалось в лабе кстати со слов ТСа), во вторых - почему не else if? - уже ответил кинул как пример на скорую руку

C++:
switch (b)
    {
    case 1:

        break;
    case 2:

        break;
    case 3:

        break;
    case 4:

        break;
    case 5:

        break;
    default:

        break;
    }
Про R"(raw literals)" я так понимаю ты не знаешь - Для новичка такой код более понятный (как по мне) не считаю это какой то ошибкой.

В лабах не стоит юзать system("cls"); и прочие методы которые работают только на одной из ОС - как по мне удалить этот фрагмент кода если что то не будет работать займет секунды 2-3.
 
money++
Разработчик
Статус
Оффлайн
Регистрация
14 Июн 2018
Сообщения
638
Реакции[?]
339
Поинты[?]
22K
1) Что такое a, b, c, d? Сложно подписать переменные input, right, left, result?
Программа не большая в чем проблема использовать abcd ? Захочет изменить дело его, кинул как пример.
2) почему бы не заюзать switch (как и требовалось в лабе кстати со слов ТСа), во вторых - почему не else if? - уже ответил кинул как пример на скорую руку

C++:
switch (b)
    {
    case 1:

        break;
    case 2:

        break;
    case 3:

        break;
    case 4:

        break;
    case 5:

        break;
    default:

        break;
    }
В лабах не стоит юзать system("cls"); и прочие методы которые работают только на одной из ОС - как по мне удалить этот фрагмент кода если что то не будет работать займет секунды 2-3.
Потратив всего минуту ты увеличил полезность своего ответа в несколько раз, поздравляю, сложно было сделать так сразу?

Для новичка такой код более понятный (как по мне) не считаю это какой то ошибкой.
Хз, мне кажется невозможно не понять код с raw literals если понятен код std::cout << "Hello World!" << std::endl; (невозможно не понять != каждый обязан знать как это работает)
 
Пользователь
Статус
Оффлайн
Регистрация
9 Май 2018
Сообщения
415
Реакции[?]
47
Поинты[?]
1K
Хз, мне кажется невозможно не понять код с raw literals если понятен код std::cout << "Hello World!" << std::endl; (невозможно не понять != каждый обязан знать как это работает)
Ну если бы он знал это все, сомневаюсь что существовала бы эта тема)
 
Начинающий
Статус
Оффлайн
Регистрация
1 Дек 2020
Сообщения
35
Реакции[?]
2
Поинты[?]
0
Вот держи.
На данном примере легко написать калькулятор. Но я не стал писать тебе полный код так как ты ничего сам никогда не научишься смотря на готовый чужой код.
C++:
// Подключение iostream [cout, endl, cin]
#include <iostream>
// Подключение Windows.h Это файл заголовка не библиотека подключаю я его для[DWORD, SetConsoleCP, SetConsoleOutputCP]
#include <Windows.h>

// Использование неймспейсов нужных функций.
using std::cout;
using std::endl;
using std::cin;

// точка входа MainPart.
int main(DWORD first, DWORD second, DWORD resdw, unsigned int switches, unsigned int result) {
    // Использование русского языка для вида.
    setlocale(LC_ALL, "Russian");
    // Кодировка на русский.
    SetConsoleCP(1251);
    SetConsoleOutputCP(1251);
    // Спрашиваем пользователя, что ему нужно.
    cout << "1. +" << endl;
    cout << "Выберете нужный вам пункт, меню: ";
    // вписываем это в switch.
    cin >> switches;
    // result++;
    switch (switches) {
        // Условие в котором что то должно произойти. В нашем случаи. Спрашиванию пользователя и прибавлению введенных им числа
        case 1: {
            cout << "Введите первое число: " << endl; cin >> first;
            cout << "Введите первое число: " << endl; cin >> second;
            resdw = first + second;
            /*
            * У нас нету второго свитча его можно не ставить.
            * (Он перебрасывает нас на 38 строчку кода. Тем самым не давая выполнить другой switch)
            */
            break;
        };
    };
    // Выводим результат.
    cout << "Результат\t" << resdw << endl;
    // result--;
    // Не даем закрыться сразу программе.
    cin.get();
    // Завершаем успешно код.
    return result;
};
 
Последнее редактирование:
Пользователь
Статус
Оффлайн
Регистрация
19 Май 2019
Сообщения
294
Реакции[?]
43
Поинты[?]
0
? Если ты понял что я написал не так, то это твои проблемы, но дам подсказку, попробуй поставить вопросительный знак после моего текста и поймешь смысл, потом просто попробуй интонацию произношения поменять на текст без "?"
 
Начинающий
Статус
Оффлайн
Регистрация
14 Сен 2020
Сообщения
179
Реакции[?]
18
Поинты[?]
0
Так а зачем ты это присылаешь челу? По итогу такая помощь хуже ее отсутсвия, к этому и претензии


Как только ТС напишет что КОНКРЕТНО у него не получается я с радостью (или без нее) помогу
Лол, тебя не понять, человек написал код за 2 минуты и написал "ВОТ НЕДОКОД, ДАЛЬШЕ САМ ДОДЕЛАЕШЬ", он дал ему толчок так скажем.
 
money++
Разработчик
Статус
Оффлайн
Регистрация
14 Июн 2018
Сообщения
638
Реакции[?]
339
Поинты[?]
22K
Лол, тебя не понять, человек написал код за 2 минуты и написал "ВОТ НЕДОКОД, ДАЛЬШЕ САМ ДОДЕЛАЕШЬ", он дал ему толчок так скажем.
Толчок надо давать в правильном направлении
 
Начинающий
Статус
Оффлайн
Регистрация
14 Сен 2020
Сообщения
179
Реакции[?]
18
Поинты[?]
0
Толчок надо давать в правильном направлении
Чем тебе это не правильное направление?
Человек дал базовый код с которого уже можно сделать - Продвинутый Инженерный Калькулятор.
 
Сверху Снизу