A1_DU_Attempt2
This commit is contained in:
parent
a5ec60653a
commit
77aab33803
53
a1/program.c
53
a1/program.c
@ -1,6 +1,57 @@
|
|||||||
|
|
||||||
|
#include <stdlib.h>
|
||||||
#include <stdio.h>
|
#include <stdio.h>
|
||||||
|
#include <ctype.h>
|
||||||
|
#include <stdbool.h>
|
||||||
|
|
||||||
|
int GetTypZnaku(int vstup);
|
||||||
|
|
||||||
int main()
|
int main()
|
||||||
{
|
{
|
||||||
return 0;
|
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;
|
||||||
|
}
|
||||||
Loading…
Reference in New Issue
Block a user