У меня есть функция, которая должна читать ввод в форме [номер, номер] или [номер, номер], и мне нужно сделать условия для плохого ввода. Вход должен заканчиваться EOF. Это то, что я получил теперь как цикл для ввода с условиями. Проблема состоит в том, что он пишет плохой ввод, например, для [1,2] [3,4]] 5,4, но не для [1,2] [3,4] [5. Когда третья координата «незавершенна», она не будет записывать плохой ввод, она будет работать для первых двух координат. Также должно быть условие для записи плохого ввода, когда вводятся менее 2 координат.Плохие условия ввода для [числа, числа] формы ввода в C
int a,b;
char par1, comma, par2;
printf("Your input here:\n");
while(scanf("%c %lf %c %lf %c", &par1, &a, &comma, &b, &par2)!=EOF)
{
if((par1!='[') || (comma!=',') || (par2!=']')) {printf("Bad input.\n");
*/ here I insert a and b in arrays */
i++;
}
if(!feof(stdin)) {free(arrayX); free(arrayY); printf("Bad input.\n);}
if(i<2) {printf("Bad input\n");}
Я был бы очень благодарен за любую помощь. Я совершенно новый в программировании, так что простите меня за глупый вопрос.
Спасибо, но вы не знаете, возможно ли это сделать без регулярных выражений? Потому что программа является домашней работой для школы, поэтому я, вероятно, не могу использовать RE. – beranpa8
Я обновил свой ответ. Пожалуйста, смотрите. – MondKin
Это работает. Большое спасибо. – beranpa8