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

Функция возвращает непонятно что(Калькулятор) - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ перегрузка ввода http://www.cyberforum.ru/cpp-beginners/thread706840.html
class LONG { int a; public: friend istream& operator >>(istream& input, LONG& m); }; istream& operator >> (istream& input, LONG& m) { input>>(LONG&)m.a; return input;
C++ Заданы три вектора a(n), b(m), c(k). Вывести наименование вектора, в котором максимальна сумма четных элементов, стоящих на нечетных местах Заданы три вектора a(n), b(m), c(k). Вывести наименование вектора, в котором максимальна сумма четных элементов, стоящих на нечетных местах Помогите пожалуйста http://www.cyberforum.ru/cpp-beginners/thread706839.html
Идея для написания программы C++
Здравствуйте форумчане вот решил у вас спросить. Какую программу написать на C++(желательно тяжелую для опыта так сказать)? Я тут подумывал создать проигрыватель видео и музыки с множеством форматов это 1 сложно будет? А вообше лучше вы посоветуйте.
C++ Простые числа
Проблема заключается в том что он у меня выводит непонятные символы в Txt :( Что мне с этим сделать ? #include <stdio.h> #include <iostream> #include "math.h" using namespace std; int main()
C++ Ошибка во время выполнения http://www.cyberforum.ru/cpp-beginners/thread706814.html
есть такой вот кусочек кода, компилириуются без ошибок, а в процессе выполнения ругает int t = 0; ifstream fin; fin.open ("c:\\.rnd", ifstream::binary); for (int i = 0; i < fsize; i++){ while(fin.get(*buf)) for (int j = 0; j < (fsize)*8; j++) { byte = buf;
C++ Одномерный массив. Печать номера, гистограммы. a) Числа читаются из массива и графически представляются в виде * (печать гистограммы). b) Сначала печатается номер элемента массива, затем его значение, потом гистограмма. подробнее

Показать сообщение отдельно
ozzy_b
2 / 2 / 0
Регистрация: 02.10.2012
Сообщений: 169
23.11.2012, 19:08     Функция возвращает непонятно что(Калькулятор)
Надо сделать ф-цию "скобки" в калькуляторе. Сделал ввод даных, обчисление в отдельной функцие, когда будет введене "(" то вызываеться таже сама ф-ция калькулятора и обчиляет даные в дужках, после ввода ")" она возвращает результат, и "вставляет" его типа вместо первой скобки(ну было так 5*(5-3), а получиться в итоге 5*2), ну я думаю вы поняли. Так вот, незнаю почему, во почемуто из функции возвращаеться 0, или просто ниче не возвращаеться, в итоге выводит 0. В чем проблема?
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
#include <iostream>
#include <conio.h>
#include <math.h>
#include <string.h>
#include <stdlib.h> 
using namespace std;
float calc(bool, float, char[], char[], float, char);
int main ()
{
    float g=0, res=0;
    bool EXIT = false;
    char str[100],op='\0',history[255];
    history[0]='\0';
    calc(EXIT, g, &history[100],&str[100], res, op);
    cout << history << res; 
    getch();
    return 0;
}
float calc(bool EXIT, float g, char history[], char str[], float res, char op)
{
    while (EXIT == false)
    {
        cout << "Input string: ";
        cin >> str;
        strcat(history,str);
        if (str[0] == '=') EXIT = true;
        g = atof(str);
        float G = atof(str);
        if (g==0) op = str[0];
        else
        {  
            if  (op!='\0')
            {
                if (op == '+') res+=g;
                if (op == '-') res-=g;
                if (op == '*') res*=g;
                if (op == '/') res/=g;
                if (op == 's') res=(sin(g));
                if (op == 'c') res=cos(g);
                if (op == 't') res=tan(g);
                if (op == 'l') res=log(g);
                if (op == '^') res=pow(res,g);
                if (op == '(') calc(EXIT, g, &history[100],&str[100], res, op);
                if (op == ')') return res;
                op = '\0';
            }
            else res = g;
        }
    }
    return res;
}
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
 
Текущее время: 05:57. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru