Компьютерный форум OSzone.net  

Компьютерный форум OSzone.net (http://forum.oszone.net/index.php)
-   Программирование и базы данных (http://forum.oszone.net/forumdisplay.php?f=21)
-   -   Прошу прокомментировать (http://forum.oszone.net/showthread.php?t=199710)

Чин Хон 17-02-2011 09:47 1615089

Прошу прокомментировать
 
Код:

#include <stdio.h>
#include <conio.h>
void main()
{
        unsigned char st[80];  // строка текста
        int i;                // номер обрабатываемого символа

        printf("\nVvedite stroku teksta i najmite <Enter>");
        printf("->");
        gets(st);
        i = 0;
        while ( st[i] )
        {
          if ((st[i] >= 'a' && st[i] <= 'z') ||
          (st[i] >= 'а' && st[i] <= 'п'))
                st[i] -= 32;
          else if (st[i] >= 'р' && st[i] <= 'я')
                st[i] -= 80;
          i++;
        }
        printf("\n%s\n", st);

        printf("\nDlya zaversheniya najmite <Enter>");
        getch();
}
Мне не понятно с "while" до "printf("\n%s\n", st)".

Кто-нибудь объясните пожалуйста

Чин Хон 17-02-2011 09:59 1615100

Преобразование прописных букв в строчные только латинского алфавита! Там у меня есть русские буквы, но прога почему-то работает

Busla 17-02-2011 13:14 1615266

Почему же только латинских, если "чёрным по русскому" указаны диапазоны кириллических символов?!

Чин Хон 17-02-2011 14:35 1615358

где это указано?О.о

Beyound 17-02-2011 17:35 1615504

(st[i] >= 'a' && st[i] <= 'z') ||
(st[i] >= 'а' && st[i] <= 'п')
if (st[i] >= 'р' && st[i] <= 'я')

вот в этих строках все указано. любая буква - это всеголишь номер в аски коде и с ним можно делать теже операции что и с числом int, другое дело что диапазон сильно укорочен, смотри таблицу аски кодов


Время: 21:03.

Время: 21:03.
© OSzone.net 2001-