Форум программистов, компьютерный форум, киберфорум
C для начинающих
Войти
Регистрация
Восстановить пароль
 
3 / 3 / 4
Регистрация: 31.01.2013
Сообщений: 98
1

Отредактировать код

01.02.2013, 01:39. Просмотров 399. Ответов 2
Метки нет (Все метки)


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
int main()
{
    FILE *f;
    f=fopen(FNAME, "r");
    int stack[200];
    char q[200];
    unsigned sp = 0;
    while(!feof(stdin))
    {
        if(scanf ("%s", q) != 1 )
        {
            break;
        }
        int LengthString = strlen(q);
        if (LengthString == 1)
        {
            switch(q[0])
            {
            case '\0':
                break;
            case '=':
                printf("Result = %d\n", stack[--sp]);
                break;
            case '+':
                stack[sp-2] = stack[sp-2] + stack[sp-1];
                sp--;
                break;
            case '-':
                stack[sp-2] = stack[sp-2] - stack[sp-1];
                sp--;
                break;
            case '*':
                stack[sp-2] = stack[sp-1] * stack[sp-2];
                sp--;
                break;
            case '/':
                stack[sp-2] = stack[sp-1] / stack[sp-2];
                sp--;
                break;
            default:
                stack[sp++] = atoi(q);
            }
        }
        else
        {
            break;
        }
    }
    return 0;
    getch();
}
Калькулятор, который не воспринимает отрицательные числа. Пытаюсь с помощью strlen исправить ситуацию, видимо, вру.
Помогите решить проблему: чтобы калькулятор воспринимал отрицательные числа тоже.
Спасибо.
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
01.02.2013, 01:39
Ответы с готовыми решениями:

отредактировать код
в общем программа не правильно считает и при вводе первой координаты точек почему думает что там...

Как получить исходный код *.exe или отредактировать его исполняемый код?
Собственно возможно ли декомпилить его так, чтобы можно было потом обратно скомпилировать? Или...

Отредактировать код
program lab52; var a, b, c, d, m, n, i ,z ,x: integer; function drob(m, n, i: integer):...

Отредактировать код
#include "stdafx.h" #include "iostream" // для cin и cout #include "conio.h" // для getch...

2
5 / 5 / 6
Регистрация: 20.05.2012
Сообщений: 32
01.02.2013, 17:59 2
Без комментариев плохо понятно, вы с консоли знаки считываете?
А в стеке храните числа? Но как его заполняете?
0
Эксперт С++
5024 / 2603 / 241
Регистрация: 07.10.2009
Сообщений: 4,311
Записей в блоге: 1
05.02.2013, 09:00 3
CMson, могу предположить, что унарный минус ваш калькулятор воспринимает за бинарный. То есть любой минус воспринимается как бинарный. Ибо,
C
1
2
3
4
5
switch (q[0]) 
{
    // для любого минуса
    case '-':
}
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
05.02.2013, 09:00

Заказываю контрольные, курсовые, дипломные и любые другие студенческие работы здесь или здесь.

Отредактировать код
Здравствуйте, помогите пожалуйста отредактировать следующий код фрагмент работает правильно как...

Отредактировать код
Отредактируйте пожалуйста код.. Задание: Даны коэффициенты кубического уравнения. Дан промежуток на...

Отредактировать код
Доброго времени суток. Помогите отредактировать этот код <div class='reviews'> <!--...

Отредактировать код
program lab51; const n=4; type matr=array of integer; var j,i,nol:integer; procedure...


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

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
Опции темы

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