pvjc26/du5/program.c

92 lines
2.1 KiB
C

#include <stdio.h>
#include <stdlib.h>
#include <stdbool.h>
#include <string.h>
#define SIZE 128
int main()
{
char line[SIZE];
char option1[SIZE];
char option2[SIZE];
char question[SIZE];
char question2[SIZE];
char answer = '0';
char answer2 = '0'; //'0' = ako keby 'NULL'/ absencia hodnoty
bool isFirstQuestionRead = false;
bool isFirstOptionLoaded = false;
bool err = false;
option1[0] = '\0';
option2[0] = '\0';
question[0] = '\0';
question2[0] = '\0';
line[0] = '\0';
while (fgets(line, SIZE, stdin) != NULL)
{
if (line[0] == '*')
{
//precita a ulozi odpoved na zaklade kontrolnej premeny
if (!isFirstOptionLoaded)
{
sscanf(line, "%s [^\n]", &option1);
isFirstOptionLoaded = true;
}
else
{
sscanf(line, "%s [^\n]", &option2);
}
}
else if (line[1] == '\n')
{
if (answer == '0')
{
answer = line[0];
}
else
{
answer2 = line[0];
}
}
else if (!isFirstQuestionRead)
{
sscanf(line, "%127[^\n]]", question);
isFirstQuestionRead = true;
// strcat(question, "?");
}
else
{
sscanf(line, "%127[^\n]]", question2);
}
}
if (answer == '0') { err = true; }
printf("Expert z bufetu to vie.\n");
printf("Pozna 2 druhov ovocia a zeleniny.\n");
printf("Odpovedajte 'a' pre prvu moznost alebo 'n' pre druhu moznost.\n");
printf("%s\n", question);
if (answer == 'a')
{
printf("%s\n", option1);
}
else if (answer == 'n')
{
printf("%s\n", option2);
}
else if (answer == '0')
{
printf("Koniec vstupu\n");
}
else //v pripade, ze nespravny vstup bol zadany uzivatelom
{
printf("Nerozumiem\n");
err = true;
}
if (!err) { printf("Koniec\n"); }
return 0;
}