diff --git a/quadratic.c b/quadratic.c index 95c3cda..79c0146 100644 --- a/quadratic.c +++ b/quadratic.c @@ -9,46 +9,34 @@ int main(int num_arg, char **args) if (num_arg <= 1) { - - system("clear"); - printf("\n ~~ Quadratic Calculator ~~\n"); - printf(" ̲ ̲ ̲ ̲ ̲ ̲\n"); - printf(" ̲-̲b̲±̲√̲b̲̲²̲̲-̲4̲a̲c̲\n"); - printf(" 2a\n\n"); - - printf("Please enter the value for \"a\":\n"); - scanf("%lf", &num_A); - printf("Please enter the value for \"b\":\n"); - scanf("%lf", &num_B); - printf("Please enter the value for \"c\":\n"); - scanf("%lf", &num_C); - printf("\n"); + system("/bin/sh ./tui.sh"); } else { num_A = atof(args[1]); num_B = atof(args[2]); num_C = atof(args[3]); - }; - double radical = pow(num_B, 2) + (-4 * num_A * num_C); - if (radical < 0.0) - { - // roots are complex - double real_part = (-num_B) / (2 * num_A); - double imaginary_part = sqrt(radical * -1.0) / (2 * num_A); + double radical = pow(num_B, 2) + (-4 * num_A * num_C); - printf("%f+%fi %f-%fi\n", real_part, imaginary_part, real_part, imaginary_part); - } - else - { - // roots are real - double numerator_1 = (-num_B) + sqrt(radical); - double numerator_2 = (-num_B) - sqrt(radical); - double zero_1_ptr = numerator_1 / (2 * num_A); - double zero_2_ptr = numerator_2 / (2 * num_A); + if (radical < 0.0) + { + // roots are complex + double real_part = (-num_B) / (2 * num_A); + double imaginary_part = sqrt(radical * -1.0) / (2 * num_A); - printf("%f %f\n", zero_1_ptr, zero_2_ptr); + printf("%f+%fi %f-%fi\n", real_part, imaginary_part, real_part, imaginary_part); + } + else + { + // roots are real + double numerator_1 = (-num_B) + sqrt(radical); + double numerator_2 = (-num_B) - sqrt(radical); + double zero_1_ptr = numerator_1 / (2 * num_A); + double zero_2_ptr = numerator_2 / (2 * num_A); + + printf("%f %f\n", zero_1_ptr, zero_2_ptr); + }; }; return 0; }; diff --git a/tui.sh b/tui.sh new file mode 100755 index 0000000..227c0fb --- /dev/null +++ b/tui.sh @@ -0,0 +1,34 @@ +#!/bin/sh +ARG_A=$(whiptail --inputbox "Please enter the value for \"a\":" 10 50 --title "Quadratic Calculator" 3>&1 1>&2 2>&3) + +exitstatus=$? +if [ $exitstatus = 0 ]; then +echo "a =" $ARG_A +else +echo "User canceled input." +exit +fi + +ARG_B=$(whiptail --inputbox "Please enter the value for \"b\":" 10 50 --title "Quadratic Calculator" 3>&1 1>&2 2>&3) + +exitstatus=$? +if [ $exitstatus = 0 ]; then +echo "b =" $ARG_B +else +echo "User canceled input." +exit +fi + +ARG_C=$(whiptail --inputbox "Please enter the value for \"c\":" 10 50 --title "Quadratic Calculator" 3>&1 1>&2 2>&3) + +exitstatus=$? +if [ $exitstatus = 0 ]; then +echo "c =" $ARG_C +else +echo "User canceled input." +exit +fi + +echo + +./quadratic $ARG_A $ARG_B $ARG_C \ No newline at end of file