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

Написать калькулятор, используя класс - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Не работают cin и cout. iostream included, но пишет, что это неизвестные идентификаторы. VC++ 2008 express http://www.cyberforum.ru/cpp-beginners/thread987070.html
Может кто-то подскажет, почему у меня не работают cin и cout? iostream included, но пишет, что эт онеизвестные идентификаторы. Пользуюсь VC++ 2008 express
Visual C++ Не найден идентификатор при вызове функции (работа в MFC) void Rect::Draw(CPaintDC &dc) { int x1,x2,x3,x4; x1 = GetTop(); x2 = GetLeft(); x3 = GetRight(); x4 = GetBottom(); dc.Rectangle(x1,x2,x3,x4); } // реализация метода http://www.cyberforum.ru/cpp-beginners/thread987067.html
Записать текст в массив из файла C++
Подскажите пожалуйста как реализовать такое : нужно записать в массив текст из файла , который расположен между 2-й и 4-й запятой ( в пределах одной строки ) .
C++ Доступ к закрытым конструкторам и деструкторам
Как осуществить доступ к закрытым конструктором и деструкторам и конструкторам через методы класса?
C++ Выберите из файла числа и занесите в очередь. Выведите содержимое и посчитайте количество положительных чисел http://www.cyberforum.ru/cpp-beginners/thread987038.html
Даны текстовый файл, содержащий числовую информацию. Выберите из него числа и занесите в очередь. Выведите содержимое очереди на экран и посчитайте количество положительных чисел.
C++ не вижу ошибки у меня при любом в воде числа из заданного пользователем диапазона выводит угадали. Суть игры: пользователю предлагается вводить число из некоторого диапазона до тех пор, пока он его не угадает. Если пользователь вводит чис- ло, большее чем загаданное, то программа выводит сообщение «Перелет». Если пользо- ватель вводит число, меньшее чем загаданное, то программа выводит сообщение «Недо-... подробнее

Показать сообщение отдельно
Ultrafight
13 / 13 / 5
Регистрация: 23.10.2013
Сообщений: 60
24.10.2013, 23:15     Написать калькулятор, используя класс
файл calc.h
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
#ifndef CALC
#define CALC
 
#include <cstdlib>
#include <stdio.h>
#include <iostream>
 
class Calculator
{
    private:
    float a_;
    float b_;
    float res;
    char oper;
 
    public:
    Calculator();
    void plus();
    void minus();
    void mul();
    void div();
    void print_res();
};
 
#endif
файл calc.cpp
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
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
#include "calc.h"
 
Calculator::Calculator()
{
    char str[30];
    char c;
    int i;
    char * a;
    char * b;
    char oper;
    int a_len;
    int b_len;
    bool b_error;
 
    printf("Enter expression: ");
    scanf("%s", str);
 
    i=0;
    c='1';
    a_len=0;
    b_len=0;
    b_error=false;
 
    while(c!='\0')
    {
        c=str[i];
        if(c=='-')
        {
            i++;
            a_len++;
            c=str[i];
        }
        while( (c!='+') && (c!='-') && (c!='*') && (c!='/') && (c!='\0') )
        {
            c=str[i];
            i++;
            a_len++;
        }
        if(c=='\0')
        {
            printf("Error!");
            b_error=true;
            break;
        }
        while(c!='\0')
        {
            c=str[i];
            i++;
            b_len++;
        }
    }
 
    if(b_error==false)
    {
        a_len--;
        b_len--;
 
        a = new char[a_len+1];
        b = new char[b_len+1];
 
        i=0;
        for(int j=0; j<a_len; j++)
        {
            a[j]=str[i];
            i++;
        }
        a[a_len]='\0';
        oper=str[i];
        i++;
        for(int j=0; j<b_len; j++)
        {
            b[j]=str[i];
            i++;
        }
        b[b_len]='\0';
 
        a_=atof(a);
        b_=atof(b);
 
        if(oper=='+')
        {
            plus();
        }
        else if(oper=='-')
        {
            minus();
        }
        else if(oper=='*')
        {
            mul();
        }
        else
        {
            div();
        }
        if(b_==0 && oper=='/')
        {
            printf("Error!");
        }
        else
        {
            print_res();
        }
    }
}
 
void Calculator::plus()
{
    res=a_+b_;
}
 
void Calculator::minus()
{
    res=a_-b_;
}
 
void Calculator::mul()
{
    res=a_*b_;
}
 
void Calculator::div()
{
    if(b_!=0)
    {
        res=a_/b_;
    }
}
 
void Calculator::print_res()
{
    printf("Result:%f",res);
}
файл main.cpp
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
#include <iostream>
#include <stdio.h>
#include "calc.h"
 
using namespace std;
 
int main()
{
    class Calculator * calc;
    calc=new Calculator();
    getchar();
    delete calc;
    return 0;
}
Добавлено через 4 минуты
у меня без задержки ввода) прям сразу пишешь выражение и тебе все посчитают)
 
Текущее время: 02:24. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru