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

Переделать калькулятор

27.02.2013, 15:46. Показов 861. Ответов 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
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
#include <iostream> 
#include <Windows.h>
using namespace std;
void sum (int a, int b)
  {       
   cout<<a<<"+"<<b<<"="<<endl;
  }
 
void razn (int a, int b)        
   {    
   cout<<a<<"-"<<b<<"="<<endl; 
   }      
 
void umnog(int a, int b)    
  {     
   cout<<a<<"*"<<b<<"="<<endl; 
  }
 
void delen(int a, int b)
{
  if(b!=0)
  {
  cout<<a<<"/"<<b<<"="<<endl;
  }
  else
  {
      cout<<"На ноль делить нельзя"<<endl;
  }
}
void main()
{
  SetConsoleOutputCP(1251);
  int a,b;
  char d;
  cout<<"Введите первое число ->"<<endl;
  cin>>a;
  cout<<"Введите второе число ->"<<endl;
  cin>>b;
  cout<<"Введите действие(+,-,*,/) ->"<<endl;
  cin>>d;
  switch(d)
 {
 case '+':
     sum(a,b);
 break;
 
 case '-':
     razn(a,b);
 break;
 
 case '*':
     umnog(a,b);
 break;
 
 case '/':
     delen(a,b); 
 break;
 
 default:
 cout<<"Ошибка не верное действие "<<endl;
  }
}
когда сделал вот так то сказали надо переделать что б 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
42
43
#include <iostream> 
#include <Windows.h>
using namespace std;
double calk (int a, int b, char d)
{
   switch(d)
   {
    case '+':   
        
        return a+b;
      
    case '-':
        
        return a-b;
    
    case '*':
        
        return a*b;
        
    case '/':
     
        if(b!=0)
        return a/b;
        else
        {
        cout<<"Делить на ноль нельзя";
        return 0;      
        }
    
    case '%':
        return a%b;
   }
}
void main()
{
  SetConsoleOutputCP(1251);
  int a,b;
  char d;
  cout<<"Введите два числа ->"<<endl;
  cin>>a>>b;
  cout<<"Введите действие(+,-,*,/,%) ->"<<endl;
  cin>>d;
  cout<<a<<d<<b<<"="<<calk(a,b,d)<<endl;
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
27.02.2013, 15:46
Ответы с готовыми решениями:

Переделать строчный калькулятор через ООП
Друзья, имею отличный строчный калькулятор, сделанный через процедурное программирование. #define _CRT_SECURE_NO_WARNINGS ...

Как преобразовать обычный калькулятор в калькулятор использующий класс стек?
#include &lt;iostream&gt; int main(){ int a = 0; int b = 0; char operation; std::cout &lt;&lt; &quot;Enter first number: &quot;; ...

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

4
 Аватар для Mysterion777
49 / 49 / 13
Регистрация: 11.01.2013
Сообщений: 198
27.02.2013, 16:14
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
52
53
54
55
56
57
58
59
60
61
62
63
64
65
#include <iostream> 
#include <Windows.h>
using namespace std;
void sum (int a, int b)
  {       
   cout<<a<<"+"<<b<<"="<<a+b;
  }
 
void razn (int a, int b)        
   {    
   cout<<a<<"-"<<b<<"="<<a-b; 
   }      
 
void umnog(int a, int b)    
  {     
   cout<<a<<"*"<<b<<"="<<a*b; 
  }
 
void delen(int a, int b)
{
  if(b!=0)
  {
  cout<<a<<"/"<<b<<"="<<a/b;
  }
  else
  {
      cout<<"Íà íîëü äåëèòü íåëüçÿ"<<endl;
  }
}
int main()
{
  SetConsoleOutputCP(1251);
 setlocale(LC_ALL,"russian_russia");
  int a,b;
  char d;
  cout<<"Ââåäèòå ïåðâîå ÷èñëî ->"<<endl;
  cin>>a;
  cout<<"Ââåäèòå âòîðîå ÷èñëî ->"<<endl;
  cin>>b;
  cout<<"Ââåäèòå äåéñòâèå(+,-,*,/) ->"<<endl;
  cin>>d;
  switch(d)
 {
 case '+':
     sum(a,b);
 break;
 
 case '-':
     razn(a,b);
 break;
 
 case '*':
     umnog(a,b);
 break;
 
 case '/':
     delen(a,b); 
 break;
 
 default:
 cout<<"Îøèáêà íå âåðíîå äåéñòâèå "<<endl;
  }
  system("pause");
  return 0;
}
1
505 / 317 / 236
Регистрация: 18.02.2013
Сообщений: 754
27.02.2013, 16:43
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
#include <iostream.h> 
#include <Windows.h>
 
void oper (int a, int b, char v)
{
    double f;
    switch(v)
    {
    case '+':   
       cout<<a<<"+"<<b<<"="<<a+b;
        
    case '-':
        cout<<a<<"-"<<b<<"="<<a-b;
    case '*':
        cout<<a<<"*"<<b<<"="<<a*b;
        
    case '/':
        if (b==0) cout<<"Delenie na 0!";
        else cout<<a<<"/"<<b<<"="<<double(a)/b;
       
    }
}
void main()
{
  //SetConsoleOutputCP(1251);
  int a,b;
  char s;
  cout<<"a b ?"<<endl;
  cin>>a>>b;
  cout<<"(+,-,*,/) ->"<<endl;
  cin>>s;
  oper(a,b,s);
}
1
1 / 1 / 0
Регистрация: 04.01.2013
Сообщений: 121
27.02.2013, 17:55  [ТС]
привет,спасибо)

