diff --git a/src/main.nim b/src/main.nim index 7d26e60..4c44993 100644 --- a/src/main.nim +++ b/src/main.nim @@ -1,8 +1,7 @@ -import strutils, sequtils, os, procedures, strformat -# TODO: while loop to check if inputs are valid +import strutils, sequtils, os, procedures var operation: string -# if command is "dot" or "cross" preform that operation +#? if command is "dot" or "cross" preform that operation if paramStr(0).endsWith("/dot") or paramStr(0) == "dot": operation = "dot" echo "Calculating the dot product:" @@ -11,9 +10,16 @@ elif paramStr(0).endsWith("/cross") or paramStr(0) == "cross": echo "Calculating the cross product:" else: echo "Would you like to preform the dot or cross product?" - operation = readLine(stdin) + operation = toLowerAscii(readLine(stdin)) + case operation: + of "dot": + operation = "dot" + of "cross": + operation = "cross" + else: + quit "Invalid matrix operation!", QuitFailure -# record first matrix +#? record first matrix echo "Enter number of rows in the first matrix:" let r1: int = parseInt(readLine(stdin)) echo "Enter number of columns in the first matrix:" @@ -23,7 +29,7 @@ procedures.fillMatrix(m1, r1, c1) echo "" -# record second matrix +#? record second matrix echo "Enter number of rows in the second matrix:" let r2: int = parseInt(readLine(stdin)) echo "Enter number of columns in the second matrix:" @@ -31,12 +37,12 @@ let c2: int = parseInt(readLine(stdin)) var m2 = newSeqWith(r2, newSeq[float](c2)) procedures.fillMatrix(m2, r2, c2) -# resultent matrix +#? resultent matrix var m = newSeqWith(0, newSeq[float](0)) case operation: of "dot": - m = dot(m1, m2) # calculate dot product (in procedures) + m = dot(m1, m2) #? calculate dot product (in procedures) of "cross": echo "*do cross product*" # TODO: calculate cross product (in procedures) else: