From 0671d9ab4f07790c56fb4e82ec245bac682bc514 Mon Sep 17 00:00:00 2001
From: Antonio MATTAR <antonio.mattar@etu.univ-amu.fr>
Date: Mon, 4 Jul 2022 11:26:15 +0200
Subject: [PATCH] -Fixed the name of relative int images to see negative nums
 // -Fixed the possibility of crashing because of relative int operations

---
 main.py | 56 ++++++++++++++++++++++++++++++++++++++++++--------------
 1 file changed, 42 insertions(+), 14 deletions(-)

diff --git a/main.py b/main.py
index 2b09b11..a8c46f3 100644
--- a/main.py
+++ b/main.py
@@ -160,7 +160,7 @@ def run_show_numbers(path):
         terme = int(input('Enter a number: '))
         t = app_functions.dec_to_lambda_relative_integers(terme)
         print('Voici le terme:',logic.to_string(t))
-        logic.captureImage(t,path,'ENTIER-RELATIF-'+str(terme),False)
+        logic.captureImage(t,path,'ENTIER-RELATIF#'+'('+str(terme)+')',False)
         save_image_choice = input('Do you want to save the images? (Y/n): ')
         while save_image_choice not in ['y','n','']:
                 save_image_choice = input('Invalid choice. Do you want to save the images of the reduction? (Y/n): ')
@@ -328,14 +328,19 @@ def run_arithmetic_operations_menu(path='arithmetic expressions'):
         clear()
         print("Voici le terme: "+ logic.to_string(app_functions.ADD))
         logic.captureImage(app_functions.ADD,path,'ADD', False)
-        choix=(input("do you want to try an exemple? (Y/n) : "))
+        choix=(input("Do you want to try an example? (Y/n) : "))
         while choix not in ['y','n','']:
-            choix = input('Invalid choice. Do you want to try an exemple? (Y/n): ')
+            choix = input('Invalid choice. Do you want to try an example? (Y/n): ')
         if choix=='y' or choix=='':
             clear()
             print("you are going to try n+m")
             n=int(input("give n : "))
             m=int(input("give m : "))
+            while n < 0 or m < 0:
+                clear()
+                print('Relative addition is not possible. Try again.')
+                n=int(input("give n : "))
+                m=int(input("give m : "))
             app_functions.add(app_functions.dec_to_church(n),app_functions.dec_to_church(m))
         save_image_choice = input('Do you want to save the images? (Y/n): ')
         while save_image_choice not in ['y','n','']:
@@ -352,14 +357,19 @@ def run_arithmetic_operations_menu(path='arithmetic expressions'):
         clear()
         print("Voici le terme: "+ logic.to_string(app_functions.SUB))
         logic.captureImage(app_functions.SUB,path,'SUB', False)
-        choix=(input("do you want to try an exemple? (Y/n) : "))
+        choix=(input("Do you want to try an example? (Y/n) : "))
         while choix not in ['y','n','']:
-            choix = input('Invalid choice. Do you want to try an exemple? (Y/n): ')
+            choix = input('Invalid choice. Do you want to try an example? (Y/n): ')
         if choix=='y' or choix=='':
             clear()
             print("you are going to try n-m")
             n=int(input("give n : "))
             m=int(input("give m : "))
+            while m > n:
+                clear()
+                print('Relative substraction is not possible. Try again.')
+                n=int(input("give n : "))
+                m=int(input("give m : "))
             app_functions.sub(app_functions.dec_to_church(n),app_functions.dec_to_church(m))
         save_image_choice = input('Do you want to save the images? (Y/n): ')
         while save_image_choice not in ['Y','n','']:
@@ -376,15 +386,20 @@ def run_arithmetic_operations_menu(path='arithmetic expressions'):
         clear()
         print("Voici le terme: "+ logic.to_string(app_functions.MUL))
         logic.captureImage(app_functions.MUL,path,'MUL',False)
-        choix=(input("do you want to try an exemple? (Y/n) : "))
+        choix=(input("Do you want to try an example? (Y/n) : "))
         while choix not in ['y','n','']:
