Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.66/47: Рейтинг темы: голосов - 47, средняя оценка - 4.66
0 / 0 / 0
Регистрация: 10.03.2018
Сообщений: 27
1

Простой калькулятор на С++

13.07.2018, 17:21. Показов 9448. Ответов 4

Author24 — интернет-сервис помощи студентам
Хотел написать простой калькулятор выполняющий деление двух введённых чисел и выводящий их частное.
Столкнулся с проблемой, когда делал проверку делителя на 0. По задумке если второе введённое число имело значение 0, то
нам должны предлагать ввести его ещё раз до тех пор пока его значение не будет равно 0. Я знаю, что я могу использовать еще один оператор if для проверки значения, но для меня стало не понятным, почему даже когда вы вводим число не равное 0, то
цикл всё равно продолжается?! Ведь условие b == 0 становится неверным и цикл должен завершится!

Пожалуйста просветите меня!

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
#include <iostream>
#include <windows.h>
 
using namespace std;
 
int main()
{
    SetConsoleCP(1251);
    SetConsoleOutputCP(1251);
 
    int a, b;
 
    cout << "Введите первое число: ";
    cin >> a;
 
    cout << "Введите второе число: ";
    cin >> b;
 
    cout << endl;
 
    if(b == 0)      //Проверка делителя
    {
        for(b == 0; ;)  //Вводить делитель пока его значение не будет равно 0
        {
            cout << "Введите повторно второе число: ";
            cin >> b;
        }   //Бесконечный цикл
    }
 
    cout << a << " / " << b << " = " << a / b << endl;
 
    system("pause");
    return 0;
}
0
Лучшие ответы (1)
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
13.07.2018, 17:21
Ответы с готовыми решениями:

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

простой калькулятор
#include &lt;iostream&gt; using namespace std; void sloganie () { int a, b; cout &lt;&lt; &quot;Введите...

Простой калькулятор
Здравствуйте у меня проблема с нахождением ошибки #include &lt;iostream&gt; using namespace std; int...

Простой консольный калькулятор
Я новичок, изучаю C++ всего первый день, начал изучение по книге Либерти &quot;C++ за 21 день&quot;. Пока что...

4
 Аватар для QuakerRUS
1468 / 1009 / 456
Регистрация: 30.10.2017
Сообщений: 2,800
13.07.2018, 17:30 2
Лучший ответ Сообщение было отмечено RainyDay как решение

Решение

23я строка

C++
1
for (; b == 0; )
А лучше

C++
1
while (b == 0)

Строки 21, 22, 28 с таким циклом внутри ни на что не влияют, можно удалить.
1
7437 / 5029 / 2892
Регистрация: 18.12.2017
Сообщений: 15,692
13.07.2018, 22:59 3
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
#include <iostream> 
using namespace std;
 
int main()
{    
    double a, b;
 
    cout << "a=";
    cin >> a;
    
    do
    {
    cout << "b=";
    cin >> b;
    if (b==0) cout <<"You can not divide by zero !!! Repeat please..."<< endl;
    }
    while (b==0); 
 
    cout << a << " / " << b << " = " << a / b << endl;
 
system("pause");
return 0;
}
0
0 / 0 / 0
Регистрация: 10.03.2018
Сообщений: 27
15.07.2018, 10:29  [ТС] 4
Спасибо! понял!

Структура цикла for выглядит так:

C++
1
2
3
4
for(Присвоение счетчику начальное значение; Конечное значение; Шаг цикла )
{
    Тела цикла;
}
Моя запись выглядела так:

C++
1
for(b == 0 (начальное значение); (а это конечное)   ;)
Получилось так, что я не поставил условия завершения цикла!!!

Если сделать так, то всё работает!

C++
1
for(; b == 0;)
0
0 / 0 / 0
Регистрация: 18.09.2019
Сообщений: 88
18.03.2020, 19:22 5
Вот простой калькулятор на С++
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
#include <iostream>
#include <time.h>
#include <string>
using namespace std;
 
int suma(int a, int b)
{
    return a + b;
}
 
int different(int a, int b)
{
    return a - b;
}
 
int mult(int a, int b)
{
    return a * b;
}
 
