Изменить 'du3/program.c'
This commit is contained in:
parent
977dc94359
commit
9663d8a086
@ -6,13 +6,15 @@
|
||||
int main() {
|
||||
char* input = (char*) calloc(11, sizeof(char));
|
||||
char numbers[4];
|
||||
int date[3];
|
||||
int date[3] = {0, 0, 0};
|
||||
int counter1 = 0, counter2 = 0;
|
||||
fgets(input, 11, stdin);
|
||||
|
||||
int truth = 0;
|
||||
|
||||
for (int j = 0; fgets(input, 11, stdin) != NULL; j++){
|
||||
for(int i = 0; i < 11; i++){
|
||||
if(!isdigit(input[i]) && input[i] != '.' && input[i] != '\0' && input[i] != '\n'){
|
||||
break;
|
||||
goto LABEL;
|
||||
}
|
||||
|
||||
if(input[i] != '.' && input[i] != '\n' && input[i] != '\0'){
|
||||
@ -21,13 +23,13 @@ int main() {
|
||||
else {
|
||||
date[counter2++] = atoi(numbers);
|
||||
if(counter2 == 1 && (date[0] < 1 || date[0] > 31)){
|
||||
break;
|
||||
goto LABEL;
|
||||
}
|
||||
else if(counter2 == 2 && (date[1] < 1 || date[1] > 12)){
|
||||
break;
|
||||
goto LABEL;
|
||||
}
|
||||
else if(counter2 == 2 && date[0] > 29){
|
||||
break;
|
||||
goto LABEL;
|
||||
}
|
||||
else if (counter2 == 3){
|
||||
date[0] += 7;
|
||||
@ -52,13 +54,19 @@ int main() {
|
||||
date[1]++;
|
||||
}
|
||||
printf("%d.%d.%d\n\n", date[0], date[1], date[2]);
|
||||
return 0;
|
||||
break;
|
||||
}
|
||||
memset(numbers, '\0', 4);
|
||||
counter1 = 0;
|
||||
}
|
||||
}
|
||||
puts("Neplatny datum");
|
||||
memset(input, '\0', 11);
|
||||
date[0] = 0, date[1] = 0, date[2] = 0;
|
||||
counter1 = 0, counter2 = 0;
|
||||
memset(numbers, '\0', 4);
|
||||
}
|
||||
LABEL:
|
||||
if(truth) puts("Neplatny datum");
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
Loading…
Reference in New Issue
Block a user