From 9e61779768ac9e14de43a63f15498dafd6844fec Mon Sep 17 00:00:00 2001 From: Lily Date: Sat, 24 May 2025 12:04:12 +1000 Subject: [PATCH] Add invalid character checking --- bin/agg | Bin 0 -> 8592 bytes obj/agg.o | Bin 0 -> 7168 bytes src/agg.c | 48 ++++++++++++++++++++++++++++++++++++++++-------- 3 files changed, 40 insertions(+), 8 deletions(-) create mode 100755 bin/agg create mode 100644 obj/agg.o diff --git a/bin/agg b/bin/agg new file mode 100755 index 0000000000000000000000000000000000000000..623c2c8d5658c4d5bf3534a8f34fa801c59b3711 GIT binary patch literal 8592 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 MO8jY+LKQ3i8^svHYybcN literal 0 HcmV?d00001 diff --git a/obj/agg.o b/obj/agg.o new file mode 100644 index 0000000000000000000000000000000000000000..de67509aa0deb713cef4e64517f0413cefb20f15 GIT binary patch literal 7168 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 aB*A(=h4p?4>lvC1%l#Bq`)M*``~L?ML-))8 literal 0 HcmV?d00001 diff --git a/src/agg.c b/src/agg.c index c095d7e..c81ccd0 100644 --- a/src/agg.c +++ b/src/agg.c @@ -3,6 +3,7 @@ #include #include #include +#include int main(void) { srand(time(NULL)); printf ("Hello World!\nThis is a game written for AgnoxGD.\nWould you like to see a tutorial\nType 1 for no, or 0 for yes.\n"); @@ -28,10 +29,6 @@ int main(void) { int end_time = unix_time + playtime; int score = 0; -// int qa; -// int tl; -// int st; -// I can't remember what the fuck these are for while (unix_time < end_time) { float num1 = rand() % number_length + 1; @@ -39,6 +36,7 @@ int main(void) { int type = rand() % 4 + 1; float result; float answer; + char entered[20]; // DEBUG //printf("%g, %g and %d\n", num1, num2, type); @@ -46,25 +44,59 @@ int main(void) { if (type == 1) { printf ("Add %g and %g\n", num1, num2); result = num1 + num2; - scanf ("%g", &answer); unix_time = time(NULL); } else if (type == 2) { printf ("Divide %g by %g\n", num1, num2); result = num1 / num2; - scanf ("%g", &answer); unix_time = time(NULL); } else if (type == 3) { printf ("Subtract %g from %g\n", num2, num1); result = num1 - num2; - scanf ("%g", &answer); unix_time = time(NULL); } else if (type == 4) { printf ("Multiply %g by %g\n", num1, num2); result = num1 * num2; - scanf ("%g", &answer); unix_time = time(NULL); } + scanf ("%s", entered); + int valid = 1; + for (int i = 0; i < strlen(entered); i++) { + switch (entered [i]) { + case '0': + break; + case '1': + break; + case '2': + break; + case '3': + break; + case '4': + break; + case '5': + break; + case '6': + break; + case '7': + break; + case '8': + break; + case '9': + break; + case '.': + break; + default: + valid = 0; + } + } + + if (valid == 1) { + sscanf (entered, "%g", &answer); + } else { + printf ("Error! An invalid character was entered.\n"); + exit (1); + } + if (result == answer) { printf ("Correct!\n"); score++;