int devisions(int a, int b)
    {
        if (b == 0)
        {
            cout << "ERROR!";
            return 0;
        }
        else
        {
            return a / b;
        }
    }
 
 
int main()
{
    srand(time(NULL));
    int a, b;
    cout << "Enter a\n"; cin >> a;
    cout << "Enter b\n"; cin >> b;
    int (*operation[4])(int a, int  b) = {suma, different, mult, devisions};
 
    int lenght = sizeof(operation) / sizeof(operation[0]);
 
    for (int i = 0; i < lenght; i++)
    {
        cout << "Result = " << operation[i](a, b) << "\n";
    }
 
    system("Pause");
}
0
18.03.2020, 19:22
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
18.03.2020, 19:22
Помогаю со студенческими работами здесь

Разработать простой калькулятор
Всем-всем привет!!! Извините за придедущее письмо ето всьо брат, но я тоже не знаю руссково язика)...

Простой калькулятор, выбивает ошбку(
#include &lt;iostream&gt; #include &lt;conio.h&gt; #include&lt;locale.h&gt; using namespace std; int main() {...

Надо сделать простой калькулятор
Помогите...........НАдо сделать простой калькулятор. вот тема:&quot;розробка програмного забезпечення...

Простой калькулятор рациональных чисел на C++
Всем доброго времени суток, Только начал изучать C++ и задали вот такое задание: Напишите...


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

Или воспользуйтесь поиском по форуму:
5
Ответ Создать тему
Новые блоги и статьи
Обработка графической информации
hw_wired 28.01.2025
Введение в компьютерную графику Компьютерная графика стала неотъемлемой частью современного цифрового мира, пройдя впечатляющий путь развития от простейших черно-белых изображений до сложных. . .
Python в Алгоритмике: Решение задач
hw_wired 28.01.2025
Введение в Python и Алгоритмику В современном мире программирование стало неотъемлемой частью образования и профессионального развития. Python зарекомендовал себя как один из самых популярных и. . .
Компьютер как универсальное устройство для работы с информацией
hw_wired 28.01.2025
Введение в устройство компьютера Компьютер представляет собой универсальное электронное устройство, предназначенное для автоматической обработки информации. В современном мире компьютер стал. . .
Информация и информационные процессы
hw_wired 28.01.2025
Понятие информации и ее виды В современном мире информация является одним из фундаментальных понятий, пронизывающих все сферы человеческой деятельности. Под информацией понимают любые сведения об. . .
Алгоритмика
hw_wired 28.01.2025
Введение: Основы алгоритмики и её роль в информатике В современном мире программирование и алгоритмическое мышление стали неотъемлемой частью образования и профессиональной деятельности. . . .
Информационное моделирование
hw_wired 28.01.2025
Введение в информационное моделирование В современном мире информационное моделирование стало неотъемлемой частью научной, образовательной и профессиональной деятельности. Это мощный инструмент. . .
Объекты и их имена
hw_wired 28.01.2025
Введение: Основы объектного подхода и их роль в информатике В современном мире информационных технологий объектный подход стал фундаментальным принципом организации и обработки информации. Этот. . .
Элементы алгоритмизации
hw_wired 28.01.2025
Основы алгоритмизации В современном мире алгоритмы играют фундаментальную роль в развитии информационных технологий и программирования. Понимание основ алгоритмизации является ключевым элементом в. . .
Человек и информация
hw_wired 28.01.2025
Введение: роль информации в познании мира В современном мире информация играет фундаментальную роль в процессе познания окружающей действительности. Она представляет собой совокупность сведений об. . .
Компьютер и информация
hw_wired 28.01.2025
Эволюция вычислительных машин История развития вычислительной техники начинается задолго до появления первых электронных устройств. Человечество всегда стремилось упростить процесс вычислений и. . .
Информационные технологии
hw_wired 28.01.2025
Введение в современные технологии работы с информацией В современном мире информационные технологии стали неотъемлемой частью практически всех сфер человеческой деятельности. Они существенно. . .
Информация вокруг нас
hw_wired 28.01.2025
Основные понятия информации В современном мире понятие информации является фундаментальным и охватывает практически все сферы человеческой деятельности. Информация представляет собой совокупность. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru