Форум программистов, компьютерный форум CyberForum.ru
Наши страницы

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
Рейтинг: Рейтинг темы: голосов - 114, средняя оценка - 4.89
anna)
Сообщений: n/a
#1

напишите в С++ программу-калькулятор арифметических функций - C++

29.09.2011, 23:11. Просмотров 16296. Ответов 12
Метки нет (Все метки)

напишите в С++ программу-калькулятор арифметических функций, используя switch
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
29.09.2011, 23:11
Здравствуйте! Я подобрал для вас темы с ответами на вопрос напишите в С++ программу-калькулятор арифметических функций (C++):

Введение функций в программу(калькулятор) - C++
Доброго времени суток! Извините но возможно мой вопрос глупым покажется, я только начала изучать с++, решил начать с самого простого...

Калькулятор с парсингом арифметических выражений - C++
Народ интересует вопрос возможно ли сделать калькулятор в console приложении на C++ так что бы я ввожу строку например 3+4*2 он берет всю...

Калькулятор логических/арифметических операций(подробности внутри) - C++
1ый курс одного электротехнического вуза! Суть программы, которую нужно написать: Написать нужно на чистом Си Написать...

Калькулятор: выполнение арифметических операций в любой системе счисления - C++
Нужен калькулятор который может совершать арифметичиские операции(+,-,*,/) в любой системе исчисления (2-16)

Напишите за меня калькулятор - C++
Здравствуйте, подскажите как должен выглядеть исходник калькулятора расчитанного только на деление и с точностью вычесления 200000 с...

Программа - калькулятор бинарных функций - C++
Нужно написать калькулятор бинарных Бинарные функции функций по вводимой к примеру строке A NOT B XOR C NAND D строил таблицу различных...

12
magirus
Супер-модератор
Эксперт по компьютерным сетямЭксперт Windows
26682 / 14999 / 867
Регистрация: 15.09.2009
Сообщений: 65,243
Записей в блоге: 70
29.09.2011, 23:13 #2
читать пункты 2.3 3.3
0
An1ka
65 / 70 / 2
Регистрация: 30.06.2011
Сообщений: 176
30.09.2011, 02:09 #3
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
#include<iostream>
int main() {
  setlocale( LC_ALL, "Rus");
  double da, db, dc; char op;
  std::cout << "Введите а: ";
  std::cin >> da;
  std::cout << "Введите операцию (-;+;*;/): ";
  std::cin >> op;
  std::cout << "Введите b: ";
  std::cin >> db;
  switch ( op)
  {
     case '-': dc = da - db; break;
     case '+': dc = da + db; break;
     case '*': dc = da * db; break;
     case '/': dc = da / db; break;
     default: std::cout << "Неизвестная операция: " << op; return 0;
  }
  std::cout << "Результат: " << da << op << db << " = " << dc << std::endl;
  return 0;
}
1
Vidok
37 / 37 / 2
Регистрация: 03.09.2011
Сообщений: 279
30.09.2011, 02:14 #4
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
#include <iostream>
using namespace std;
 
int main () {
 
char symbol,ch;
double fir,sec;
do {
cout << "Enter first operand, operation, second operand: ";
cin >> fir >> symbol >> sec;
 
switch(symbol) {
 
case '/' : cout << " = " << fir/sec << endl;
    break;
case '*' : cout << " = " << fir*sec << endl;
    break;
case '+' : cout << " = " << fir+sec << endl;
    break;
case '-' : cout << " = " << fir-sec << endl;
    break;
default  : cout << "You should write ""/,*,+,-"" only! \n";
}
start:
cout << "Continue?(y/n) ";
cin >> ch; cout << endl;
if(ch == 'y')
    continue;
else if(ch == 'n')
    exit(0);
else {
    cout << "Wrong option!";
    goto start;
}
}
while(ch != 'n');
 
system("Pause");
 
return 0;
}
0
alkagolik
Заблокирован
30.09.2011, 02:20 #5

C++
1
2
3
4
5
6
7
8
9
10
start:
cout << "Continue?(y/n) ";
cin >> ch; cout << endl;
if(ch == 'y')
        continue;
else if(ch == 'n')
        exit(0);
