Вопрос задан 13.04.2021 в 05:39. Предмет Информатика. Спрашивает Борка Iванка.

Помогите найти ошибку. Это калькулятор на C++ #include using namespace std; //Оператор

множественного выбора switch. void main () { setlocale(LC_ALL, "ru"); int a , b , selection ; cout << "Введите 2 числа" << endl; cin >> a >> b; cout << "Выберите математическую аперацию" < "1. Сложение"< "2. Вычитание"< "3. Умнажение"< "4. Деление"< cin >> selection; switch (selection) { case 1: cout<<"Результат +"< default: cout<<"Ошибка! Пункт не опознан" << endl; break; } }
0 0
Перейти к ответам

Ответы на вопрос

Внимание! Ответы на вопросы дают живые люди. Они могут содержать ошибочную информацию, заблуждения, а также ответы могут быть сгенерированы нейросетями. Будьте внимательны. Если вы уверены, что ответ неверный, нажмите кнопку "Пожаловаться" под ответом.
Отвечает Дудин Семён.

Я могу предложить написать простейший калькулятор который может умножать и делить прибовлять и отнемать вот:

c++

Привет всем!


Решил я изучать С++, но тут проблема. Написал я калькулятор, а он не работает. В результате действий пишет "0".


Вот код:


#define _CRT_SECURE_NO_WARNINGS

#include <iostream>

#include <locale>

#include <conio.h>

float a, b, c;

char d;

int p;

int main()

{


while (p != 2)

{

printf("1 = calculator \n 2 - exit \n");

scanf("%d", &p);

switch (p)

{

case 1:

{

float c;

printf("First number ");

scanf("%d", &a);

printf("Action with numbers ");

scanf("%s", &d);

printf("Second number ");

scanf("%d", &b);

if (d == '+')

c = a + b;

if (d == '-')

c = a - b;

if (d == '*')

c = a * b;

if (d == '/')

c = a / b;

system("cls");

}

case 2:

{

break;

}

}

printf("Result = %2.f \n", c);

}

}

0 0
Отвечает нейросеть ChatGpt. Будьте внимательны, ответы нейросети могут содержать ошибочные или выдуманные данные.

Проблема в том, что в строках, где выводятся пункты меню, не хватает символа ";" в конце каждой строки. Это приводит к ошибке компиляции.

Кроме того, функция main должна иметь возвращаемый тип int, а не void.

Исправленный код:

c
#include <iostream> using namespace std; int main() { setlocale(LC_ALL, "ru"); int a, b, selection; cout << "Введите 2 числа" << endl; cin >> a >> b; cout << "Выберите математическую операцию" << endl; cout << "1. Сложение;" << endl; cout << "2. Вычитание;" << endl; cout << "3. Умножение;" << endl; cout << "4. Деление;" << endl; cin >> selection; switch (selection) { case 1: cout << "Результат сложения: " << a + b << endl; break; case 2: cout << "Результат вычитания: " << a - b << endl; break; case 3: cout << "Результат умножения: " << a * b << endl; break; case 4: if (b != 0) { cout << "Результат деления: " << a / b << endl; } else { cout << "Ошибка! Деление на ноль" << endl; } break; default: cout << "Ошибка! Пункт не опознан" << endl; break; } return 0; }

В этом исправленном коде добавлено условие проверки деления на ноль. Если второе число равно нулю, то выводится сообщение об ошибке.

0 0

Топ вопросов за вчера в категории Информатика

Последние заданные вопросы в категории Информатика

Задать вопрос