PDA

Просмотр полной версии : [Вопрос] Удаление символов с текста.



Сергей
17.08.2019, 01:03
Доброго времени суток.
Вообщем тема очень странная, реализовал удаление символов и т.д



new i = strlen(inputtext);
while(--i != -1)
{
switch(inputtext[i])
{
case ' ':
{
strdel(inputtext, i, i+1);
continue;
}
}
}

НО, бажок в том, если игрок допустим введёт 5 пробелов выдаст текст(образно говоря выдаст пароль): "";
Так вот я хочу добиться того, если даже удалит все символы с текста, чтобы не дальше продолжал выполняться код, а выдало ошибку о том что не введён текст.

m1n1vv
17.08.2019, 02:35
new
i,
s;

while ((s = inputtext[i++]) != '\0')
{
switch (s)
{
case ' ':
{
strdel(inputtext, i, i+1);
}
}
}

DeimoS
17.08.2019, 02:41
new
i,
s;

while ((s = inputtext[i++]) != '\0')
{
switch (s)
{
case ' ':
{
strdel(inputtext, i, i+1);
}
}
}

Автор просит не просто оптимизацию, а что-то подобное, как я понимаю :)


new
i,
s,
count;

while ((s = inputtext[i++]) != '\0')
{
switch (s)
{
case ' ':
{
strdel(inputtext, i, i+1);
}
default:
{
count++;
}
}
}
if(!count)
{
//"ошибка о том, что не введён текст"
return 1;
}

Сергей
17.08.2019, 17:58
Автор просит не просто оптимизацию, а что-то подобное, как я понимаю :)


new
i,
s,
count;

while ((s = inputtext[i++]) != '\0')
{
switch (s)
{
case ' ':
{
strdel(inputtext, i, i+1);
}
default:
{
count++;
}
}
}
if(!count)
{
//"ошибка о том, что не введён текст"
return 1;
}

Вот, спасибо. закрываем тему.

- - - Добавлено - - -



new
i,
s;

while ((s = inputtext[i++]) != '\0')
{
switch (s)
{
case ' ':
{
strdel(inputtext, i, i+1);
}
}
}

И вашу оптимизацию взял, благодарю)