Добавлено через 1 час 10 минут
Цитата Сообщение от JIioneJI Посмотреть сообщение
привет,спасибо)
всё ровно не совсем так когда выбираю то выводит все действия сразу а как сделать что б выводил только то действие которые выбирает пользователь?
0
 Аватар для Игорь с++
500 / 474 / 63
Регистрация: 26.01.2011
Сообщений: 2,033
27.02.2013, 18:39
JIioneJI, блин ну куда уж проще в том коде , что дала olya7, поставь после каждого кейса - break;
1
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
27.02.2013, 18:39
Помогаю со студенческими работами здесь

надо переделать задачу она уже решена ну ее нужно переделать
вот задача const n=4; var a:array of integer; i,s:integer; begin for i:=1 to n do begin write('Введите ',i,'-й элемент...

возможно ли переделать код алгоритма под Borland C переделать под Borland Delphi?
Подскажите возможно ли переделать код алгоритма под Borland C переделать под Borland Delphi? У меня есть исходник алгоритма шифрования SEAL...

Калькулятор на С
калькулятор в принципе готов, надо только сделать деление на дробные числа, помогите кто чем может пожалуйста

Калькулятор
Значит, я не могу завершить калькулятор из-за одной ошибки (отделил двумя точками с каждой стороны). Не поможете? program lalala; ...

Калькулятор
Вообщем, задали сделать проект, я выбрал калькулятор, что-то написал, поправьте что не правильно. Вот код: unit Unit1; interface ...


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

Или воспользуйтесь поиском по форуму:
5
Ответ Создать тему
Новые блоги и статьи
Знаешь почему 90% людей редко бывают счастливыми?
kumehtar 14.04.2026
Потому что они ждут. Ждут выходных, ждут отпуска, ждут удачного момента. . . а удачный момент так и не приходит.
Фиксация колонок в отчете СКД
Maks 14.04.2026
Фиксация колонок в СКД отчета типа Таблица. Задача: зафиксировать три левых колонки в отчете. Процедура ПриКомпоновкеРезультата(ДокументРезультат, ДанныеРасшифровки, СтандартнаяОбработка) / / . . .
Настройки VS Code
Loafer 13.04.2026
{ "cmake. configureOnOpen": false, "diffEditor. ignoreTrimWhitespace": true, "editor. guides. bracketPairs": "active", "extensions. ignoreRecommendations": true, . . .
Оптимизация кода на разграничение прав доступа к элементам формы
Maks 13.04.2026
Алгоритм из решения ниже реализован на нетиповом документе, разработанного в конфигурации КА2. Задачи, как таковой, поставлено не было, проделанное ниже исключительно моя инициатива. Было так:. . .
Контроль заполнения и очистка дат в зависимости от значения перечислений
Maks 12.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "ПланированиеПерсонала", разработанного в конфигурации КА2. Задача: реализовать контроль корректности заполнения дат назначения. . .
Архитектура слоя интернета для сервера-слоя.
Hrethgir 11.04.2026
В продолжение https:/ / www. cyberforum. ru/ blogs/ 223907/ 10860. html Знаешь что я подумал? Раз мы все источники пишем в голове ветки, то ничего не мешает добавить в голову такой источник, который сам. . .
Подстановка значения реквизита справочника в табличную часть документа
Maks 10.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "ПланированиеПерсонала", разработанного в конфигурации КА2. Задача: при выборе сотрудника (справочник Сотрудники) в ТЧ документа. . .
Очистка реквизитов документа при копировании
Maks 09.04.2026
Алгоритм из решения ниже применим как для типовых, так и для нетиповых документов на самых различных конфигурациях. Задача: при копировании документа очищать определенные реквизиты и табличную. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru