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

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

Восстановить пароль Регистрация
 
Рейтинг: Рейтинг темы: голосов - 114, средняя оценка - 4.89
anna)
Сообщений: n/a
29.09.2011, 23:11     напишите в С++ программу-калькулятор арифметических функций #1
напишите в С++ программу-калькулятор арифметических функций, используя switch
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
29.09.2011, 23:11     напишите в С++ программу-калькулятор арифметических функций
Посмотрите здесь:

C++ Напишите программы для вычисления значений математических функций
C++ Напишите за меня калькулятор
Реализовать консольный калькулятор с выводом функций через параметры C++
C++ Калькулятор логических/арифметических операций(подробности внутри)
Не применяя библиотечных функций, напишите код функции C++
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
magirus
Супер-модератор
 Аватар для magirus
25477 / 14018 / 740
Регистрация: 15.09.2009
Сообщений: 59,697
Записей в блоге: 61
29.09.2011, 23:13     напишите в С++ программу-калькулятор арифметических функций #2
читать пункты 2.3 3.3
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;
}
Vidok
 Аватар для Vidok
36 / 36 / 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;
}
alkagolik
 Аватар для alkagolik
1510 / 616 / 79
Регистрация: 15.07.2011
Сообщений: 3,552
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;
Vidok
 Аватар для Vidok
36 / 36 / 2
Регистрация: 03.09.2011
Сообщений: 279
30.09.2011, 02:29     напишите в С++ программу-калькулятор арифметических функций #6
главное что понятно

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

Программа - калькулятор бинарных функций C++
Калькулятор с парсингом арифметических выражений C++
C++ Введение функций в программу(калькулятор)

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

Или воспользуйтесь поиском по форуму:
alkagolik
 Аватар для alkagolik
1510 / 616 / 79
Регистрация: 15.07.2011
Сообщений: 3,552
01.10.2011, 01:39     напишите в С++ программу-калькулятор арифметических функций #13
Цитата Сообщение от Vidok Посмотреть сообщение
Но ведь придется заново считать даже при не правильном ответе или я ошибаюсь?
ну формально нет, однако фактически пользователю предлагается 2 взаимоисключающих варианта на выбор: продолжить\прекратить. и программа завершается только в случае выбора второго, следовательно первый вариант и обрабатывать бессмысленно, ну разве что можно зациклить и кинуть фразу типа "поздравляю! вы взломали программу". короче обработка варианта "да, продолжить" фактически практически не имеет смысла, выход от нее не зависит.
Yandex
Объявления
01.10.2011, 01:39     напишите в С++ программу-калькулятор арифметических функций
Ответ Создать тему
Опции темы

Текущее время: 18:07. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru