From a5ec60653a195f2e75b1c0cf54cb7025d14a5d9c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Tom=C3=A1=C5=A1=20Vl=C4=8Dek?= Date: Thu, 19 Feb 2026 18:12:48 +0100 Subject: [PATCH] A1_DU --- du1/program.c | 57 +++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 57 insertions(+) create mode 100644 du1/program.c diff --git a/du1/program.c b/du1/program.c new file mode 100644 index 0000000..0ae1e8d --- /dev/null +++ b/du1/program.c @@ -0,0 +1,57 @@ + +#include +#include +#include +#include + +int GetTypZnaku(int vstup); + +int main() +{ + int vstup = 0; + int pocetRiadkov = 0; + while (1) + { + //helper lok. premeny + bool mozeBytPrinted = false; + int vysChar = 0; + + //scanning faza programu + vstup = getchar(); + + if (vstup == -1) { break;} //ak EOF (End Of File), resp. koniec suboru + if (vstup == '\n') // ak NewLine char, resp. koniec riadku + { + pocetRiadkov += 1; + mozeBytPrinted = false; + } + + //ak vstup == malemu pismenu + if (GetTypZnaku(vstup) == 0) + { + vysChar = toupper(vstup); + } + //ak vstup == velke pismeno + else if (GetTypZnaku(vstup) == 1) + { + vysChar = tolower(vstup); + } + //ak NIE je to pismeno (a zaroven NIE koniec riadku - resp. NewLine character) + else if (GetTypZnaku(vstup) == 2 && vstup != '\n') + { + mozeBytPrinted = false; + } + + //output charakteru (ak je teda charakter...) + if (mozeBytPrinted) { putchar(vysChar);} + } + printf("%d", pocetRiadkov); + return 0; +} +int GetTypZnaku(int vstup) +{ + if (islower(vstup) != 0) { return 0;} + if (isupper(vstup) != 0) { return 1;} + if (isalpha(vstup) == 0) { return 2;} + return -1; +} \ No newline at end of file