else {
        cout << "Wrong option!";
        goto start;
0
Vidok
37 / 37 / 2
Регистрация: 03.09.2011
Сообщений: 279
30.09.2011, 02:29 #6
главное что понятно

Добавлено через 3 минуты
Ну можно заменить например еще одним
C++
1
do{....}while();
0
Merovingian
54 / 54 / 5
Регистрация: 24.09.2011
Сообщений: 149
30.09.2011, 03:02 #7
Vidok, никогда не пользуйтесь goto
Это не по этикету, да и просто тошнит от такого)
0
Vidok
37 / 37 / 2
Регистрация: 03.09.2011
Сообщений: 279
30.09.2011, 16:59 #8
А почему сказать никто не может? Я скажу, потому что усложняет восприятие кода! Вам сложен этот код? Или вы так часто разбираетесь в 50 кбайтовых кодах с goto? В чем я сомневаюсь. Ведь программа понятная и запутаться здесь сложновато. По этому вполне можно и раз использовать.
0
alkagolik
Заблокирован
30.09.2011, 17:20 #9
Цитата Сообщение от Vidok Посмотреть сообщение
А почему сказать никто не может? Я скажу, потому что усложняет восприятие кода! Вам сложен этот код?
нет конечно ничего сложного тут нет. я имел ввиду что в этом операторе в данном случае нет необходимости, как вы правильно заметили что можно организовать цикл. А поскольку все и так выполняется в цикле, то и вложенный цикл ничего не меняет. т.е. можно просто написать это без цикла в уже имеющемся цикле.
критика goto
0
Bers
Заблокирован
30.09.2011, 19:24 #10
Цитата Сообщение от Merovingian Посмотреть сообщение
никогда не пользуйтесь goto
Это не по этикету, да и просто тошнит от такого)
http://habrahabr.ru/blogs/cpp/114211/
2
Nameless One
Эксперт С++
5774 / 3424 / 255
Регистрация: 08.02.2010
Сообщений: 7,447
30.09.2011, 20:03 #11
Цитата Сообщение от Merovingian Посмотреть сообщение
Vidok, никогда не пользуйтесь goto
фанатизм никогда к добру не приводит.
Плохо, когда goto используют как замену условным выражениям, циклам и процедурам. Но в некоторых случаях он может быть полезен. Пример: выход из вложенных циклов. Или вот еще пример: https://github.com/torvalds/linux/bl...on/CodingStyle, см. главу 7 (кто не понял - это Coding Style к одному из крупнейших проектов на Си )
0
Vidok
37 / 37 / 2
Регистрация: 03.09.2011
Сообщений: 279
01.10.2011, 00:37 #12
Цитата Сообщение от alkagolik Посмотреть сообщение
т.е. можно просто написать это без цикла в уже имеющемся цикле.
Но ведь придется заново считать даже при не правильном ответе или я ошибаюсь?
0
alkagolik
Заблокирован
01.10.2011, 01:39 #13
Цитата Сообщение от Vidok Посмотреть сообщение
Но ведь придется заново считать даже при не правильном ответе или я ошибаюсь?
ну формально нет, однако фактически пользователю предлагается 2 взаимоисключающих варианта на выбор: продолжить\прекратить. и программа завершается только в случае выбора второго, следовательно первый вариант и обрабатывать бессмысленно, ну разве что можно зациклить и кинуть фразу типа "поздравляю! вы взломали программу". короче обработка варианта "да, продолжить" фактически практически не имеет смысла, выход от нее не зависит.
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
01.10.2011, 01:39
Привет! Вот еще темы с ответами:

Передача значений функций в главную программу, вызов функций - C++
Здравствуйте! Скорее всего, неправильно передаю значения функциям и в главную программу. Помогите найти ошибку! В итоге выводит...

Реализовать консольный калькулятор с выводом функций через параметры - C++
Мне задали реализовать консольный калькулятор с выводом функций через параметры. Функции + - * / Пример использования: #myCalck...

Не применяя библиотечных функций, напишите код функции - C++
Не применяя библиотечных функций, напишите код функции для вычисления чисел типа int и double в целую степень n. Напишите программу, в...

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


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

Или воспользуйтесь поиском по форуму:
13
Yandex
Объявления
01.10.2011, 01:39
Ответ Создать тему
Опции темы

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