diff --git a/CMakeLists.txt b/CMakeLists.txt index 409c998..b17af59 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -15,6 +15,12 @@ add_executable(skola calc.c main_rovnice.h kruh.h calc.h - znak.c) + znak.c + lepsiznak.c + lepsiznak.h + bomba.c + bomba.h + do_while_znak.c + do_while_znak.h) target_link_libraries(skola m) diff --git a/bomba.c b/bomba.c new file mode 100644 index 0000000..67d861c --- /dev/null +++ b/bomba.c @@ -0,0 +1,23 @@ +// +// Created by bruno on 12/11/23. +// + +#include "bomba.h" +#include "stdio.h" +#include "unistd.h" + +int dake_cislo(){ + int a; + + printf("Zadaj číslo:"); + scanf("%d", &a); + + do{ + printf("%d\n", a); + usleep(1000000); + a--; + + } while (a >= 0); + printf("\nAdlerka vybuchla (BOOOOOOOOOOM).\n"); + +} \ No newline at end of file diff --git a/bomba.h b/bomba.h new file mode 100644 index 0000000..aa24586 --- /dev/null +++ b/bomba.h @@ -0,0 +1,6 @@ +// +// Created by bruno on 12/11/23. +// + + +int dake_cislo(); \ No newline at end of file diff --git a/calc.c b/calc.c index 92c4a14..ef88f72 100644 --- a/calc.c +++ b/calc.c @@ -2,38 +2,43 @@ #include "math.h" #include "calc.h" int calc(){ - double a = 0; - double b = 0; - char operacia = 0; - double vysledok = 0; - printf("Zadaj prvé číslo:\n"); - scanf("%lf", &a); - printf("Zadaj druhé číslo:\n"); - scanf("%lf", &b); - printf("Zadaj operáciu(+ - * /):\n"); - scanf(" %c", &operacia); - vysledok = a; - switch (operacia) { - case '+': - vysledok += b; - break; + char pokracovat = 'a'; + while (pokracovat == 'a') { + double a = 0; + double b = 0; + char operacia = 0; + double vysledok = 0; + printf("Zadaj prvé číslo:\n"); + scanf("%lf", &a); + printf("Zadaj druhé číslo:\n"); + scanf("%lf", &b); + printf("Zadaj operáciu(+ - * /):\n"); + scanf(" %c", &operacia); + vysledok = a; + switch (operacia) { + case '+': + vysledok += b; + break; - case '-': - vysledok -= b; - break; + case '-': + vysledok -= b; + break; - case '*': - vysledok *= b; - break; + case '*': + vysledok *= b; + break; - case '/': - vysledok /= b; - break; + case '/': + vysledok /= b; + break; - default: - printf("Nesprávna operácia.\n"); - return 1; + default: + printf("Nesprávna operácia.\nPrajete si pokračovať(a/n)?\n"); + scanf("%s", &pokracovat); + } + printf("Vysledok %f %c %f je: %f.\nPrajete si pokračovať(a/n)?\n", a, operacia, b, vysledok); + scanf("%s", &pokracovat); } - printf("Vysledok %f %c %f je: %f\nKalkulačka skončila úspešne.\n", a, operacia, b, vysledok); return 0; + } \ No newline at end of file diff --git a/do_while_znak.c b/do_while_znak.c new file mode 100644 index 0000000..603b42b --- /dev/null +++ b/do_while_znak.c @@ -0,0 +1,21 @@ +// +// Created by bruno on 12/11/23. +// + +#include "do_while_znak.h" +#include "stdio.h" + + +int do_while_znak(){ + int c; + int pocet = 0; + const int koniec = 'k'; + + do { + c = getchar(); + putchar(c); + pocet++; + } while (c != koniec); + printf("\nVydržal si %d znakov pred tým, ako si napísal %c (vrátane) .\n", pocet, koniec); + return 0; +} \ No newline at end of file diff --git a/do_while_znak.h b/do_while_znak.h new file mode 100644 index 0000000..6c82103 --- /dev/null +++ b/do_while_znak.h @@ -0,0 +1,5 @@ +// +// Created by bruno on 12/11/23. +// + +int do_while_znak(); \ No newline at end of file diff --git a/lepsiznak.c b/lepsiznak.c new file mode 100644 index 0000000..dd2320e --- /dev/null +++ b/lepsiznak.c @@ -0,0 +1,31 @@ +// +// Created by bruno on 12/11/23. +// + +#include "lepsiznak.h" +#include "stdio.h" + +void invertcase(int *c){ + if (*c >= 'a' && *c <= 'z'){ + *c -= 0x20; + } + else if (*c >= 'A' && *c <= 'Z'){ + *c += 0x20; + } +} + +int lepsiznak(){ + + int c; + int pocet = 0; + const int koniec = 'k'; + + while ( (c = getchar()) != koniec){ + invertcase(&c); + putchar(c); + pocet++; + } + printf("\nVydržal si %d znakov pred tým, ako si napísal %c.\n", pocet, koniec); + return 0; + +} diff --git a/lepsiznak.h b/lepsiznak.h new file mode 100644 index 0000000..34e7804 --- /dev/null +++ b/lepsiznak.h @@ -0,0 +1,7 @@ +// +// Created by bruno on 12/11/23. +// + +int lepsiznak(); + +void invertcase(int *c); diff --git a/main.c b/main.c index 5f850c6..ffac919 100644 --- a/main.c +++ b/main.c @@ -1,5 +1,5 @@ -#include "znak.h" +#include "calc.h" int main(){ - return znak(); + return calc(); } \ No newline at end of file diff --git a/znak.c b/znak.c index 5115363..b4a7cf7 100644 --- a/znak.c +++ b/znak.c @@ -1,5 +1,7 @@ #include "stdio.h" + int znak(){ + char in; printf("Zadaj znak:"); scanf("%c", &in);