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

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

Войти
Регистрация
Восстановить пароль
 
banda
1 / 1 / 0
Регистрация: 06.02.2011
Сообщений: 46
#1

Объясните код пожалуйста - C++

13.12.2012, 23:27. Просмотров 328. Ответов 8
Метки нет (Все метки)

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
 FILE* fp = NULL;
    char* filename = "m:\\2.txt";
 
    if ((fp = fopen(filename,"r")) == NULL)
        cout<<"Unable to open file"<<filename;
    
    
    static char ch;
    static char* digits[] = { "zero", "one", "two" ,"three", "four","five", "six", "seven", "eight", "nine" };
 
  while ((ch = fgetc(fp)) != EOF)
 
        if (isdigit(ch))
            cout<<digits[ch - '0'];
Не понимаю код. особенно вот это
C++
1
[ch - '0']
Разъясните пожалуйста, доходчиво.
0
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
13.12.2012, 23:27
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Объясните код пожалуйста (C++):

объясните пожалуйста код - C++
объясните пожалуйста код, желательно каждую строчку пояснить #include &lt;iostream&gt; #include &lt;string&gt; #include &lt;sstream&gt; #include...

Объясните пожалуйста код - C++
#include&quot;stdafx.h&quot; #include&lt;string.h&gt; #include &lt;iostream&gt; using namespace std; const int MAX = 5; struct polinom ...

Объясните пожалуйста код - C++
#include &lt;iostream&gt; template &lt;typename T&gt; struct NameOf {}; #define DEF_TYPENAME(type) template &lt;&gt; \ struct NameOf&lt;type&gt; {\ ...

объясните, пожалуйста, код - C++
есть программа, но не до конца понятно, что она делает... #include &lt;iostream&gt; #include &lt;vector&gt; #include &lt;string&gt; #include...

Объясните, пожалуйста, код - C++
bool userAgeIs16 = age == 16; if( userAgeIs16 ) { Console.WriteLine(\&quot;В этом возрасте уже можно водить машину!\&quot;); } ...

Объясните, пожалуйста, данный код - C++
Здравствуйте, объясните пожалуйста построчно данный код. Задача: В одномерном массиве исключить все вхождения заданного числа. Массив...

Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Vladimir616
112 / 112 / 3
Регистрация: 05.07.2009
Сообщений: 224
14.12.2012, 00:34 #2
banda, программа последовательно считывает числа из файла и выводит на экран их названия (чисел, в смысле). " ch - '0' " - это разность между числом в ch и нулём, для ch = '0' она будет равна нулю, а для ch = '6' - шести. А в нулевом и шестом элементах массива digits записаны, соответственно, слова "zero" и "six".
0
banda
1 / 1 / 0
Регистрация: 06.02.2011
Сообщений: 46
14.12.2012, 00:45  [ТС] #3
Vladimir616, Тогда почему если убрать '0' программа не работает.
0
Vladimir616
112 / 112 / 3
Регистрация: 05.07.2009
Сообщений: 224
14.12.2012, 00:49 #4
banda, потому, что '0' != 0. '0' - это лишь символ, каждый символ имеет свой код, код '0' = 48, код '6' = 54, соответственно '6' - '0' = 54 - 48 = 6.
1
banda
1 / 1 / 0
Регистрация: 06.02.2011
Сообщений: 46
14.12.2012, 00:58  [ТС] #5
Тоесть если цикл нашел в тексте "7" с кодом = 55, то ему надо как-то указать индекс с seven, и делает он это такой вот логично-интересной зависимостью.
Я не знал что если вычитать переменные char то на выходе будет их код

Я верно говорю?
Не запутался еще больше?
0
Vladimir616
112 / 112 / 3
Регистрация: 05.07.2009
Сообщений: 224
14.12.2012, 01:02 #6
banda, верно говорите .
1
banda
1 / 1 / 0
Регистрация: 06.02.2011
Сообщений: 46
14.12.2012, 01:07  [ТС] #7
Vladimir616, Осталось теперь до конца с указателями разобраться, а то они так мозг выносят. Посоветуете что-нибудь ?)
0
Vladimir616
112 / 112 / 3
Регистрация: 05.07.2009
Сообщений: 224
14.12.2012, 01:11 #8
banda, ничего не могу порекомендовать, такую штуку, как указатели, лучше осваивать на практике, пару программ напишете - понимание придёт, ничего там особого нет
1
banda
1 / 1 / 0
Регистрация: 06.02.2011
Сообщений: 46
14.12.2012, 01:13  [ТС] #9
Большое спасибо)
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
14.12.2012, 01:13
Привет! Вот еще темы с ответами:

Класс Вектор. объясните пожалуйста код! - C++
#include &lt;iostream&gt; #include &lt;cmath&gt; #include &lt;cstdlib&gt; using namespace std; class TVector { private: double...

Объясните код, пожалуйста, файловый поток - C++
#include &lt;iostream&gt; #include &lt;fstream&gt; #include &lt;string&gt; using namespace std; void main() { setlocale(LC_ALL, &quot;&quot;); ...

Объясните пожалуйста, как работает код. Указатели - C++
Если не сложно, напишите пожалуйста комметнтарии к каждой строке. Никак не могу разобраться. Программа разделяет строку на слова. ...

Объясните пожалуйста, как конкретно работает код - C++
Программа считывает из файла фамилии, имена, годы рождения и балы студентов, и записывает в другой файл фамилии, начинающейся с букв А и Б...


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

Или воспользуйтесь поиском по форуму:
Yandex
Объявления
14.12.2012, 01:13
Ответ Создать тему
Опции темы

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