From bdb05a5943ce75a2ded5f4dbfa16d5e3de29093c Mon Sep 17 00:00:00 2001 From: pankunull Date: Sat, 23 Aug 2025 03:10:09 +0200 Subject: Added bash script and fixed tree. --- src/bash/isinteger.sh | 9 +++++++++ src/c/ctof | Bin 0 -> 15648 bytes src/c/ctof.c | 44 ++++++++++++++++++++++++++++++++++++++++++++ src/c/dir | Bin 0 -> 15624 bytes src/c/dir.c | 17 +++++++++++++++++ src/c/main | Bin 0 -> 15552 bytes src/c/main.c | 25 +++++++++++++++++++++++++ src/c/main2 | Bin 0 -> 15416 bytes src/c/main2.c | 6 ++++++ src/c/shift | Bin 0 -> 15672 bytes src/c/shift.c | 32 ++++++++++++++++++++++++++++++++ src/ctof | Bin 15648 -> 0 bytes src/ctof.c | 44 -------------------------------------------- src/dir | Bin 15624 -> 0 bytes src/dir.c | 17 ----------------- src/main | Bin 15552 -> 0 bytes src/main.c | 25 ------------------------- src/main2 | Bin 15416 -> 0 bytes src/main2.c | 6 ------ src/shift | Bin 15672 -> 0 bytes src/shift.c | 32 -------------------------------- 21 files changed, 133 insertions(+), 124 deletions(-) create mode 100755 src/bash/isinteger.sh create mode 100755 src/c/ctof create mode 100644 src/c/ctof.c create mode 100755 src/c/dir create mode 100644 src/c/dir.c create mode 100755 src/c/main create mode 100644 src/c/main.c create mode 100755 src/c/main2 create mode 100644 src/c/main2.c create mode 100755 src/c/shift create mode 100644 src/c/shift.c delete mode 100755 src/ctof delete mode 100644 src/ctof.c delete mode 100755 src/dir delete mode 100644 src/dir.c delete mode 100755 src/main delete mode 100644 src/main.c delete mode 100755 src/main2 delete mode 100644 src/main2.c delete mode 100755 src/shift delete mode 100644 src/shift.c diff --git a/src/bash/isinteger.sh b/src/bash/isinteger.sh new file mode 100755 index 0000000..deb2c74 --- /dev/null +++ b/src/bash/isinteger.sh @@ -0,0 +1,9 @@ +#!/bin/sh + +number="$1" + +if [ "$number" -eq "$number" ] 2>/dev/null; then + printf "'%s' valid integer.\n" "$number" +else + printf "'%s' not valid integer.\n" "$number" +fi diff --git a/src/c/ctof b/src/c/ctof new file mode 100755 index 0000000..7a47ff7 Binary files /dev/null and b/src/c/ctof differ diff --git a/src/c/ctof.c b/src/c/ctof.c new file mode 100644 index 0000000..e61cfcd --- /dev/null +++ b/src/c/ctof.c @@ -0,0 +1,44 @@ +#include +#include +#include // for errno +#include // for INT_MAX, INT_MIN + + +/* + F = C x 9/5 + 32 +*/ + +int +main(int argc, char *argv[]) +{ + + if (argc < 2) { + printf("Usage: %s number\n", argv[0]); + return 1; + } + + char *endptr; + + errno = 0; // reset errno + + long value = strtol(argv[1], &endptr, 10); // base 10 + + if (endptr == argv[1]) { + printf("Error: No digits were found\n"); + return 1; + } + if (*endptr != '\0') { + printf("Warning: Trailing characters after number: %s\n", endptr); + return 1; + } + if ((value == LONG_MAX || value == LONG_MIN) && errno == ERANGE) { + printf("Error: Number out of range\n"); + return 1; + } + + float fah = value * 9/5 + 32; + + printf("Fahrenheit: %0.f\n", fah); + + return 0; +} diff --git a/src/c/dir b/src/c/dir new file mode 100755 index 0000000..7757a29 Binary files /dev/null and b/src/c/dir differ diff --git a/src/c/dir.c b/src/c/dir.c new file mode 100644 index 0000000..05803fd --- /dev/null +++ b/src/c/dir.c @@ -0,0 +1,17 @@ +#include +#include + +int main() { + DIR *d; + struct dirent *dir; + d = opendir("."); + if (d) { + while ((dir = readdir(d)) != NULL) { + printf("%s\n", dir->d_name); + } + closedir(d); + } else { + perror("opendir"); + } + return 0; +} diff --git a/src/c/main b/src/c/main new file mode 100755 index 0000000..37336e8 Binary files /dev/null and b/src/c/main differ diff --git a/src/c/main.c b/src/c/main.c new file mode 100644 index 0000000..30d5c61 --- /dev/null +++ b/src/c/main.c @@ -0,0 +1,25 @@ +#include + +// Function that tries to change a number without pointer +void noPointerChange(int num) { + num = 100; // Changes local copy only +} + +// Function that changes a number using pointer +void pointerChange(int *numPtr) { + *numPtr = 100; // Changes original value through pointer +} + +int main() { + int value = 50; + + printf("Before noPointerChange: %d\n", value); + noPointerChange(value); + printf("After noPointerChange: %d\n", value); // value unchanged + + printf("Before pointerChange: %d\n", value); + pointerChange(&value); + printf("After pointerChange: %d\n", value); // value changed + + return 0; +} diff --git a/src/c/main2 b/src/c/main2 new file mode 100755 index 0000000..c35260e Binary files /dev/null and b/src/c/main2 differ diff --git a/src/c/main2.c b/src/c/main2.c new file mode 100644 index 0000000..c63efdb --- /dev/null +++ b/src/c/main2.c @@ -0,0 +1,6 @@ +#include + +main() +{ + printf("Hello C\n"); +} diff --git a/src/c/shift b/src/c/shift new file mode 100755 index 0000000..6429b03 Binary files /dev/null and b/src/c/shift differ diff --git a/src/c/shift.c b/src/c/shift.c new file mode 100644 index 0000000..c65b815 --- /dev/null +++ b/src/c/shift.c @@ -0,0 +1,32 @@ +#include + +void print_binary(unsigned char value) { + for (int i = 7; i >= 0; i--) { + printf("%d", (value >> i) & 1); + } + printf("\n"); +} + +int main() { + unsigned char value = 0; // start with all bits off + int bit; + + printf("Starting value: "); + print_binary(value); + + while (1) { + printf("Enter bit to toggle (0-7), or -1 to quit: "); + if (scanf("%d", &bit) != 1) break; + if (bit == -1) break; + if (bit < 0 || bit > 7) { + printf("Invalid bit.\n"); + continue; + } + + value ^= (1 << bit); // toggle the chosen bit + printf("Current value: "); + print_binary(value); + } + + return 0; +} diff --git a/src/ctof b/src/ctof deleted file mode 100755 index 7a47ff7..0000000 Binary files a/src/ctof and /dev/null differ diff --git a/src/ctof.c b/src/ctof.c deleted file mode 100644 index e61cfcd..0000000 --- a/src/ctof.c +++ /dev/null @@ -1,44 +0,0 @@ -#include -#include -#include // for errno -#include // for INT_MAX, INT_MIN - - -/* - F = C x 9/5 + 32 -*/ - -int -main(int argc, char *argv[]) -{ - - if (argc < 2) { - printf("Usage: %s number\n", argv[0]); - return 1; - } - - char *endptr; - - errno = 0; // reset errno - - long value = strtol(argv[1], &endptr, 10); // base 10 - - if (endptr == argv[1]) { - printf("Error: No digits were found\n"); - return 1; - } - if (*endptr != '\0') { - printf("Warning: Trailing characters after number: %s\n", endptr); - return 1; - } - if ((value == LONG_MAX || value == LONG_MIN) && errno == ERANGE) { - printf("Error: Number out of range\n"); - return 1; - } - - float fah = value * 9/5 + 32; - - printf("Fahrenheit: %0.f\n", fah); - - return 0; -} diff --git a/src/dir b/src/dir deleted file mode 100755 index 7757a29..0000000 Binary files a/src/dir and /dev/null differ diff --git a/src/dir.c b/src/dir.c deleted file mode 100644 index 05803fd..0000000 --- a/src/dir.c +++ /dev/null @@ -1,17 +0,0 @@ -#include -#include - -int main() { - DIR *d; - struct dirent *dir; - d = opendir("."); - if (d) { - while ((dir = readdir(d)) != NULL) { - printf("%s\n", dir->d_name); - } - closedir(d); - } else { - perror("opendir"); - } - return 0; -} diff --git a/src/main b/src/main deleted file mode 100755 index 37336e8..0000000 Binary files a/src/main and /dev/null differ diff --git a/src/main.c b/src/main.c deleted file mode 100644 index 30d5c61..0000000 --- a/src/main.c +++ /dev/null @@ -1,25 +0,0 @@ -#include - -// Function that tries to change a number without pointer -void noPointerChange(int num) { - num = 100; // Changes local copy only -} - -// Function that changes a number using pointer -void pointerChange(int *numPtr) { - *numPtr = 100; // Changes original value through pointer -} - -int main() { - int value = 50; - - printf("Before noPointerChange: %d\n", value); - noPointerChange(value); - printf("After noPointerChange: %d\n", value); // value unchanged - - printf("Before pointerChange: %d\n", value); - pointerChange(&value); - printf("After pointerChange: %d\n", value); // value changed - - return 0; -} diff --git a/src/main2 b/src/main2 deleted file mode 100755 index c35260e..0000000 Binary files a/src/main2 and /dev/null differ diff --git a/src/main2.c b/src/main2.c deleted file mode 100644 index c63efdb..0000000 --- a/src/main2.c +++ /dev/null @@ -1,6 +0,0 @@ -#include - -main() -{ - printf("Hello C\n"); -} diff --git a/src/shift b/src/shift deleted file mode 100755 index 6429b03..0000000 Binary files a/src/shift and /dev/null differ diff --git a/src/shift.c b/src/shift.c deleted file mode 100644 index c65b815..0000000 --- a/src/shift.c +++ /dev/null @@ -1,32 +0,0 @@ -#include - -void print_binary(unsigned char value) { - for (int i = 7; i >= 0; i--) { - printf("%d", (value >> i) & 1); - } - printf("\n"); -} - -int main() { - unsigned char value = 0; // start with all bits off - int bit; - - printf("Starting value: "); - print_binary(value); - - while (1) { - printf("Enter bit to toggle (0-7), or -1 to quit: "); - if (scanf("%d", &bit) != 1) break; - if (bit == -1) break; - if (bit < 0 || bit > 7) { - printf("Invalid bit.\n"); - continue; - } - - value ^= (1 << bit); // toggle the chosen bit - printf("Current value: "); - print_binary(value); - } - - return 0; -} -- cgit v1.2.3