0 / 0 / 1
Регистрация: 15.10.2017
Сообщений: 10

Написать прогу для двух операндов и знаков операций, предусмотреть некоторые реакции на неверный знак

18.11.2017, 23:27. Показов 5389. Ответов 2
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
У меня задача: написать программу, в которой вводятся два операнда Х и Y и знак операции (+, –, /, *). Вычислить результат Z в зависимости от знака. Предусмотреть реакции на возможный неверный знак операции, а также на ввод Y=0 при делении. Организовать возможность многократных вычислений без перезагрузки программа (т.е. построить цикл). В качестве символа прекращения вычислений принять ‘0’.

Алгоритм решения задачи должен быть следующим:
1) Вводим знак. Если он является символом '0', то прерываем цикл.
2) Если введенный символ принадлежит к перечисленным, то запрашиваем два числа и выполняем вычисления в зависимости от введенного знака.
3) Иначе сообщаем о некорректном вводе знака.

Вот мое корявое решение, которые я не могу привести в достойный вид. Помогите, пожалуйста, вроде все пункты задачи учтены, нужно как-то красиво это оформить и чтобы работало, т.к. сейчас это нерабочий вариант... (((( а додуматься до рабочего пока не получается

Java
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
public static void main(String[] args) {
 
        Scanner sc = new Scanner(System.in);
        System.out.print("Enter the arithmetic sign: ");
        char arithmeticSign = sc.next().charAt(0);
 
        while (arithmeticSign == '/' || '*' || '+' || '-') {
            System.out.print("Enter the 1st number: ");
            int firstNumber = sc.nextInt();
 
            System.out.print("Enter the 2nd number: ");
            int secondNumber = sc.nextInt();
 
            if (arithmeticSign == '+') {
                int result = firstNumber + secondNumber;
                System.out.println("Result: " + result);
            } else if (arithmeticSign == '-') {
                int result = firstNumber - secondNumber;
                System.out.println("Result: " + result);
            } else if (arithmeticSign == '*') {
                int result = firstNumber * secondNumber;
                System.out.println("Result: " + result);
            } else if (arithmeticSign == '/') {
                int result = firstNumber / secondNumber;
                System.out.println("Result: " + result);
            } else if (arithmeticSign == '/' && secondNumber == 0) {
                System.out.println("Cannot divide by zerro");
 
            }
            if (arithmeticSign != '/' || '*' || '+' || '-') {
                System.out.println("Wrong Sing!");
            }
            if (arithmeticSign == '0') {
                break;
            }
 
        }
 
        sc.close();
 
    }
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
18.11.2017, 23:27
Ответы с готовыми решениями:

написать логическое выражение , представляющее условие (знаки операций отделять от операндов пробелами):
вопрос: На языке C++ написать логическое выражение , представляющее условие (знаки операций отделять от операндов пробелами): x...

Написать программу которая вводит выражение составленное из комплексных чисел знаков операций и круглых скобок
написать программу которая вводит выражение составленное из комплексных чисел знаков операций и круглых скобок!!!!! Добавлено через 2...

Построить множество встречающихся в последовательности знаков арифметических операций и знаков препинания
Дана непустая последовательность символов. Требуется построить и напечатать множество, элементами которого являются ...

2
Эксперт Java
3639 / 2971 / 918
Регистрация: 05.07.2013
Сообщений: 14,220
20.11.2017, 00:01
в блокноте чтоли код пишешь? IDE поставь
0
0 / 0 / 1
Регистрация: 15.10.2017
Сообщений: 10
20.11.2017, 10:16  [ТС]
нет. не в блокноте(

Java
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
public static void main(String[] args) {
 
Scanner sc = new Scanner(System.in);
System.out.print("Enter the arithmetic sign: ");
char arithmeticSign = sc.next().charAt(0);
 
while (arithmeticSign == '/' || '*' || '+' || '-') {
System.out.print("Enter the 1st number: ");
int firstNumber = sc.nextInt();
 
System.out.print("Enter the 2nd number: ");
int secondNumber = sc.nextInt();
 
if (arithmeticSign == '+') {
int result = firstNumber + secondNumber;
System.out.println("Result: " + result);
} else if (arithmeticSign == '-') {
int result = firstNumber - secondNumber;
System.out.println("Result: " + result);
} else if (arithmeticSign == '*') {
int result = firstNumber * secondNumber;
System.out.println("Result: " + result);
} else if (arithmeticSign == '/') {
int result = firstNumber / secondNumber;
System.out.println("Result: " + result);
} else if (arithmeticSign == '/' && secondNumber == 0) {
System.out.println("Cannot divide by zerro");
 
}
if (arithmeticSign != '/' || '*' || '+' || '-') {
System.out.println("Wrong Sing!");
}
if (arithmeticSign == '0') {
break;
}
 
}
 
sc.close();
}
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
20.11.2017, 10:16
Помогаю со студенческими работами здесь

Найти все варианты размещения знаков арифметических операций на месте вопросительных знаков
Составить программу, которая нашла все варианты размещения знаков арифметических операций +, -, * на месте вопросительных знаков в...

Найти все варианты размещения знаков арифметических операций на месте вопросительных знаков в выражении
Составить программу, которая бы нашла все варианты размещения знаков арифметических операций +,-,* на месте вопросительных знаков в...

Вставить между цифрами 1, 2, 3, 4, 9 знак одной из операций +-*/, так, чтобы результат 8-операций равнялся 100
Вставить между цифрами 1,2,3,4...9 знак одной из операций +-*/, так, чтобы результат 8-опреаций равнялся 100. Имеется 8 решений....

Написать функцию md(x, y) для получения остатка от деления целочисленных операндов
Написать функцию md(x, y) для получения остатка от деления целочисленных операндов.

Написать функцию, которая найдет произведение двух матриц, заданных в виде массивов. Предусмотреть проверку корректности
Написать функцию, которая найдет произведение двух матриц, заданных в виде массивов. Предусмотреть проверку корректности ввода исходных...


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

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

Новые блоги и статьи
Анализ и линтинг кода JavaScript: ESLint, Prettier и JSHint
run.dev 26.04.2025
JavaScript прошёл долгий путь от простого языка для анимации веб-страниц до основы современной веб-разработки. С ростом сложности приложений, увеличением кодовых баз и масштабированием команд. . .
Паттерны в Python: Singleton, Factory и Observer
py-thonny 26.04.2025
Паттерны проектирования — это проверенные временем решения типовых проблем разработки программного обеспечения. Их история берёт начало с книги "Приёмы объектно-ориентированного проектирования. . . .
Исключения в C#: Stack Overflow, Access Violation и Out of memory
stackOverflow 26.04.2025
Исключения в C# — это не только механизм оповещения о проблемах, а целое искусство управления потоком выполнения программы в экстремальных ситуациях. Обычное исключение, например,. . .
Логирование в C# ASP.NET Core с помощью Serilog, ElasticSearch, Kibana
stackOverflow 25.04.2025
Помните те времена, когда для анализа проблемы приходилось подключаться к серверу, искать нужный лог-файл среди десятков других и вручную фильтровать тысячи строк в поисках ошибки? К счастью, эти дни. . .
Структура "железный OnKeyUp" вместо антидребезга. Полностью асинхронный счётчик.
Hrethgir 25.04.2025
Программа для симуляции схемы - Logisim Evolution В общем какое-то время отвлёкся, так было надо, теперь когда запилю это на verilog и FPGA , досоставлю заявку в ФИПС на полезную модель - не готов. . .
Автоматизация Amazon Web Services (AWS) с Boto3 в Python
py-thonny 25.04.2025
Облачные вычисления стали неотъемлемой частью современной ИТ-инфраструктуры, а Amazon Web Services (AWS) занимает лидирующие позиции среди провайдеров облачных услуг. Управление многочисленными. . .
Apache Kafka vs RabbitMQ в микросервисной архитектуре
ArchitectMsa 25.04.2025
Современная разработка ПО всё чаще склоняется к микросервисной архитектуре — подходу, при котором приложение разбивается на множество небольших, автономных сервисов. В этой распределённой среде. . .
Параллельное программирование с OpenMP в C++
NullReferenced 24.04.2025
Параллельное программирование — подход к созданию программ, когда одна задача разбивается на несколько подзадач, которые могут выполняться одновременно. Оно стало необходимым навыком для. . .
Цепочки методов в C# с Fluent API
UnmanagedCoder 24.04.2025
Современное программирование — это не только решение функциональных задач, но и создание кода, который удобно поддерживать, расширять и читать. Цепочки методов и Fluent-синтаксис в C# стали мощным. . .
Мульти-тенантные БД с PostgreSQL Row Security
Codd 23.04.2025
Современные облачные сервисы и бизнес-приложения всё чаще обслуживают множество клиентов в рамках единой программной инфраструктуры. Эта архитектурная модель, известная как мульти-тенантность, стала. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru