| BG Development · За реклама · За контакти |
Помощ Търсене Потребители Календар Правила |
| Здравей! ( Включване | Регистриране ) |
![]() ![]() ![]() |
| elica1979 |
|
|
Име: Група: Потребител Ранг: Новопостъпил Мнения: 4 Регистриран на: 22.10.15 |
Здравейте!
Имам задание за прост калкулатор на Paskal. Кода който написах в програмата е: Program Calculator; var operand1 : real; operand2 : real; result : real; operation : char; error : string; BEGIN write('Въведете число: '); readln(operand1); write('Въведете операция: '); readln(operation); write('Въведете число: '); readln(operand2); error := ''; case operation of '+': result := operand1 + operand2; '-': result := operand1 - operand2; '*': result := operand1*operand2; '/': result := operand1/operand2; end; if error = '' then writeln('Резултатът е: ', result:6:5) else writeln('Грешка: ', error); END. Програмата работи. Не ми дава грешка. Само при извеждането на резултата се затваря много бързо. Желая да не се затваря. Моля ако някой може да ми помогне за този проблем да пише. Благодаря предварително Това мнение е било редактирано от elica1979 на 22-10-2015, 09:24 |
| ivan84 |
Публикувано на: 22-10-2015, 09:25
|
|
Име: Група: Форумен член Ранг: Почетен член Мнения: 8170 Регистриран на: 01.04.11 |
Затварянето не е проблем на програмата ти, а на шела в който я стартираш. Ако не искаш да се затвори веднага в края и я спри изкуствено. Най-лесно става с един празен readln.
Така шела ще затвори прозорецът, чак след като натиснеш ентер. |
| RoYaL |
Публикувано на: 22-10-2015, 09:26
|
|
Име: Група: Потребител Ранг: Старо куче Мнения: 873 Регистриран на: 21.08.05 |
А какво искаш да стане?
1. Да те пита на ново за числа? - Вкарай цялата операция в безкраен цикъл 2. Да стои отговорът, но приложението да не се затваря и да не можеш а правиш нищо по него освен ръчно да го затвориш? - Би било достатъчно, ако потребителят я рънне от командния ред, а не от IDE-то. Иначе едно празно четене на потребителски вход в края на програмата също ще свърши работа |
| elica1979 |
Публикувано на: 22-10-2015, 10:26
|
|
Име: Група: Потребител Ранг: Новопостъпил Мнения: 4 Регистриран на: 22.10.15 |
Благодаря за бързите отговори.
Искам да ме пита отново за числата. |
| elica1979 |
Публикувано на: 22-10-2015, 10:31
|
|
Име: Група: Потребител Ранг: Новопостъпил Мнения: 4 Регистриран на: 22.10.15 |
for (uint = 1; i > 0; i++)
тази команда дали ще стане? |
| RoYaL |
Публикувано на: 22-10-2015, 10:50
|
|
Име: Група: Потребител Ранг: Старо куче Мнения: 873 Регистриран на: 21.08.05 |
Това ще направи безкраен цикъл според мен, да.
Няма ли while (true) в Pascal? |
| ivan84 |
Публикувано на: 22-10-2015, 10:53
|
||||
|
Име: Група: Форумен член Ранг: Почетен член Мнения: 8170 Регистриран на: 01.04.11 |
не. Сложи цялата програма в цикъл, като преди излизането от него провери дали потребителя иска да направи нова сметка или не.
---edit--- За четене на char е по удачно да се ползва readkey. Така няма да се налага да се натиска enter ---edit--- Едитнах горе кода, че беше пълен с грешки ---edit--- Така даже и работи...
Това мнение е било редактирано от ivan84 на 22-10-2015, 14:04 |
||||
| elica1979 |
Публикувано на: 22-10-2015, 17:03
|
|
Име: Група: Потребител Ранг: Новопостъпил Мнения: 4 Регистриран на: 22.10.15 |
много благодаря ivan84
стана както го исках Това мнение е било редактирано от elica1979 на 22-10-2015, 17:03 |
![]() |
![]() ![]() ![]() |