Форум программистов, компьютерный форум CyberForum.ru

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
zaqwerty
1 / 1 / 1
Регистрация: 14.12.2013
Сообщений: 113
#1

Описание функции toascii - C++

18.03.2014, 17:12. Просмотров 488. Ответов 5
Метки нет (Все метки)

Здравствуйте. У меня имеются вопросы по следующему фрагменту программы:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
while((m=fgetc(fin))!=EOF)
          {m=toascii(m);
         if((m>=65) && (m<=90)) k[m]++;  
         if((m>=192) && (m<=223)) k[m]++;
         if(m==168) k[m]++;
          }      
        for(i=0;i<N;i++)
                if(k[i]!=0)  
                fprintf(flip,"%c       -      %d \n",i,k[i]); 
        fprintf(flip,"______\n");
        fprintf(flip,"*");
          fclose(fin);
           fclose(flip);
          fin=fopen("input.txt","r");
        
          flip=fopen("half.txt","a");      
          while((m=fgetc(fin))!=EOF)
          {
          //кодирование
           m++;  
               fputc(m,flip);
          }         
        printf("данные записаны в half.txt");
        fclose(fin);
        fclose(flip);
 
        getch();
        };
А именно меня интересует следующее:
C++
1
2
3
4
5
{m=toascii(m);
         if((m>=65) && (m<=90)) k[m]++;  
         if((m>=192) && (m<=223)) k[m]++;
         if(m==168) k[m]++;
          }
Я понимаю, что функция toascii кодирует символы согласно ASCII, но почему в условии должны стоять именно (m>=65) && (m<=90)? И все остальные цифры в условии... Почему они должны быть именно такими? Я пробовал их изменять. В итоге программа неправильно подсчитывает количество букв, да и вообще буквы не определяет. Запутался именно на этом.
Очень надеюсь на вашу помощь
Лучшие ответы (1)
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
18.03.2014, 17:12     Описание функции toascii
Посмотрите здесь:

C++ Функции , описание к действием.
описание функции C++
C++ Описание функции
C++ Описание функции ltoa
Описание функции ungetch() C++
Описание функции C++
описание функции C++
Поместить описание функции в программу C++
Описание функции C++
C++ Описание функции getopt
C++ Описание функции istringstream
Компилятор не видит описание функции C++

Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Borjch
10 / 10 / 3
Регистрация: 09.01.2014
Сообщений: 29
18.03.2014, 17:20     Описание функции toascii #2
65-90 коды букв английского алфавита в верхнем регистре, 192-223 русского. То есть, здесь вы проверяете, является ли символ с кодом m большой буквой.
jurok_85
238 / 221 / 76
Регистрация: 21.02.2013
Сообщений: 515
Завершенные тесты: 1
18.03.2014, 17:21     Описание функции toascii #3
ну с 65 до 90 это английский алфавит заглавными буквами
Tulosba
:)
Эксперт С++
4387 / 3230 / 297
Регистрация: 19.02.2013
Сообщений: 9,044
18.03.2014, 17:29     Описание функции toascii #4
Сообщение было отмечено автором темы, экспертом или модератором как ответ
zaqwerty, раз уж Вы про ASCII упоминаете, так и посмотрите, что же это такое хотя бы.
http://ru.wikipedia.org/wiki/ASCII
65-90 коды прописных латинских букв от A до Z.

Добавлено через 7 минут
Вообще, конечно, интересно в какой ситуации удастся получить из toascii() значение, превышающее 127.
zaqwerty
1 / 1 / 1
Регистрация: 14.12.2013
Сообщений: 113
19.03.2014, 05:20  [ТС]     Описание функции toascii #5
Tulosba, jurok_85, Borjch, спасибо большое! Можете так же подсказать, что делает эта часть программы?
C++
1
2
3
4
while((m=fgetc(f1))!=EOF)
{m++;
fputc(m, f2);
}
alsav22
5413 / 4809 / 442
Регистрация: 04.06.2011
Сообщений: 13,587
19.03.2014, 05:40     Описание функции toascii #6
Цитата Сообщение от zaqwerty Посмотреть сообщение
что делает эта часть программы?
Читает из файла f1 символы (пока не EOF), увеличивает код каждого символа на единицу, записывает этот символ в f2 файл.
Yandex
Объявления
19.03.2014, 05:40     Описание функции toascii
Ответ Создать тему
Опции темы

Текущее время: 04:03. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru