判别式解决方案计算批处理文件(平方根)(跟进)

时间:2017-12-06 20:19:58

标签: batch-file calculator equation square-root

我正在尝试创建一个程序,该程序具有用户输入3个值,然后程序继续执行并分别用作ax^2+bx+c中的A,B和C(判别式= D),并为您提供&# 34;溶液&#34;它有(如果D>0则有2个解决方案,如果D = 0一个&#34;双&#34;解决方案,如果D < 0它将显示没有真正的解决方案)。

@echo off

setlocal enabledelayedexpansion

:arxh
cls
echo *****************************************
echo *Theleis na trekseis to programma (Y/N)?*
echo *****************************************
set /p V=
if /I %V%==Y goto start 
if /I %V%==N goto end
echo ~~~~~~~~~~~~~~~~~~~~~~~~~
echo ~Kane thn swsth epilogh!~ 
echo ~~~~~~~~~~~~~~~~~~~~~~~~~
pause
goto arxh

:start
echo --------------------
echo Dwse mou thn timh A:
echo --------------------
set /p A=
echo --------------------
echo Dwse mou thn timh B:
echo --------------------
set /p B=
echo --------------------
echo Dwse mou thn timh C:
echo --------------------
set /p C=
goto calculation 

:calculation
set /a D=%B%*%B%-4*%A%*%C% 
echo **************************************************************************
echo ----------------------
echo Timh diakrinousas: %D%
echo ----------------------
if %D% LSS 0 goto error
if %D% GTR 0 goto positive
if %D%==0 goto zero

:error
echo ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
echo ~Arnhtikh timh diakrinousas! Den uparxoun pragmatikes luseis!~
echo ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
pause
goto arxh


:positive

setlocal enabledelayedexpansion
set count=0
set /p dend=Vale edw thn timh ths diakrinousas: 
set num=%dend%
for /l %%i in (%dend%, -1, 1) do (
   set /a sqr=%%i*%%i
   if !sqr! leq %dend% (
      set digit=%%i.
     set root=%%i
      goto out
   )
)

:out
   call set /a count+=1
   if %count% GTR 5 goto next
   set /a dend=(%dend%-%sqr%)*100
   set /a div=%root%*2
   for /l %%i in (9,-1,0) do (
      set /a sqr=%div%%%i*%%i
      if !sqr! leq %dend% (
         set root=%root%%%i
         goto out
      )
   )

:next   
   set root=%root:~-5%
   if %dend% neq 0 set digit=%digit%%root%
goto results

:results
set /p S=%digit%
set /a Q=(-%B%+%S%)/2*%A%
set /a R=(-%B%-%S%)/2*%A%
echo ----------------------------------------------------
echo H prwth riza einai ~%Q%~ kai h deuterh einai ~%R%~ !
echo ----------------------------------------------------
echo *****************Approximate Value*******************
pause
goto arxh


:zero
set /a Z=-b/2*A
echo -------------------------
echo H diplh riza einai: %Z% !
echo -------------------------
pause
goto arxh

:end
end

我找到了一个用户输入数字的程序,它找到了所述数字的平方根!我转换了代码,因此用户不会输入该数字,而是数字将是判别式(数字A,B和C将在等式中产生)。

无论我怎么努力,我都会遇到missing operants错误或unbalanced parenthesis或者它会向我显示判别式的根,但不会在下面的等式中正确使用它。说真的,我被卡住了。

一些帮助将不胜感激!

P.S。不要运行代码片段,我是新来的,所以我使用该工具来显示代码。

无论如何,谢谢你

0 个答案:

没有答案