Форум программистов, компьютерный форум, киберфорум
Наши страницы
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.50/12: Рейтинг темы: голосов - 12, средняя оценка - 4.50
Albionus
0 / 0 / 0
Регистрация: 18.07.2013
Сообщений: 13
1

Калькулятор на 1с 7.7

22.07.2013, 15:59. Просмотров 2507. Ответов 2
Метки нет (Все метки)

Всем доброго времени суток , в программировании я новичок изучаю можно сказать методом тыка , при составлении калькулятора простейшего наткнулся на ряд проблем :1) при сложении например 5+3=8 считает он правильно , но при дальнейшем нажатии на кнопку равно прибавляет цифру 5 а не цифру 3, с вычитанием тоже белеберда в минус не уходит. 2)Не прописывается запятая (тип Поле ввода "Число").Перепробовал множество вариантов и запутался.

Вот что удалось тыком добиться (в данном модуле "Поле"-название идентификатора Поле Ввода где отображаются цифры )

Заранее огромнейшее СПАСИБО !
С Ув.Albionus

1C
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
Перем А;
      Перем Б;
    
    //Кнопка С************************* 
    Процедура кнС()
        Поле ="" ;
    КонецПроцедуры  
    //Кнопка 0************************* 
    Процедура кнНоль()
        Поле = Строка(Поле) + "0" ;
    КонецПроцедуры     
    //Кнопка 1************************* 
    Процедура кнОдин()
        Поле = Строка(Поле) + "1" ;
    КонецПроцедуры
    //Кнопка 2*************************             
    Процедура кнДва()
        Поле = Строка(Поле) + "2";
    КонецПроцедуры
    //Кнопка 3*************************             
    Процедура кнТри()
        Поле = Строка(Поле) + "3";
    КонецПроцедуры
    //Кнопка 4*************************             
    Процедура кнЧетыре()
        Поле = Строка(Поле) + "4";
    КонецПроцедуры
    //Кнопка 5*************************             
    Процедура кнПять()
        Поле = Строка(Поле) + "5";
    КонецПроцедуры
    //Кнопка 6*************************             
    Процедура кнШесть()
        Поле = Строка(Поле) + "6";
    КонецПроцедуры
    //Кнопка 7*************************             
    Процедура кнСемь()
        Поле = Строка(Поле) + "7";
    КонецПроцедуры
    //Кнопка 8*************************             
    Процедура кнВосемь()
        Поле = Строка(Поле) + "8";
    КонецПроцедуры
    //Кнопка 9*************************             
    Процедура кнДевять()
        Поле = Строка(Поле) + "9";
    КонецПроцедуры
    
    
    //Кнопка Точка*************************             
Процедура кнТочка()
      Поле = Строка(Поле)+ ","; 
КонецПроцедуры      
        
     //Кнопка Плюс*************************
Процедура кнСложить()
       А = Поле + "" ;
       Поле = "";
       Б = 1;
КонецПроцедуры
 
     //Кнопка Минус*************************
Процедура кнМинус()
       А = Поле -  "" ;
       Поле = "";
       Б = 2;
КонецПроцедуры
 
     //Кнопка Равно*************************    
Процедура кнРавно()
      Если  Б = 1 Тогда
        Поле = А + Поле;
      КонецЕсли;
      Если  Б = 2 Тогда
        Поле = А - Поле;
      КонецЕсли;
КонецПроцедуры
0
QA
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
22.07.2013, 15:59
Ответы с готовыми решениями:

Как преобразовать обычный калькулятор в калькулятор использующий класс стек?
#include <iostream> int main(){ int a = 0; int b = 0; char operation; ...

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


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

Или воспользуйтесь поиском по форуму:
2
duk337
2951 / 1763 / 82
Регистрация: 03.11.2011
Сообщений: 8,280
23.07.2013, 09:13 2
Понятно, что числовой контрол (поле ввода) имеет символьный буфер ввода. Но в 77, в отличие от 8, он не выделяется как объект, посему - имхо - работать с ним не рекомендуется, поскольку неизвестно, как он себя поведёт. Это что касается 1с.
Что касается алгоритма.
У Вас два числовых операнда и знак. Сделайте, как в жизни: заведите и заполняйте операнды методом "Число()".
0
Albionus
0 / 0 / 0
Регистрация: 18.07.2013
Сообщений: 13
23.07.2013, 16:00  [ТС] 3
Понял спасибо
0
Ответ Создать тему
Опции темы

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