-            choix = input('Invalid choice. Do you want to try an exemple? (Y/n): ')
+            choix = input('Invalid choice. Do you want to try an example? (Y/n): ')
         if choix=='y' or choix=='':
             clear()
             print("you are going to try n*m")
             n=int(input("give n : "))
             m=int(input("give m : "))
-            app_functions.mul(app_functions.dec_to_church(n),app_functions.dec_to_church(m))
+            while m < 0 or n < 0:
+                clear()
+                print('Relative multiplication is not possible. Try again.')
+                n=int(input("give n : "))
+                m=int(input("give m : "))
+            app_functions.multiplication(app_functions.dec_to_church(n),app_functions.dec_to_church(m))
         save_image_choice = input('Do you want to save the images? (Y/n): ')
         while save_image_choice not in ['y','n','']:
                 save_image_choice = input('Invalid choice. Do you want to save the images? (Y/n): ')
@@ -400,14 +415,19 @@ def run_arithmetic_operations_menu(path='arithmetic expressions'):
         clear()
         print("Voici le terme: "+ logic.to_string(app_functions.POW))
         logic.captureImage(app_functions.POW,path,'POWER',False)
-        choix=(input("do you want to try an exemple? (Y/n) : "))
+        choix=(input("Do you want to try an example? (Y/n) : "))
         while choix not in ['y','n','']:
-            choix = input('Invalid choice. Do you want to try an exemple? (Y/n): ')
+            choix = input('Invalid choice. Do you want to try an example? (Y/n): ')
         if choix=='y' or choix=='':
             clear()
             print("you are going to try n puiss m")
             n=int(input("give n : "))
             m=int(input("give m : "))
+            while m < 0 or n < 0:
+                clear()
+                print('Relative power is not possible. Try again.')
+                n=int(input("give n : "))
+                m=int(input("give m : "))
             app_functions.power(app_functions.dec_to_church(n),app_functions.dec_to_church(m))
         save_image_choice = input('Do you want to save the images? (Y/n): ')
         while save_image_choice not in ['y','n','']:
@@ -424,13 +444,17 @@ def run_arithmetic_operations_menu(path='arithmetic expressions'):
         clear()
         print("Voici le terme: "+ logic.to_string(app_functions.SUCCS))
         logic.captureImage(app_functions.SUCCS,path,'SUCCS',False)
-        choix=(input("do you want to try an exemple? (Y/n) : "))
+        choix=(input("Do you want to try an example? (Y/n) : "))
         while choix not in ['y','n','']:
-            choix = input('Invalid choice. Do you want to try an exemple? (Y/n): ')
+            choix = input('Invalid choice. Do you want to try an example? (Y/n): ')
         if choix=='y'or choix=='':
             clear()
             print("you are going to try n+1")
             n=int(input("give n : "))
+            while n<0:
+                clear()
+                print('Relative integers not possible. Try again.')
+                n=int(input("give n : "))
             app_functions.succ(app_functions.dec_to_church(n))
         save_image_choice = input('Do you want to save the images? (Y/n): ')
         while save_image_choice not in ['y','n','']:
@@ -447,13 +471,17 @@ def run_arithmetic_operations_menu(path='arithmetic expressions'):
         clear()
         print("Voici le terme: "+ logic.to_string(app_functions.PRED))
         logic.captureImage(app_functions.PRED,path,'PRED',False)
-        choix=(input("do you want to try an exemple? (Y/n) : "))
+        choix=(input("Do you want to try an example? (Y/n) : "))
         while choix not in ['y','n','']:
-            choix = input('Invalid choice. Do you want to try an exemple? (Y/n): ')
+            choix = input('Invalid choice. Do you want to try an example? (Y/n): ')
         if choix=='y' or choix=='':
             clear()
             print("you are going to try n-1")
             n=int(input("give n : "))
+            while n<0:
+                clear()
+                print('Relative integers not possible. Try again.')
+                n=int(input("give n : "))
             app_functions.predec(app_functions.dec_to_church(n))
         save_image_choice = input('Do you want to save the images? (Y/n): ')
         while save_image_choice not in ['y','n','']:
-- 
GitLab